-
Papa_serg (31.03.08 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 © (31.03.08 16:48) [1]какая-то "потемкинская лестница", прям
почему бы Pos не использовать? -
Palladin © (31.03.08 16:49) [2]переменные типа String индексируются с 1. это раз. два: тебе в голову не пришло что при
j=Length(textinone)
условие if (textinone[j+1]='e') then ошибочно, благодаря твоей безолаберности. это два. три: есть замечательная функция Pos и не фик изобретать велосипеды -
Papa_serg (31.03.08 16:54) [3]if Pos('delphi', textinone) > 1 then
TnumBEGIN := Pos('delphi', textinone)+6;
Заработало, спасибо) -
Palladin © (31.03.08 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 © (31.03.08 16:56) [5]
> Papa_serg (31.03.08 16:54) [3]
да ничего не заработало. если pos ничего не найдет, он тебе 0 (ноль) вернет. как можно так непродуманно писать то? -
{RASkov} © (31.03.08 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 (31.03.08 16:57) [7]Palladin ©, поправим)
Главное стал находить. -
Papa_serg (31.03.08 18:12) [8]м, а как символ hex "0A", в pos прописать? :)
-
Palladin © (31.03.08 18:13) [9]#10
-
Anatoly Podgoretsky © (31.03.08 18:22) [10]
> м, а как символ hex "0A", в pos прописать? :)
В твоем коде его не может быть.