Форум: "Начинающим";
Текущий архив: 2008.08.17;
Скачать: [xml.tar.bz2];
Внизкак переместить указатель в начало файла Найти похожие ветки
← →
Res (2008-07-10 21:45) [0]Подскажите пожалуйста, как переместить указатель в начало файла
var
f:TextFile;
..
AssignFile(f,"base.txt");
Reset(f);
while( not eof(f) ) do
begin
ReadLn(f,tmp);
end;
← →
Johnmen © (2008-07-10 21:47) [1]Reset(f);
← →
Res (2008-07-10 21:59) [2]спасибо. Еще 1 вопросик. Задача: удалить из файла дубликаты.
Пытался делать через динамические массивы - прога много жрет оперативки.
Сделал так(может чего посоветуете):program dd;
uses windows;
var
mlist:array of string;
f,f2:TextFile;
tmp,tmp2:string;
x,n:integer;
find:boolean;
begin
setlength(mlist,0);
AssignFile(f2,"f2.txt");
Rewrite(f2);
closefile(f2);
AssignFile(f,"f1.txt");
Reset(f);
while( not eof(f) ) do
begin
ReadLn(f,tmp);
AssignFile(f2,"f2.txt");
Reset(f2);
find:=false;
while( not eof(f2) ) do
begin
readln(f2,tmp2);
if(tmp=tmp2) then find:=true;
end;
closefile(f2);
if(find=false) then
begin
AssignFile(f2,"f2.txt");
Append(f2);
WriteLn(f2,tmp);
closefile(f2);
end;
end;
closefile(f);
end.
← →
Johnmen © (2008-07-10 22:01) [3]http://delphimaster.net/view/2-1215677312/
← →
Res (2008-07-10 22:05) [4]тогда надо читать файл в память и сортировать... а файл то большой
← →
Johnmen © (2008-07-10 22:22) [5]Можно посмотреть в сторону отображения файлов в память.
Но м.б. будет достаточно работать с хешами строк.
← →
Правильный^Вася (2008-07-10 22:28) [6]как вариант ;)
построчно затолкать в таблицу БД с уникальным ключом на поле
как будет дубль, не пустит, переходим к следующей строке
после всего этого выгружаем талбицу обратно в файл
зы не забудь нумеровать строки в таблице, чтоб извлечь в исходном порядке, а не кашей
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.08.17;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.04 c