Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.09.2010, 10:13
connector connector вне форума
Прохожий
 
Регистрация: 27.09.2010
Сообщения: 2
Репутация: 10
По умолчанию ПОМОГИТЕ РАБОТА С ТЕКСТОМ

Здавствуйте выручите пожалуйтса , нужна срочно программа работы с текстом сам я новичок в этом деле, вобщем перехожу к делу
Нужна программа которая в текстовом файле, в строках начинающихся напримерр с /200=.... итд, искала поле например /30 содержащий текст ХХХХХХ и создав новый текстовый документ копировала бы это поле в него и затем находила строку ниже чем /200 и копировала его тоже в новый тектовый документ рядом с полем 30
Вот пример:
исходный текст:
/200=11111111/201=1111/202=545/30=ХХХХХХ/06=5555ХХ
текст текст текст
/200=11111111/201=1111/202=545/30=ХХХ222/06=5555ХХ
текст2 текст2 текст2

нужно чтобы получилось:

ХХХХХХ - текст текст текст
ХХХ222 - текст2 текст2 текст2
Ответить с цитированием
  #2  
Старый 27.09.2010, 11:42
Аватар для Sky.NET
Sky.NET Sky.NET вне форума
Прохожий
 
Регистрация: 22.09.2010
Сообщения: 49
Версия Delphi: XE
Репутация: 12
По умолчанию

Вариантов много. Например можно так:
PHP код:
var
  
Ip1p2integer;
  
ss1s2s3string;
begin
  Memo1
.Lines.LoadFromFile('C:\Data.txt'); // Загружаем файл 
  
s2 := '/30='// Данные находятся после /30= 
  
s3 := '/'// И перед / 
  
for := 0 to Memo1.Lines.Count do // Для каждой строки 
  
begin
    s1 
:= Memo1.Lines.Strings[i]; // Копируем строку 
    
:= Copy(s114); // Получаем первые символы
    
if '/200' then // Если первые символы /200, тогда
    
begin
      p1 
:= Pos(s2s1); // Ищем возицию /30= 
      
p1 := p1 Length(s2) - 1// Переходим на позицию после /30= 
      
Delete(s11p1); // Удаляем всё лишнее перед данными 
      
p2 := Pos(s3s1); // Ищем / после данных 
      
Memo2.Lines.Add(Copy(s11p2 1)); // Копируем данные 
    
end
  
else // Иначе
    
Memo2.Lines.Add(Memo1.Lines.Strings[i]); // Копируем текст
end;
Memo2.Lines.SaveToFile('C:\File.txt'); // Сохраняем всё в файл 
end

Последний раз редактировалось Sky.NET, 27.09.2010 в 12:22.
Ответить с цитированием
  #3  
Старый 28.09.2010, 09:25
connector connector вне форума
Прохожий
 
Регистрация: 27.09.2010
Сообщения: 2
Репутация: 10
По умолчанию Спасибо

все работет
Ответить с цитированием
  #4  
Старый 28.09.2010, 13:45
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Забавно, это случаем не amt-файл?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:05.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025