Главная страница
    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-27510
DimonA
2003-09-26 12:01
2003.10.09
Application.MessageBox


1-27515
bss
2003-09-30 11:09
2003.10.09
Как определить кем из пользователей блокируется файл


3-27332
pashtet
2003-09-16 13:22
2003.10.09
SELECT из 2х БД.


14-27733
wnew
2003-09-19 22:32
2003.10.09
Есть ли связисты на форуме?


1-27513
Pushkin
2003-09-26 13:34
2003.10.09
Как в StringGrid сделать проверку данных в ячейке?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский