![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Пишу для себя прогу на завод для генерации G-кодов, если ввожу данные целые, то всё работает как нужно, но если ввожу десятичное число, то всё ошибка и не важно через точку или запятую, мне нужно то бы я мог вводить дробные числа через точку что нужно поправить в коде?
Код:
memo1.Text:='';
x1:= strtoint(edit1.text)-strtoint(edit7.text);
x2:= strtoint(edit1.text)+strtoint(edit7.text);
y1:=strtoint(edit2.Text);
z:=strtoint(edit3.Text);
snat:=strtoint(edit8.Text);
byf:=z-snat;
s:='G01'+' X'+inttostr(x2)+'. Y'+inttostr(y1)+'. Z'+inttostr(byf)+'. F'+edit4.Text+'.';
memo1.Lines.Add(s);
z:=byf;
byf:=z-snat;
If (RadioGroup1.ItemIndex=0) or (RadioGroup1.ItemIndex=2) then s2:='G02';
If (RadioGroup1.ItemIndex=1) or (RadioGroup1.ItemIndex=3) then s2:='G03';
s:=s2+' X'+inttostr(x1)+' Z'+inttostr(byf)+'. R'+edit7.Text+'. F'+edit4.Text+'.';
memo1.Lines.Add(s);
z:=byf;
byf:=z-snat;
while z*(-1)<strtoint(edit6.Text) do
begin
z:=byf;
byf:=z-snat;
if (RadioGroup3.ItemIndex=0) then Begin
memo1.Lines.Add('X'+inttostr(x1)+'. Z'+inttostr(z)+'.');
z:=byf;
byf:=z-snat;
memo1.Lines.Add('X'+inttostr(x2)+'. Z'+inttostr(z)+'.');
end
else
begin
memo1.Lines.Add('X'+inttostr(x1)+'.');
memo1.Lines.Add('X'+inttostr(x2)+'.');
memo1.Lines.Add('G80');
memo1.Lines.Add('G01 Z'+inttostr(z)+'.');
memo1.Lines.Add(s2+' X'+inttostr(x1)+'. R'+edit7.Text+'. F'+edit4.Text+'.')
end;
end;
memo1.Lines.Add('G80');
memo1.Lines.Add('G00 X'+edit1.text+'. Y'+edit2.text+' .');
memo1.Lines.Add('Z'+edit3.text+'.');
end; |
|
#2
|
||||
|
||||
|
Цитата:
Цитата:
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'..'9', #8: ;
',':
begin
if Pos(',', (Sender as TEdit).Text) > 0 then
Key := #0;
end;
else
Key:= #0;
end;
end;Код:
FormatSettings.DecimalSeparator := '.'; |
|
#3
|
|||
|
|||
|
Цитата:
|
|
#4
|
||||
|
||||
|
Ну куда-то сюда
Код:
procedure TForm1.FormCreate(Sender: TObject); begin FormatSettings.DecimalSeparator := '.'; end; |