Текущий архив: 2005.11.13;
Скачать: CL | DM;
Вниз
нужна помощь по работе с текстовыми файлами Найти похожие ветки
← →
ne0n © (2005-10-21 15:08) [0]Мастера проблема следующая:
у меня есть два текстовых файла в одном хранятся
сочетания разных вопросов, а в другом варианты ответов на них. В программу я ввожу вопрос и она начинает читать первый текстовик если найдено совподения(например 23 строка совпала с введеным значением) то мы открываем 2 текстовик и переходим на 23 строку и читаем ее а потом ввыводим ее содержание.
для чтения первого файла использовал код :
Function GetFileSize(FIleName:String):integer;
var f: File of Byte;
begin
try
AssignFile(f, FileName);
Reset(f);
result:=filesize(F);
CloseFile(f);
except
result:=-1;
end;
end;
Procedure ReadMyFile(a: String);
Var i,j:integer;
F: textFile;
S: String;
Begin
Form1.ProgressBar1.Max:=GetFileSize("vb.bas");
Form1.ProgressBar1.position:=0;
assignfile(f,"vb.bas");
Canceled:=False;
reset(f);
i:=0;j:=0;
while not eof(f) do
begin
inc(j);
readln(f,s);
i:=i+length(s)+2;
if (j mod 1000)=0 then
begin
Form1.ProgressBar1.position:=i;
Application.ProcessMessages;
if canceled then break;
end;
if s = a then showmessage("Ответ найден");{надо определить какой строке принадлежит s}
end;
CloseFile(f);
End;
как перейтина нужную строку я знаю!
← →
Eraser © (2005-10-21 15:10) [1]
> ne0n © (21.10.05 15:08)
Лучше используй класс TStringList, код упроститься.
А вопрос какой?
← →
ne0n © (2005-10-21 15:15) [2]Видимо запутал:)
> if s = a then showmessage("Ответ найден");{надо определить
> какой строке принадлежит s}
> end;
> CloseFile(f);
← →
umbra © (2005-10-21 15:18) [3]Увеличивай в цикле счетчик
← →
clickmaker © (2005-10-21 15:18) [4]StringList.IndexOf ?
← →
Eraser © (2005-10-21 15:18) [5]
> ne0n © (21.10.05 15:15) [2]
Я так понимаю номер строки храниться в переменой j. Код отформатируй.
← →
ne0n © (2005-10-21 15:24) [6]Спасибо ребята, теперь разобрался! Особенно благодарю Eraser"a.
Страницы: 1 вся ветка
Текущий архив: 2005.11.13;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.038 c