Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.09;
Скачать: CL | DM;

Вниз

Как удалить из файла N символов начиная с I?   Найти похожие ветки 

 
diww   (2003-09-30 12:54) [0]

Как удалить из тесктового файла N символов начиная с символа I?


 
Brahman ©   (2003-09-30 13:02) [1]

Загружать построчно, считать символы и контролировать на N
Если I в этой же строке - удалить от и до
Иначе удалить до конца строки
и искать I не записывая строки


 
PVOzerski ©   (2003-09-30 13:03) [2]

Закачать всё в строку (напр., через BlockRead), потом - Delete(s,I,N), потом - rewrite и blockwrite.


 
Izyum ©   (2003-09-30 13:07) [3]

1. Открывам файл для редактирования TFileStream.Create
2. Копируем во временный (второй) поток все от 0 до I-1
3. Дописываем во временный поток все, начиная с N+I-1 до конца
4. Удаляем все из первого потока
5. коприуем в основной из временного
6. сохраняем все на диск

Может не очень красиво, но первое что пришло в голову:)


 
Song ©   (2003-09-30 13:17) [4]

Если файл небольшой, загрузи в TStrings, потом удали циклом


 
Zergling ©   (2003-09-30 13:39) [5]

TStringList.Text и Delete вполне хватит.


 
VAleksey ©   (2003-09-30 14:55) [6]

Перекачать в другой файл до символа I.
Удалить исходный.
Переименовать временный.
:-))


 
Verg ©   (2003-09-30 15:53) [7]

var
Buffer : pchar; // фартук
Rp, // откель
Wp, // куды
readed : integer; // скока
Fs : file; // файло
.......................
Reset(Fs,1);
..........................

GetMem(Buffer, <да, там, сколь не жалко>);
try
Rp:= I+N;
Wp:= I;
repeat
Seek(Fs, Rp);
BlockRead(Fs,Buffer^,BufSize, Readed);
Rp:=FilePos(Fs);
if Readed>0 then
begin
Seek(Fs, Wp);
BlockWrite(Fs, Buffer^, Readed);
Wp:=FilePos(Fs);
end;
until Readed<=0;
Seek(Fs, Wp);
Truncate(Fs);
finally
FreeMem(Buffer);
end;
end;
finally
Close(Fs);
end;



Страницы: 1 вся ветка

Текущий архив: 2003.10.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
1-27531
Word
2003-09-30 04:54
2003.10.09
Совмещение Word97 и Word2000


1-27551
bfg1000ke
2003-09-29 16:26
2003.10.09
hide process


3-27384
Lamer1
2003-09-18 16:17
2003.10.09
Проблемы с TClientDataSet


3-27330
Vemer
2003-09-20 23:54
2003.10.09
Interbase 7.0 + Delphi 6 + проблемы с русским языком


14-27672
МаХиМ
2003-08-30 15:06
2003.10.09
ТУт посоветовали прогу Delphi называется