Показать сообщение отдельно
  #2  
Старый 09.07.2017, 00:41
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 339
Версия Delphi: 10.4
Репутация: 429
Сообщение

Цитата:
Сообщение от Shaitanking163Rus
...но если ввожу десятичное число, то всё ошибка и не важно через точку или запятую...
Конечно будет ошибка, StrToInt переводит строку в целочисленное значение. Для получения вещественного значения нужно использовать StrToFloat. Также нужно все твои переменные x1, x2, y1 и прочие сделать вещественным типом.
Цитата:
Сообщение от Shaitanking163Rus
...мне нужно то бы я мог вводить дробные числа через точку...
Вообще-то StrToFloat работает через запятую. Для этого нужно:
Код:
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 := '.';
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием