Текущий архив: 2007.05.20;
Скачать: CL | DM;
Вниз
и в чем ошибка Найти похожие ветки
← →
>>DEATH<< (2007-05-05 10:28) [0]var
filetext, l1, l2, l3:Tstringlist;
...
procedure sep;
var
i:integer;
begin
for i:=0 to filetext.Count-1 do begin
if filetext[i][1]="£" then
l1.Add(filetext[i])
else if filetext[i][1]="$" then
l2.Add(filetext[i])
else if filetext[i][1]="%" then
l3.Add(filetext[i]);
end;
end;
как я понял чтото с циклом если подставить вместо i цифру все работает,, а так выдает "access Violation at address 00461b2a in module "project1.exe". Read address 00000000."
← →
Джо © (2007-05-05 10:33) [1]Если filetext[i] содержит пустую строку, то при обращении к ее [1] символу и выйдет AV Read address 00000000.
← →
McSimm © (2007-05-05 10:33) [2]Или filetext не создан, тогда AV - обращение к свойству несозданного объекта
или filetext[i] - пустая строка, тогда AV- обращение к [1] символу
← →
>>DEATH<< (2007-05-05 10:37) [3]filetext создона и не пуста,,допустим если прописать
showmessage(filetext[1][1]); все нормально
← →
McSimm © (2007-05-05 10:39) [4]
> и не пуста
Все его строки?
В цикле проход по всем строкам, одна из них возможно пустая.
← →
McSimm © (2007-05-05 10:40) [5]и, конечно, все остальные листы тоже должны быть созданы
← →
McSimm © (2007-05-05 10:44) [6]Если включить телепатор, то пуста последняя строка :)
Как я понял, они читаются из файла, это обычно так и бывает.
← →
>>DEATH<< (2007-05-05 10:50) [7]все листы точно созданы несколько раз проверял думал в этом ошибка,,
при тесте все строки не пустые,,но в дальнейшем могут быть и пустыми как это исправить
← →
McSimm © (2007-05-05 11:00) [8]
> при тесте все строки не пустые
Если файл заканчивается переводом строки, то последняя строка в файле - пустая.
Когда вы обращаетесь к N-му символу строки, необходимо сначала убедится, что строка имеет длину минимум N.
В вашем примере в начале цикла можно проверить строку на нулевую длину и сделать continue
← →
Vasiliy (2007-05-05 11:29) [9]так помоему будет лучше
if Pos("£", filetext[i]) = 1 then
Иначе если filetext[i] = "" будет выскакивать ошибка
← →
>>DEATH<< (2007-05-05 12:15) [10]вообщем понятно,,спасибо!!!!
Страницы: 1 вся ветка
Текущий архив: 2007.05.20;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.031 c