Главная страница
    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.45 MB
Время: 0.014 c
1-27537
SergSh
2003-09-29 18:23
2003.10.09
Языки в программах


3-27381
VJar
2003-09-17 12:13
2003.10.09
Чтение картинки из БД MS Access


1-27526
Kair
2003-09-25 08:16
2003.10.09
Изменения на диске


1-27573
ss300
2003-09-29 14:27
2003.10.09
Вставка смайлика в борду чата


14-27679
kaif
2003-09-09 11:31
2003.10.09
Кони в сенате





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский