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