Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.043 c
1-1089432809
Kaginava
2004-07-10 08:13
2004.07.25
объекты


6-1085802948
Vizzor
2004-05-29 07:55
2004.07.25
Как можно проверить включен ли HTTP/FTP через сокеты?


3-1088851968
ZedeS!
2004-07-03 14:52
2004.07.25
Удаление записей через ADOTable


1-1089555687
Crypter
2004-07-11 18:21
2004.07.25
Быстрая работа с TRichEdit


14-1088781511
OSokin
2004-07-02 19:18
2004.07.25
В чем измерять глюки и баги?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский