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

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

непонятки при интенсивной работе со строками [D7, WinXP]


John69 ©   (2006-09-27 14:07:00) 

Привет Всем!
Кто-нибудь в курсе почему иногда случается что под описанное ниже условие могут подходить строки длинной меньше 3, например слово 'at' и почему-то третий символ действительно = '/' при просмотре в отладчике, (хотя по идее длинна должна быть = 2).

var
 Words: TStringList;
begin
 Words:=TStringList.Create;
 ...
 ...
 Repeat
   Words.Delete(0);
 Until
    (Words[0][3]='/')and(Length(Words[0])=3);
end;


MBo   (2006-09-27 14:17:00) [1]

Логика работы неверная и опасная.
Нужно проверять сначала наличие строк в списке (Count > 0), после этого - длину строки, и только если она длиннее 2-х символов, тогда уже можно проверять 3-й символ.


Наверх

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