Вверх ↑
Этот топик читают: Гость
Ответов: 20
Рейтинг: 0
#1: 2006-06-30 17:33:34 ЛС | профиль | цитата
Подскажите пожалуйста как организовать поиск и заполнение таблицы, если поиск ведётся не по всем строкам, а с определённой даты и времени
Есть следующий список:
2006-06-23 00:13:16 CDA24 2000050 *** |Port 199 |
2006-06-23 00:13:27 CDA24 2000050 --- |Port 199 |
2006-06-24 01:15:21 CDA16 2000070 * |Port 130 |
2006-06-24 01:15:32 CDA16 2000070 - |Port 130 |
2006-06-25 03:13:25 CDA24 2000050 *** |Port 199 |
2006-06-25 06:13:36 CDA24 2000050 --- |Port 130 |
2006-06-26 06:40:12 CDA16 2000070 * |Port 130 |
2006-06-26 06:50:23 CDA16 2000070 - |Port 130 |
2006-06-27 12:35:42 CDA16 2000060 *** |Port 129 |
2006-06-27 14:35:53 CDA16 2000050 --- |Port 129 |
2006-06-27 07:34:22 CDA24 2000060 *** |Port 130 |
2006-06-27 07:34:33 CDA24 2000050 --- |Port 199 |
Заполнить таблицу нужно следующим образом: Номер порта, коды аварий, кол-во раз.
Например дата 2006-06-25, время 06:00 должно получиться
|Port 130|2000050 2000070 2000060|4|
|Port 129|2000050 2000060|2|
|Port 199|2000050|1|

Заранее благодарен.
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2006-06-30 19:00:01 ЛС | профиль | цитата
Для таких целей обычно базы данных используются.

Есть следующий список

Он что в таком виде и представлен
карма: 27
0
Ответов: 20
Рейтинг: 0
#3: 2006-06-30 19:08:54 ЛС | профиль | цитата
Файл txt имеет примерно следующее содержание: code_56
карма: 1

0
файлы: 1code_56.txt [1.1KB] [676]
Администрация
Ответов: 15295
Рейтинг: 1519
#4: 2006-06-30 22:15:27 ЛС | профиль | цитата
делать надо примерно так:
  • разбиваем строку c помощью StrPart на три части (первые 2 части это 2006-06-25 04:35:42)
  • сравниваем полученные даты с заданными(тут конечно неплохоб было дописать компонент для сравнения даты и времени)
  • если строка прошла бьем её еще на три части (первые 2 это CDA16 2000050)
  • удаляем первые 4 символа из третей части (т.е. колонку *** с пробелом) компонентом Delete
  • отсекаем от начала оставшейся строки еще две колонки (с помощью StrPart)
  • далее StrPart но уже по разделителю | получаем оставшиеся части
  • пишем нужные колонки в таблицу
  • сортируем таблицу по колонке Port
  • карма: 27
    0
    Ответов: 8928
    Рейтинг: 823
    #5: 2006-07-01 00:15:39 ЛС | профиль | цитата
    Sergey, посмотрите, помятуя Ваши предыдущие не совсем чёткие постановки задачи, не применял InLineCode, несмотря на то, что очень напрашивалось, поэтому разбиение строк для извлечения учавствующей в сортировке информации можно корректировать по мере необходимости. code_58

    [size=-2]------ Добавлено в 00:15
    ну, блин, как в воду глядел
    карма: 19

    0
    файлы: 1code_58.txt [9.9KB] [748]
    Ответов: 20
    Рейтинг: 0
    #6: 2006-07-01 01:33:28 ЛС | профиль | цитата
    Огромное всем спасибо. Леонид вы попали точно в суть решения задачи. Всё просто супер.
    карма: 1

    0
    Ответов: 8928
    Рейтинг: 823
    #7: 2006-07-01 16:31:44 ЛС | профиль | цитата
    Sergey, старался!
    карма: 19

    0
    7
    Сообщение
    ...
    Прикрепленные файлы
    (файлы не залиты)