Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Странный глюк Делфи6 [D6]


Чапаев ©   (2007-10-24 12:30:00) 

Проверить символ на "цифру". Код, например, такой: if (ACode128[I] < '0') or (ACode128[I] > '9') then Exit;. ACode128[I] в дебагере равно '2', попадаем в Exit. Пробовал ACode128[I] in ['0'..'9'] и Ord(ACode128[I]) - Ord('0') in [0..9] -- результат тот же?

Шо с этим чудом делать?


Германн   (2007-10-25 02:01:00) [1]


> DrPass ©   (25.10.07 01:54) [7]
>
>

Но даже если использовались ShortString или опция {$H-} всё равно не понятны слова
> ACode128[I] в дебагере равно '2', попадаем в Exit.


DrPass   (2007-10-25 01:54:00) [2]


> Dimaxx ©   (25.10.07 01:19) [5]
> Скорее всего I изначально равно 0, следовательно, вместо
> символа строки проверялась длина

Длина в нулевом символе строк не хранится. Это только в оставшихся в наследство от Турбо-Паскаля ShortString'ах


Германн   (2007-10-25 01:29:00) [3]


> Leonid Troyanovsky ©   (24.10.07 13:41) [4]

...

> Декларацию ACode128 - в студию.

Присоединяюсь. Действительно интересно.
Кстати и сам код цикла тоже интересен.


Dimaxx   (2007-10-25 01:19:00) [4]

Скорее всего I изначально равно 0, следовательно, вместо символа строки проверялась длина.


Leonid Troyanovsky   (2007-10-24 13:41:00) [5]


> Чапаев   (24.10.07 12:30)  

> Шо с этим чудом делать?

Декларацию ACode128 - в студию.

--
Regards, LVT.


Reindeer Moss Eater   (2007-10-24 12:39:00) [6]

if ('2' < '0') or ('2' > '9') then
 ShowMessage('ни хрена себе!')
else
 ShowMessage('Это был оптический обман');


Чапаев   (2007-10-24 12:38:00) [7]

> А в ShowMessage(ACode128[I]) что видишь при этом ?Всё правильно вижу.

В принципе, уже обошёл (введением промежуточной переменной), но глюк неприятный...


Сергей М.   (2007-10-24 12:32:00) [8]


> ACode128[I] в дебагере равно '2',


А в ShowMessage(ACode128[I]) что видишь при этом ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо