|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
ввод в 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; |
#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; Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. |