+ Ответить в теме
Показано с 1 по 1 из 1

Тема: Парсинг блоков только с разделителем

  1. #1
    programmer Shouldercannon will become famous soon enough
    Регистрация
    08.06.2008
    Сообщений
    72
    Вес репутации
    11

    Question Парсинг блоков только с разделителем

    Есть файл, в котором есть данные вида
    PHP код:
    --->---
    Понедельник (2012-07-21 21:51:13)
    Заметки
    ---<---
    Вторник (2012-07-22 00:44:49)
    Заметки
    Заметки
    Заметки
    --->---
    Среда (2012-07-22 11:31:18)
    Заметки
    ---<---
    Четверг (2012-07-22 12:55:59)
    --->---
    Пятница (2012-12-03 16:38:24
    где --->--- исходящий, ---<--- входящий
    Всё это загружается в StringList.

    Дальше вывожу в RichEdit
    Код :
    1. procedure TForm1.Button1Click(Sender: TObject);
    2. var
    3.   SL: TStringList;
    4.   I, Style: Integer;
    5.   procA: Boolean;
    6.   s: String;
    7. begin
    8.   // Очищаем
    9.   RichEdit1.Clear;
    10.  
    11.     Style := -1;
    12.     procA := False;
    13.     I := 0;
    14.     // Парсинг
    15.     while I < SL.Count do
    16.     begin
    17.       s := SL[I];
    18.       procA := procA or (s = '--->---') or (s = '---<---');
    19.  
    20.       if (s = '--->---') then Style := 3
    21.       else if (s = '---<---') then Style := 2
    22.       else
    23.       begin
    24.         if procA then
    25.         begin
    26.           procA := False;
    27.           RichEdit1.Lines.Add('------------------------------');
    28.           RichEdit1.Lines.Add(s);
    29.         end
    30.         else
    31.         begin
    32.           RichEdit1.Lines.Add(s);
    33.         end;
    34.       end;
    35.  
    36.       Inc(I);
    37.     end;
    38.  
    39.   FreeAndNil(SL);
    40. end;

    Проверка на наличие разделителя нужна при выводе самого первого блока, для последующих это правило не применять
    Последний раз редактировалось Shouldercannon; 03.01.2017 в 16:20.

  2. По умолчанию

     
    Хотите избавиться от рекламы? Зарегистрируйтесь
+ Ответить в теме

Похожие темы

  1. Парсинг XML на РНР - ошибка, не поддающаяся логике
    Вопрос мой прост и краток. $xml='<Cities> '.str_repeat("<City> <name>Москва</name> </City>", 7).' <Cities>';...
    от Хыиуду в разделе Perl, PHP, ASP ...
  2. PHP 'include', прикрутка файлов (блоков) через "include"
    Доброго времени суток. делаю для себя сайт на PHP и обнаружил непонятный "глюк" у себя на сайте. Пользусь Денвером, никогда подобное за ним не...
    от sergi в разделе Perl, PHP, ASP ...
  3. Веб-разработка и не только
    Добавляйте меня в свои контакты: - бесплатно проконсультирую; - найду нужных людей; - создам сайт "под ключ"; - напишу программу; - настрою и...
    от Сектор в разделе Поиск работы и заказов.
  4. Не только число
    Уважаемые, подскажите, может кто-то уже рещал подобную задачу. Можно сделать формулу которая бы возвращала или случайное число в интервале от 1 до...
    от Author_R в разделе MS Office и VB(A).
  5. Mandrake + USB и не только
    Mandrake 9.0 приказал долго жить... Вопрос снят !!!
    от Oleg_S в разделе Операционные системы

Ваши права

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