Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Поиск и замена текста

Ответить
Настройки темы
C/C++ - [решено] Поиск и замена текста

Аватара для Simpler

Новый участник


Сообщения: 13
Благодарности: 1

Профиль | Отправить PM | Цитировать


Изменения
Автор: Simpler
Дата: 15-11-2010
Здравствуйте.

Нужна помощь в поиске и замене текста в текстовом файле,желательно готовый пример.
Есть текстовый файл с именем "Log.txt" нужно найти и заменить текст который написан после слова "User" - Слово "User" в данном текстовом файле одно.
Текст на который мы будем заменять нужно взять из edit,желательно бы не загружать текстовый файл в Memo или прочее компоненты.

У меня установлен "C++Builder 2010" C++ учить начал не так давно,если будите что то объяснять пишите по проще так как я в нем пока ноль.
За ранее вам благодарен.

Отправлено: 10:38, 15-11-2010

 

Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Цитата Merboot:
Может кто нибудь поможет переписать данный код что бы последнюю строчку программа не сносила? »
Расширьте вашу задачу, опишите подробно, что есть и что хотите получить?

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 13:24, 29-11-2010 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Merboot

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Есть текстовый файл,сколько там строк не известно. (Они могут меняется.)
Нужно заменить всего "5" строк.
Пример:

Test: 0
Test: 1
Test: 2
Test: 3
Test: 4
Test: 5

Нужно заменить текст который написан после "Test: "
Промеж данных строк могут быть и другие текстовые поля.
Для каждой из "5" строк есть свой Edit.
Edit1,Edit2... Нужно заменять текст на тот что написан в Edit.

{Вроде нормально описал что хочу.}

Почти тоже самое что просил автор темы.

Отправлено: 15:34, 29-11-2010 | #12


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Цитата Merboot:
Почти тоже самое что просил автор темы. »
Да, можно немножко модифицировать код и приспособить под вашу задачу, я завтра-послезавтра сделаю.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 00:55, 30-11-2010 | #13


Аватара для Merboot

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо,буду ждать.

Отправлено: 08:41, 30-11-2010 | #14


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Merboot, А всё-таки, прикрепите файл, который нужно обработать, мне легче тестировать на живом примере чем на выдуманом.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 15:22, 30-11-2010 | #15


Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Merboot, Тоже по-дилетантски. Но вроде бы работает.

Код: Выделить весь код
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   int count = 0;
   TStringList *lst = new TStringList();
   TStringList *lstReplace = new TStringList();
   lst->Text = Memo1->Text;
   String str = "Test:"; // Слово которое мы ищем
   String tempStr = ""; // Формируемая строка в которой найденое слово "Test:" + текст из Edit
//   lst->LoadFromFile(ExtractFilePath(Application->ExeName) + "Log.txt"); // Загружаем файл

   for(int i = 0; i < lst->Count; i++){
      if(!lst->Strings[i].Pos(str)){
         lstReplace->Add(lst->Strings[i]);
        }
      else if(lst->Strings[i].Pos(str)){
         tempStr = "";
         if(count == 1){
            tempStr = lst->Strings[i].SubString(1, lst->Strings[i].Pos(str) + str.Length());
            tempStr += Edit1->Text;
            lstReplace->Add(tempStr);
           }
         else if(count == 2){
            tempStr = lst->Strings[i].SubString(1, lst->Strings[i].Pos(str) + str.Length());
            tempStr += Edit2->Text;
            lstReplace->Add(tempStr);
           }
         else if(count == 3){
            tempStr = lst->Strings[i].SubString(1, lst->Strings[i].Pos(str) + str.Length());
            tempStr += Edit3->Text;
            lstReplace->Add(tempStr);
           }
         else if(count == 4){
            tempStr = lst->Strings[i].SubString(1, lst->Strings[i].Pos(str) + str.Length());
            tempStr += Edit4->Text;
            lstReplace->Add(tempStr);
           }
         else if(count == 5){
            tempStr = lst->Strings[i].SubString(1, lst->Strings[i].Pos(str) + str.Length());
            tempStr += Edit5->Text;
            lstReplace->Add(tempStr);
           }
         count++;
        }
     }
   lstReplace->SaveToFile(ExtractFilePath(Application->ExeName) + "Test.txt");

   delete lst;
   delete lstReplace;
}
//---------------------------------------------------------------------------

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 16:03, 01-12-2010 | #16



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Поиск и замена текста

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Поиск и замена текста ajakzs Скриптовые языки администрирования Windows 18 08-08-2013 16:10
Поиск текста в txt Centrinar AutoIt 5 23-07-2010 19:59
Поиск текста и выполнение действий!!! Giena22 AutoIt 5 23-09-2009 20:21
C/C++ - Поиск текста в файлах student_po Программирование и базы данных 6 04-09-2009 23:33
Офис и Текст - Замена текста Котяра Программное обеспечение Windows 1 29-09-2008 13:51




 
Переход