Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.04.2012, 16:59
utro35 utro35 вне форума
Прохожий
 
Регистрация: 03.01.2012
Сообщения: 26
Репутация: 10
По умолчанию В работе с таймерами при прибавлении значений real типа выдает ошибку EConvertError

Здравствуйте.
В проекте несколько таймеров, которые занимаются последовательным прибавлением.
Два из них должны работать с вещественным типом чисел.
код первого:
Код:
procedure TMainForm.Timer15Timer(Sender: TObject);
begin
if par = (200) then
begin
Timer15.Enabled:= false;
exit;
end;
par:=par+0.1;
edit4.text:= floattostr(par);
end;
код второго 
procedure TMainForm.Timer5Timer(Sender: TObject);
begin
if partep=(200) then
begin
Timer5.Enabled:= false;
exit;
end;
partep:=partep+0.1;
edit10.text:= floattostr(partep);
end;
Админ: Пользуемся тегами для офрмления кода!

Первый работает, а вот второй выдает ошибку:

Project Project 1 .exe raised exception class EConvertError with message "0.1" Is not a valid integer value1. Process stopped. Use Step or Run to continue.

Последний раз редактировалось Admin, 30.04.2012 в 17:58.
Ответить с цитированием
  #2  
Старый 30.04.2012, 17:02
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

с типами напутал
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 30.04.2012, 17:08
utro35 utro35 вне форума
Прохожий
 
Регистрация: 03.01.2012
Сообщения: 26
Репутация: 10
По умолчанию

так что напутал?
у меня partep=real
и par=real
Ответить с цитированием
  #4  
Старый 30.04.2012, 19:00
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от utro35
так что напутал?
у меня partep=real
и par=real

А какой разделитель дробной части у тебя стоит в системе? Не запятая случаем? Соотвсественно, компилятор и ругается.
Ответить с цитированием
  #5  
Старый 01.05.2012, 00:01
utro35 utro35 вне форума
Прохожий
 
Регистрация: 03.01.2012
Сообщения: 26
Репутация: 10
По умолчанию

Нет, стоит точка. И ругань происходит в уже скомпилированной проге, как только дело доходит до включения вышеуказанного таймера.
Отладчик тыкает в строку
Код:
edit10.text:= floattostr(partep);

Последний раз редактировалось utro35, 01.05.2012 в 00:08.
Ответить с цитированием
  #6  
Старый 01.05.2012, 00:22
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Ну если с разделителем, как уверяешь, всё верно, значит в переменной находится не совсем то, что нужно.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #7  
Старый 01.05.2012, 08:26
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
Смех

Цитата:
Сообщение от NumLock
с типами напутал
Цитата:
Сообщение от utro35
так что напутал?
возможно где-то из Edit как Integer потом берешь
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 06:51.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025