Помогите распарсить файл

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
NewUser
Старожил
Сообщения: 238
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 6 раз

Помогите распарсить файл

Сообщение NewUser »

Привет всем!
Помогите, пожалуйста, распарсить (желательно правильно-оптимально по времени-вычислительным ресурсам) следующий файл: http://wallxb.ru/products/sto/00000001.pul
Это файл базы данных стороннего приложения, где в самом конце расположен каталог записей.
После последнего вхождения в подстроку «M7GF-SEQB-4G8D» начиная с 37 позиции берет свое начало список в формате:
- #8#
- дата
- %
- время
- &
Конец блока ознаменуется подстрокой «*^ ™»
Пример: M7GF-SEQB-4G8D ў; €" #8#07.07.2012%16:30:36&3Г^ ј
#8#07.07.2012%19:05:07&0ъj ј
#8#07.07.2012%21:16:24&0%ѓ €" #8#14.07.2012%16:25:11&3­Ґ ј
#8#14.07.2012%19:08:58&0i± ј
#8#14.07.2012%21:11:26&0 U €" #8#21.07.2012%17:05:28&3 x ј
#8#21.07.2012%19:08:07&0;; g <NOTE>#8#07.07.2012%16:30:36*^ ™
Пробовал множеством способов – ничего не получилось. Наверное, из-за каких-то спецсимволов, присутствующих в теле файла.
Вопросы:
1. С помощью какого файлового драйвера делать доступ к этому файлу (DOS, ASCII, пр.)?
2. Формат этого файла.
3. Как начать считывать с конца файла? Алгоритм: находим первое вхождение с конца (а не с начала, чтобы не перебирать увеличивающийся со временем весь файл) в подстроку «M7GF-SEQB-4G8D», отсчитываем 37 позиций, начиная с найденной, и начинаем распарсивать.
Если у кого получиться написать рабочий пример – буду премного благодарен – с нашей организации - СТО – Системная Теледиагностика Организма для Вас или Ваших близких, если, конечно, пожелаете.
Аватара пользователя
muskin
Активист
Сообщения: 114
Зарегистрирован: 08 Декабрь 2009, 21:16
Откуда: РК

Re: Помогите распарсить файл

Сообщение muskin »

NewUser писал(а):Привет всем!
Помогите, пожалуйста, распарсить (желательно правильно-оптимально по времени-вычислительным ресурсам) следующий файл: http://wallxb.ru/products/sto/00000001.pul
файл) в подстроку «M7GF-SEQB-4G8D», отсчитываем 37 позиций, начиная с найденной, и начинаем распарсивать.
Если у кого получиться написать рабочий пример – буду премного благодарен – с нашей организации - СТО – Системная Теледиагностика Организма для Вас или Ваших близких, если, конечно, пожелаете.
Товарищьч! ТЫ похоже не туды попал. Тут не хакерская компания, чтобы распарсить не принадлежащий тебе файл, и Большой Прювет СТО.
Всем пралитарское Спасибо и 'Желаю, чтобы ВСЕ !!!'
Shur
Ветеран
Сообщения: 384
Зарегистрирован: 02 Июль 2011, 18:49

Re: Помогите распарсить файл

Сообщение Shur »

А я ничего предосудительного пока не вижу.
Откуда это стало известно, что файл не принадлежит автору обращения?
Аватара пользователя
muskin
Активист
Сообщения: 114
Зарегистрирован: 08 Декабрь 2009, 21:16
Откуда: РК

Re: Помогите распарсить файл

Сообщение muskin »

Shur писал(а):А я ничего предосудительного пока не вижу.
Откуда это стало известно, что файл не принадлежит автору обращения?
А почитай внимательно вступительное сообщение.
Всем пралитарское Спасибо и 'Желаю, чтобы ВСЕ !!!'
Аватара пользователя
muskin
Активист
Сообщения: 114
Зарегистрирован: 08 Декабрь 2009, 21:16
Откуда: РК

Re: Помогите распарсить файл

Сообщение muskin »

NewUser писал(а):Привет всем!
Помогите, пожалуйста, распарсить (желательно правильно-оптимально по времени-вычислительным ресурсам) следующий файл: http://wallxb.ru/products/sto/00000001.pul
Это файл базы данных стороннего приложения, где в самом конце расположен каталог записей..
Всем пралитарское Спасибо и 'Желаю, чтобы ВСЕ !!!'
Shur
Ветеран
Сообщения: 384
Зарегистрирован: 02 Июль 2011, 18:49

Re: Помогите распарсить файл

Сообщение Shur »

И опять мимо.
Это очевидно, что приложение стороннее. Иначе он бы не спрашивал как разобрать формат.
Но при этом оно МОЖЕТ быть ЛЕГАЛЬНО ПРИОБРЕТЕНО (впрочем, это тоже не всегда обязательно).
А всё, что это приложение уже там создаёт в процессе своей работы -- это всё принадлежит уж точно не фирме-разработчику (при этом я не говорю о программах-шпионах).
Так что пусть разбирает формат на здоровье.

Теперь насчёт как начать считывать файл с конца. Сам не пробовал, но в документации пишут, что DOS-драйвер поддерживает команду PREVIOUS.
Ответить