Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
DimQaaa
0 / 0 / 0
Регистрация: 17.06.2014
Сообщений: 59
1

Ошибка: raised exception class econverterror with message "is not valid integer value"

23.11.2014, 14:35. Просмотров 1206. Ответов 17
Метки нет (Все метки)

Ребята помогите ошибка "raised exception class econverterror with message is not valid integer value"

Нужно сделать что бы при попадании в цель в label отображались баллы (1,2,3 ..).
Вот код:
Delphi
1
2
3
4
5
6
7
8
9
10
  x:=pula.left;
  y:=pula.Top;
  w:=pula.Width;
  h:=pula.Height;
  x0:=samolet.Left;
  y0:=samolet.Top;
  w0:=samolet.Width;
  h0:=samolet.Height;
 if (x+w>x0) and (x<x0+w0) and (y+h>y0) and (y<y0+h0) then
  result.Caption:=inttostr(strtoInt(result.Caption)+1) ;
Знаю что ошибка в переводе inttostr или strtoint,но не пойму как исправить ее

Помогите пожалуйста.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2014, 14:35
Ответы с готовыми решениями:

Ошибка raised exception class EConvertError "is not valid integer value"
при попытке сменить кол-во столбцов в Stringgrid и переходе на него вылазит...

project1.exe raised exception class EConvertError with message "
Прошу помочь! Написала программу по подсчету в одномерном массиве...

Project5dpr.exe raised exception class econverterror with message ''' is not a valid floating point value
Здравствуйте. При запуске появляется ошибка &quot;project Project5dpr.exe raised...

Project project1.exe raised exception class EConvertError with message
Доброго времени суток! Прошу помочь с программой. После нажатия на кнопку...

Project1.exe raised exception class EConvertError with message ''' is not a vaild floating point value'
Я создал программу на Delphi, но у меня выходит ошибка Project1.exe raised...

17
BiHiTRiLL
10 / 10 / 5
Регистрация: 26.08.2014
Сообщений: 91
23.11.2014, 15:31 2
ну, вроде должно все работать. При условии что в result.Caption целое чисто. Иначе будет ошибка.
Ну и конечно что result это нечто имеющее свойство Caption.
0
DimQaaa
0 / 0 / 0
Регистрация: 17.06.2014
Сообщений: 59
23.11.2014, 15:34  [ТС] 3
нет,не как не работало,хоть и даже целое число,я вот исправил чуток он ошибку больше не выдает,но он и прибавлять не хочет,т.е. 1 стоит и все,выше не поднимается:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  res:=1;
  x:=pula.left;
  y:=pula.Top;
  w:=pula.Width;
  h:=pula.Height;
  x0:=samolet.Left;
  y0:=samolet.Top;
  w0:=samolet.Width;
  h0:=samolet.Height;
 
  begin
 
   if (x+w>x0) and (x<x0+w0) and (y+h>y0) and (y<y0+h0) then
      result.Caption:=IntToStr(res);
      end;
0
BiHiTRiLL
10 / 10 / 5
Регистрация: 26.08.2014
Сообщений: 91
23.11.2014, 15:36 4
нужно:
Delphi
1
2
if (x+w>x0) and (x<x0+w0) and (y+h>y0) and (y<y0+h0) then res:= res+1;
      result.Caption:=IntToStr(res);
0
DimQaaa
0 / 0 / 0
Регистрация: 17.06.2014
Сообщений: 59
23.11.2014, 15:42  [ТС] 5
Теперь прибавляет,но как прибавил так и сразу отнял 1.Получается,что я прописал 0,но как только прибавляет 1,так он сразу же начальное значение 0 ставит:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
res:=0;
  x:=pula.left;
  y:=pula.Top;
  w:=pula.Width;
  h:=pula.Height;
  x0:=samolet.Left;
  y0:=samolet.Top;
  w0:=samolet.Width;
  h0:=samolet.Height;
  begin
  if (x+w>x0) and (x<x0+w0) and (y+h>y0) and (y<y0+h0) then
  res:= res+1;
  result.Caption:=IntToStr(res);
  end;
0
BiHiTRiLL
10 / 10 / 5
Регистрация: 26.08.2014
Сообщений: 91
23.11.2014, 15:44 6
вот это:
Delphi
1
res:=0;
не должно стоять в процедуре прибавления очков.
иначе каждый раз при вызове этой процедуры ты обнуляешь результат.
0
DimQaaa
0 / 0 / 0
Регистрация: 17.06.2014
Сообщений: 59
23.11.2014, 15:47  [ТС] 7
Теперь когда убрал ее у меня при попадании высвечивается сразу аж 112 и не прибавляет больше
0
BiHiTRiLL
10 / 10 / 5
Регистрация: 26.08.2014
Сообщений: 91
23.11.2014, 15:50 8
убирать не нужно. Нужно инициализировать переменную res не в процедуре подсчета очков, а например при старте игры.
ну или сразу в секции объявления переменных.
0
DimQaaa
0 / 0 / 0
Регистрация: 17.06.2014
Сообщений: 59
23.11.2014, 15:51  [ТС] 9
Вот весь цикл:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var
x,y,h,w:integer;
x0,y0,h0,w0 :integer;
res:integer;
begin
pula.Top:=pula.Top-15;
  If pula.top<0 then
  Begin
     tmr2.Interval:=0;
     pula.Visible :=false;
  End;
    x:=pula.left;
  y:=pula.Top;
  w:=pula.Width;
  h:=pula.Height;
  x0:=samolet.Left;
  y0:=samolet.Top;
  w0:=samolet.Width;
  h0:=samolet.Height;
  begin
  if (x+w>x0) and (x<x0+w0) and (y+h>y0) and (y<y0+h0) then
  res:=res+1;
  result.Caption:=IntToStr(res);
  end;
0
BiHiTRiLL
10 / 10 / 5
Регистрация: 26.08.2014
Сообщений: 91
23.11.2014, 15:54 10
Delphi
1
 res:integer =0;
0
DimQaaa
0 / 0 / 0
Регистрация: 17.06.2014
Сообщений: 59
23.11.2014, 15:59  [ТС] 11
в переменной он ошибку выдает

Добавлено через 2 минуты
Вот смотри даже когда убрал:

Delphi
1
res:=0;
Он высвечивает 112,но все равно прибавляет +1 и сразу же отбавляет опять на 112.
0
BiHiTRiLL
10 / 10 / 5
Регистрация: 26.08.2014
Сообщений: 91
23.11.2014, 16:16 12
112 это мусор в данных. локальную переменную помоему нельзя инициализировать. попробуй поставь ее в TForm.Create
1
DimQaaa
0 / 0 / 0
Регистрация: 17.06.2014
Сообщений: 59
23.11.2014, 16:18  [ТС] 13
В глобальную поставил все хорошо не выдает ошибку,но проблема все та же: При попадании прибавляет и сразу же отнимает 1.
0
cotseec
Пишу на Delphi...иногда
1408 / 1267 / 285
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
Завершенные тесты: 3
23.11.2014, 16:23 14
Цитата Сообщение от DimQaaa Посмотреть сообщение
прибавляет и сразу же отнимает 1.
в приведенном коде только прибавляет - ищи в остальном коде либо строку res:=res-1; либо строку res:=0; на них точку останова, запускай программу и смотри что за чем вызывается и почему
0
DimQaaa
0 / 0 / 0
Регистрация: 17.06.2014
Сообщений: 59
23.11.2014, 16:24  [ТС] 15
Да ладно,пусть будет без очков) Спасибо большое все равно)
0
cotseec
Пишу на Delphi...иногда
1408 / 1267 / 285
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
Завершенные тесты: 3
23.11.2014, 16:24 16
Цитата Сообщение от DimQaaa Посмотреть сообщение
В глобальную поставил все хорошо
где и как происходит инициализация?
0
DimQaaa
0 / 0 / 0
Регистрация: 17.06.2014
Сообщений: 59
23.11.2014, 16:32  [ТС] 17
Вот ребят сама программа:
Если можете исправьте или доработайте программу,буду очень благодарен.
0
Вложения
Тип файла: rar Игра.rar (248.1 Кб, 4 просмотров)
cotseec
Пишу на Delphi...иногда
1408 / 1267 / 285
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
Завершенные тесты: 3
23.11.2014, 16:57 18
из всех обработчиков таймера убери объявление локальной переменной res, а также строку res:=0; из tmr3Timer
З.Ы. можно обойтись и одним таймером
0
23.11.2014, 16:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2014, 16:57

Ошибка: IntToStr EConvertError with message ''' is not a valid integer value'
Сейчас набросаю код с ошибкой. type colour=record R,G,B:Integer; end; ...

Project Hotel.exe raised exception class EAccessViolation with message"Access violation at address 007B90DA
будет много букв \ сорян При Запуске выходит такая ошибка Project Hotel.exe...

Почему выдает ошибку - "Project Project1.exe raised exception class EStringListError with message 'List index
нажимаю &quot;ок&quot; при выводе ошибки после чего показывает это &quot;кар &quot;12&quot; &quot; Так же...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru