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

Вниз

Поиск и замена строки в текстовом файле   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.058 c
14-1089022952
CrazyHacKeRs
2004-07-05 14:22
2004.07.25
Раздача лицензий от MicroOlap до 05.07.2004


6-1085612967
Viner
2004-05-27 03:09
2004.07.25
Проверка почты


14-1088656492
KilkennyCat
2004-07-01 08:34
2004.07.25
Ужас!


8-1083920470
Dr.Alex
2004-05-07 13:01
2004.07.25
AVI to JPEG


1-1089491813
dido
2004-07-11 00:36
2004.07.25
Как занести данные из текстового файла в массив?