Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2010, 10:30   #1
Plohoy
Пользователь
 
Регистрация: 06.08.2010
Сообщений: 25
По умолчанию OnChange

При удалении всех символов в Edit вылазиет ошибка ""is not a valid floating point value.". Как быть?

Последний раз редактировалось Plohoy; 06.08.2010 в 11:05.
Plohoy вне форума Ответить с цитированием
Старый 06.08.2010, 11:04   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

добавить if or try
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 06.08.2010, 11:08   #3
Plohoy
Пользователь
 
Регистрация: 06.08.2010
Сообщений: 25
По умолчанию

как ее вписать?

Код:
procedure TForm1.Edit11Change(Sender: TObject);
  var a,b:extended;
  begin
      a:=StrTofloat (edit11.Text);
      Label28.Caption:=floattostr((a*18)/118);
       b:=StrTofloat (Label28.Caption);
       b:=RoundTo(b,-2);
      Label28.Caption:=FloatToStr(b);
end;
Вот такой код

Я try вобще никогда не пользовался

Последний раз редактировалось Stilet; 06.08.2010 в 11:22.
Plohoy вне форума Ответить с цитированием
Старый 06.08.2010, 11:22   #4
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Код:
try
  {Неустойчивый участок кода}
   a := b/c;
except
  {То что надо сделать если произошла ошибка в блоке try}
  ShowMessage('Ошибка при делении');
  a := 0;
finally
  {ТО что надо сделать в любом случае}
  Edit1.Text := IntToStr(a);
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 06.08.2010, 11:24   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
procedure TForm1.Edit11Change(Sender: TObject);
  var a,b:extended;
  begin
      if not TryStrTofloat (edit11.Text,a) then ShowMessage('Это не число');
      ...
end;
Смысл понял? Почитай в хелпе про TryStrTofloat
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.08.2010, 11:25   #6
Plohoy
Пользователь
 
Регистрация: 06.08.2010
Сообщений: 25
По умолчанию

Ну а с моим кодом как это сделать?

if not TryStrTofloat (edit11.Text,a) then ShowMessage('Это не число');

я когда эту строку вставил и запустил вышло сообщение ('Это не число') и когда нажал ок опять вылезла ошибка

Урррррррррррррррааааааааааааааа получилось

А можно сделать чтоб не появлялось сообщение?

Последний раз редактировалось Stilet; 06.08.2010 в 13:19.
Plohoy вне форума Ответить с цитированием
Старый 06.08.2010, 11:43   #7
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Ну тогда сотри ShowMessage('Это не число'); И напиши Exit;
Тогда при ошибке функция прекратит выполнение
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 06.08.2010, 11:46   #8
Plohoy
Пользователь
 
Регистрация: 06.08.2010
Сообщений: 25
По умолчанию

Спасибо большое

Когда вводишь а потом стираешь то остаетя число

Последний раз редактировалось Stilet; 06.08.2010 в 13:23.
Plohoy вне форума Ответить с цитированием
Старый 06.08.2010, 11:58   #9
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

При удалении всех символов в Edit вылазиет ошибка ""is not a valid floating point value.". Как быть?

ребят, кто отвечал, вы вообще вопрос читали???
просто сделай проверку при изменении текста в едит, а не пустой ли он, т.е.

Код:
... Edit1.OnChange(...);
begin
   if edit1.Text <> "" then begin
      ...
   end;
end;
и твоя трабла решится
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]
RUSt88 вне форума Ответить с цитированием
Старый 06.08.2010, 12:04   #10
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

"is not a valid floating point value."
Очень интересная ошибка, которая вылетает из-за некорректного заполнения данных! Так что лучше её обрабатывать через стандартную обработку исключений! То бишь через try except finally
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
из ADOTable в ListBox по Edit.OnChange kopoba БД в Delphi 6 19.04.2012 07:17
Программа обмена валют [onChange] Fenix_ Помощь студентам 6 20.05.2009 18:10
Проблема ONCHANGE в IE mihali4 JavaScript, Ajax 11 25.11.2008 07:15
TEdit.Onchange azat Компоненты Delphi 1 27.11.2007 12:36
Вычисления по условию. Событие onChange Наташа Помощь студентам 13 27.12.2006 12:28