Показать сообщение отдельно
  #1  
Старый 08.07.2017, 23:59
Shaitanking163Rus Shaitanking163Rus вне форума
Прохожий
 
Регистрация: 24.03.2017
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию ввод в edit десятичные числа через точку

Пишу для себя прогу на завод для генерации 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;
Ответить с цитированием