Текущий архив: 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