Текущий архив: 2008.04.27;
Скачать: CL | DM;
Вниз
Поиск строки в файле. Найти похожие ветки
← →
Papa_serg (2008-03-31 16:46) [0]
AssignFile(CFile,requests);
Reset(CFile);
while not Eof(CFile) do
begin
Readln (CFile,s);
Form1.Memo2.Lines.Add(s);
end;
CloseFile(CFile);
textinone := Form1.Memo2.Lines.Text;
for j:=0 to length(textinone) do
begin
if (textinone[j]="d") then
if (textinone[j+1]="e") then
if (textinone[j+2]="l") then
if (textinone[j+3]="p") then
if (textinone[j+4]="h") then
if (textinone[j+5]="i") then
if (textinone[j+6]=" ") then
Tnum := j+7;
end;
Здравствуйте, помогите найти ошибку.
Что должен делать кусок кода: загружает в переменную textinone содержимое файла requests, ищет в нём строку "delphi", если находит, то записывает в переменную "Tnum", порядковый номер символа, после этой строки.
Не записывает, на выходе, Tnum=0.
P.S. Фаил с #1013, табулярами и прочей гадостью ;)
← →
clickmaker © (2008-03-31 16:48) [1]какая-то "потемкинская лестница", прям
почему бы Pos не использовать?
← →
Palladin © (2008-03-31 16:49) [2]переменные типа String индексируются с 1. это раз. два: тебе в голову не пришло что при
j=Length(textinone)
условие if (textinone[j+1]="e") then ошибочно, благодаря твоей безолаберности. это два. три: есть замечательная функция Pos и не фик изобретать велосипеды
← →
Papa_serg (2008-03-31 16:54) [3]
if Pos("delphi", textinone) > 1 then
TnumBEGIN := Pos("delphi", textinone)+6;
Заработало, спасибо)
← →
Palladin © (2008-03-31 16:55) [4]и еще. в четвертых:
AssignFile(CFile,requests);
Reset(CFile);
while not Eof(CFile) do
begin
Readln (CFile,s);
Form1.Memo2.Lines.Add(s);
end;
CloseFile(CFile);
очень прелестно заменяется одной единственной строчкойMemo1.Lines.LoadFromFile(requests);
короче, учи матчасть!
← →
Palladin © (2008-03-31 16:56) [5]
> Papa_serg (31.03.08 16:54) [3]
да ничего не заработало. если pos ничего не найдет, он тебе 0 (ноль) вернет. как можно так непродуманно писать то?
← →
{RASkov} © (2008-03-31 16:57) [6]> [3] Papa_serg (31.03.08 16:54)
> if Pos("delphi", textinone) > 1 then
> Заработало, спасибо)
Не верно. А если = 1 то что? :)
> Pos("delphi", textinone)+6;
Гы) тоже ка-то по деццки... +Length("delphi");
← →
Papa_serg (2008-03-31 16:57) [7]Palladin ©, поправим)
Главное стал находить.
← →
Papa_serg (2008-03-31 18:12) [8]м, а как символ hex "0A", в pos прописать? :)
← →
Palladin © (2008-03-31 18:13) [9]#10
← →
Anatoly Podgoretsky © (2008-03-31 18:22) [10]
> м, а как символ hex "0A", в pos прописать? :)
В твоем коде его не может быть.
Страницы: 1 вся ветка
Текущий архив: 2008.04.27;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.015 c