![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск и замена строки в текстовом файле [D7, WinXP]
Helper © (2004-07-08 16:38:00)Уважаемые программеры, помогите с решением.
Только начал изучать Делфи,попалась такая задачка, помогите реализовать :
Есть текстовый файл надо его открыть, допустим в Memo, найти в нём строку напр. ( Delphi) и заменить её на напр. ( Borland).
Исходные коды не помешали бы.
Зарнее Вам благодарен.
Helper (2004-07-08 20:38:00) [1]sskты знаеш как это реализовать ,помоги пожалуйста
Helper (2004-07-08 19:08:00) [2]sskСпасибо огромное помогло, и всем кто отвечал также спасибо
sskвот ещё маленький вопросец, а как сделать так чтоб после того текста который я вставил, эта рамка не перемещалась в сторону, что б рамка была фиксирована.
ssk (2004-07-08 19:03:00) [3]посмотрел я исходник. все решается в 4 строки, если я правильно понял автора вопроса.
Mim1 (2004-07-08 18:59:00) [4]В принципе те задачи котрые нельзя описать словами не решаемы.
Helper (2004-07-08 18:43:00) [5]Ушло 10 кб.
ssk (2004-07-08 18:37:00) [6]давай serpantin@list.ru
Helper (2004-07-08 18:36:00) [7]Что то у меня оно не меняет то значение на новое, могу в принципе прислать пример на почту, что б было понятней
ssk (2004-07-08 17:44:00) [8]честно говоря, не вижу никакой проблемы. сделал пример, где есть твоя строка:
var
s: string;
begin
s:='до символа $Os после символа'; // старая строка
ShowMessage(s); // показываем
s:=StringReplace(s, '$Os', 'XP', [rfReplaceAll]); // сделали новую строку
ShowMessage(s); //показываем
end;
Zhekson (2004-07-08 17:42:00) [9]Ну в любом случае Вы ищете кусок строки, которая идентифицирует искомую вами комбинацию. Вот её и вставьте в: "
Memo1.Text:=StringReplace(Memo1.Text, '???', ' Borland ', [rfReplaceAll]); "
Zhekson (2004-07-08 17:36:00) [10]я имел в виду, попробуй пробелы до и после своих слов поставить.
Helper (2004-07-08 17:33:00) [11]напрмер мне надо найти вот такую строку :
Операционная система : [$Os ]
Надо в файле найти вот это - $Os и заменить например на Windows XP, в файле оно встречается 1 раз.
ssk (2004-07-08 17:26:00) [12]напиши сюда свою строку
Helper (2004-07-08 17:18:00) [13]"и как по Вашему можно определить именно то слово, если их в тексте, допустим, 20?"
Нет оно там точно 1, больше не должно быть
"Memo1.Text:=StringReplace(Memo1.Text, ' Delphi ', ' Borland ', [rfReplaceAll]); - попробуй так."
Выше написал, что так не получается :(.
Zhekson (2004-07-08 17:08:00) [14]Memo1.Text:=StringReplace(Memo1.Text, ' Delphi ', ' Borland ', [rfReplaceAll]); - попробуй так.
ssk (2004-07-08 16:59:00) [15]и как по Вашему можно определить именно то слово, если их в тексте, допустим, 20?
Helper (2004-07-08 16:57:00) [16]Memo1.Text:=StringReplace(Memo1.Text, 'Delphi', 'Borland', [rfReplaceAll]);
Этот код немного не подходит, но всё равно спасибо.
Обьясню почему:
У меня есть заготовка в текстовом файле, она имеет много строк и букв, где - то в середине находится то слово которое мне надо заменить, приведённый выше пример заменяет всё полностью, а мне надо только то слово.
MBo (2004-07-08 16:44:00) [17]найти - Pos
заменить - StringReplace или Delete/Insert
ssk (2004-07-08 16:43:00) [18]Memo1.Text:=StringReplace(Memo1.Text, 'Delphi', 'Borland', [rfReplaceAll]);