Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Дозапись в текстовый файл


Автор: FireSnake 17.11.2006, 13:46
Есть текстовый файл. Скажите, можно как-то организовать такую процедуру без его предшествующего стирания:
-- найти в этом файле необходимую строку и перезаписать ее smile 

Автор: Snowy 17.11.2006, 13:50
Если количество символов не совпадает, то никак - только полностью перезаписать файл.

Автор: Yanis 17.11.2006, 13:50
FireSnake
Используй TStringList. Поиск и добавление строк поддерживает. Примеров на форуме море!

Автор: Alexeis 17.11.2006, 14:22
Цитата(Yanis @  17.11.2006,  13:50 Найти цитируемый пост)
FireSnake
Используй TStringList. Поиск и добавление строк поддерживает. Примеров на форуме море! 

Уточню этот класс закачает все в память, проведет там все нужные операции и перезапишет файл заново, так, что перезапись все равно будет иметь место, но работа намного упростится  smile 

Автор: FireSnake 17.11.2006, 16:02
Вот еще бы знать что такое TStringList... ладно, гугль в помощь...

Автор: Snowy 17.11.2006, 16:07
Не гугль, а встроенный Help smile
Да и у нас на форму масса примеров.
Строка поиска ещё работает smile

Автор: FireSnake 17.11.2006, 16:19
И все-таки гугль тоже неплохsmile 

вот ссылка на какой-то сайт по стринглисту что я нашел. Не знаю кому как а я все понял оттуда. Кому нада пользуйтесь:
http://it.kgsu.ru/Delphi_6/dlph0023.html

А также спасибо тем кто ответил smile 

Автор: Vit 17.11.2006, 17:54
Цитата(FireSnake @  17.11.2006,  04:46 Найти цитируемый пост)
 найти в этом файле необходимую строку и перезаписать ее 



Да но только в случае, если новая строка будет той же длинны что и старая, в противном случае всё-равно прийдётся перезаписывать всё что записано после этой строки, других вариантов нет... 

Автор: FireSnake 17.11.2006, 18:17
Цитата(Vit @ 17.11.2006,  17:54)
Цитата(FireSnake @  17.11.2006,  04:46 Найти цитируемый пост)
 найти в этом файле необходимую строку и перезаписать ее 



Да но только в случае, если новая строка будет той же длинны что и старая, в противном случае всё-равно прийдётся перезаписывать всё что записано после этой строки, других вариантов нет...


я это уже увидил и решил отказаться от применения этого типа smile 

Автор: W1zArD 19.11.2006, 11:28
append - pascal
TStringList - циклом (for .. to .. do) проверяя все строки

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)