Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];

Вниз

Как удалить из файла 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.011 c
14-27682
Romkin
2003-09-16 11:54
2003.10.09
Встреча 08.08


3-27307
Vick
2003-09-17 16:40
2003.10.09
Функция определения кол-ва дней в месяце


1-27478
Charly
2003-09-19 22:58
2003.10.09
Остановить выполнение нити


1-27531
Word
2003-09-30 04:54
2003.10.09
Совмещение Word97 и Word2000


14-27686
Дмитрий
2003-09-21 11:20
2003.10.09
Винчестер Fujitsu MPG3204AT живет самостоятельной жизнью;-) ;-(





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