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

Вниз

Поиск по тексту   Найти похожие ветки 

 
Berg   (2003-03-06 16:44) [0]

Подскажите, как лучше найти определенный символ в текстовом файле, в какой строке неизвестно, есть только сам символ, нужно его удалить и на его место вставить кусок текста.


 
Dms   (2003-03-06 16:55) [1]

можно я тебе программу напишу ? можно ?


 
Anatoly Podgoretsky ©   (2003-03-06 17:01) [2]

POS


 
Berg   (2003-03-06 17:07) [3]

>> Dms (06.03.03 16:55) Да ладно, не напрягайся!

Я пробую через поток, но так затирается не только не нужный символ, но и часть текста, лежащая за ним:
...
F.Position := 111;
F.Write("абвгдеёжзийклмн",15);
...


 
Roma ©   (2003-03-06 17:12) [4]

> Berg (06.03.03 16:44)

with TStringList.Create do
begin
LoadFromFile("твой_файл");
CommaText := StringReplace(Strings.CommaText, "старое", "новое", [rfReplaceAll]);
SaveToFile("твой_файл");
Free;
end;


 
Berg   (2003-03-06 17:17) [5]

>> Roma © (06.03.03 17:12)

Cпасибо, но это немного не то, сразу не написал, что известна только позиция в тексте, например: F.Position := 111;


 
Roma ©   (2003-03-06 17:23) [6]

Тогда скажи Dms"у "можно"... ;)


 
Berg   (2003-03-07 09:36) [7]

Может, у кого-нибудь есть ешё мыслипо этому вопросу?


 
MBo ©   (2003-03-07 09:45) [8]

Мысли будут после достойного описания проблемы


 
Palladin ©   (2003-03-07 09:54) [9]

у самого нет чтоли? простейшая задача... если она описана до конца верно конечно....

var
f1,f2:TFileStream;
MyText:TStringList; // или string, в общем что те надо
MyPos:int64; // позиция
MyRTLength:integer; // размер заменяемого куска
begin
f1:=TFileStream.Create(MyFileName,fmOpenRead);
f2:=TFileStream.Create(MyOtherFileName,fmCreate);
f2.CopyFrom(f1,MyPos-1);
f2.WriteBuffer(MyText.GetText^,length(MyText.text));
f1.Seek(MyPos+MyRTLength-1,soFromBeginig);
f2.CopyFrom(f1,f1.Size-(MyPos+MyRTLength-1));
f1.Free;
f2.Free;
end;

ЗЫ Возможно нужно проверить границы на точность, ибо писал тут и не тестировал


 
Palladin ©   (2003-03-07 09:56) [10]


> Palladin © (07.03.03 09:54)
> у самого нет чтоли?

это Bergу адресовалось



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
6-64275
KeLT
2003-01-29 13:17
2003.03.20
Помогите с ExitWindowsEx


1-64140
Barman
2003-03-06 17:07
2003.03.20
Проблема с WinXP


4-64434
V.exeR
2003-01-27 11:33
2003.03.20
Полное имя файла (не бейте ногами)


4-64431
Cosmic
2003-01-24 08:00
2003.03.20
Bitmap & WinAPI


3-63993
Роман Антонов
2003-02-20 13:29
2003.03.20
Подкачка данных