![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
While и прочее
alexdn © (2011-10-03 14:59:00)и ещё небольшой вопрос, будет ли корректно сделать так:
for x:=0 to StrList.Count-1 do //задаем цикл до конца файла
begin
FNamem:='st.txt';
AssignFile(F_i,FNamem);
reset(F_i);
While not eof(F_i) do //задаем цикл до конца файла
begin
readln(F_i,s);
if StrList[x]=s then StrList[x]:='';
end;
closefile(F_i);
end;
StrList.SaveToFile('1.txt');
{closefile(F_i);}
StrList.Free;
т.е. не слишком ли часто будет дёргаться reset(F_i); т.е. если раз 100 /цикл в цикле/ винт не улетит?
просто если вынести reset(F_i) за цикл, то While not eof(F_i) do читается только один раз, а потом вроде как указатель в конце файла..
icWasya (2011-10-03 16:29:00) [1]>т.е. не слишком ли часто будет дёргаться reset(F_i); т.е. если раз 100 /цикл в цикле/ винт не улетит? просто если вынести reset(F_i) за цикл, то While not eof(F_i) do читается только один раз, а потом вроде как указатель в конце файла..
А ты один раз считай в другой StringList и ищи там
var
ST_i:TStrings;
FNamem:='st.txt';
ST_i:=TStringList.Create;
ST_i.LoadFromFile(FNamem);
for x:=StrList.Count-1 downto do //задаем цикл до конца файла
begin
if ST_i.IndexOf(StrList[x])>=0 then
StrList.Delete(x);
end;
StrList.SaveToFile('1.txt');
ST_i.Free;
StrList.Free;
Ega23 (2011-10-03 15:38:00) [2]
> Да уже вроде как всё
Тебе из строки нужно выкинуть ненужные символы?
alexdn (2011-10-03 15:33:00) [3]> Ega23 © (03.10.11 15:31) [5]
> Что за задача-то?
Да уже вроде как всё, может потом на второй стринг лист перейду, да и то лень)..
Ega23 (2011-10-03 15:31:00) [4]Что за задача-то?
Ega23 (2011-10-03 15:30:00) [5]TStringStream
Германн (2011-10-03 15:26:00) [6]А взять два стринглиста религия не позволяет?
alexdn (2011-10-03 15:20:00) [7]> Сергей М. © (03.10.11 15:15) [1]
Ну 100-300 раз я думаю к летальному исходу винта не приведут..
Сергей М. (2011-10-03 15:15:00) [8]AssignFile смело можно вынести за тело цикла.
> не слишком ли часто
А деваться некуда.
Открыть/переоткрыть текстовый файл в дан.случае можно только таким образом.
Лучше будет отказаться от этого метода доступа к файлу в пользу любого файлстрима, заточенного под доступ к текст.файлам : один раз открыл файл, пробежался по нему, установил позицию в ноль - и беги опять по файлу.