IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Считывание текстового файла сложной структуры, Работа с файлами
Atreides
сообщение 28.01.2010 20:58
Сообщение #1


Ветеран Броуновского Движения
***

Группа: Пользователи
Сообщений: 281
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Уважаемые, столкнулся с такой непростой задачкой, как работа с текстовым файлом сложной структуры. Нужно считать с него коды станций, номера платежей, суммы и коды статей. И дату. Желательно в табличку запихнуть для удобства работы. Единственный вариант, который приходит в голову, это построчное считывание и анализ. Подскажите какими методами такое можно провернуть?

Сообщение отредактировано: Atreides - 28.01.2010 23:07


Прикрепленные файлы
Прикрепленный файл  razsb.txt ( 3.45 килобайт ) Кол-во скачиваний: 224


--------------------
Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Lapp
сообщение 29.01.2010 2:59
Сообщение #2


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Atreides @ 28.01.2010 20:58) *
вариант, который приходит в голову, это построчное считывание и анализ.
Считывание - это все равно, да и вариантов не так много. Можно и построчно. А вот потом можно и порезвиться..
Например, при считывании заполняешь двумерный массив (короткие строки дополняются пробелами), то есть получаешь картинку. Потом на этой картинке распознаешь линии, и в соответствии с этим строишь таблицу. Задача не такая сложная, как может показаться, но.. Ты уверен, что в этих файлах/картинках/таблицах не будет сбоев? Например, строка со словом "ОТДЕЛЕНИЕ" не разделена на клетки и не отделена от нижней строки. Это сбой? или так и должно быть? В подобных случаях нужно предусмотреть все возможные варианты. Иначе одна неучтенная точка смажет весь результат..

Можно возразить, что такая универсальность, как распознавание _любой_ таблицы, тут не нужна; но реально это сэкономит время. Доказать это не возьмусь, но так оно обычно бывает.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Atreides   Считывание текстового файла сложной структуры   28.01.2010 20:58
Lapp   вариант, который приходит в голову, это построчное...   29.01.2010 2:59
amega   а что если текстовый файл заменить на екселевкий?   29.01.2010 12:42
Гость   а что если текстовый файл заменить на екселевкий?...   29.01.2010 14:14
Гость   сорри не досмотрел приложение, походу файл прога д...   29.01.2010 14:17
Atreides   Да файл мне прога выкидывает, но не моя и менять я...   29.01.2010 17:56
feniks25   ширина стобцов меняться может? если нет то все упр...   29.01.2010 19:18
Atreides   Да все поля статичны. Ну вот как? Мне только коды ...   29.01.2010 22:56
Lapp   Да все поля статичны. Ну вот как? Мне только коды ...   29.01.2010 23:16
volvo   Читаешь файл в строку, и в цикле вытягиваешь из не...   29.01.2010 23:17
Atreides   С регулярными там чет все не по-русски :-( как зас...   1.02.2010 14:20
volvo   Безо всяких регэкспов: procedure TForm1.ParseClick...   1.02.2010 15:29
Гость   надо и так попробовать, спасибо. Дату я забрал, пр...   1.02.2010 21:52
Atreides   Клевый код, очень быстро работает. Вот с датой про...   2.02.2010 22:17
Гость   Решил просто перебирать тупо строки и писать в Str...   3.02.2010 20:36
Atreides   Вроде разобрался с заполнение, только из пяти стол...   4.02.2010 8:58
Гость   Разобрался! //загрузка данных в табличку pro...   5.02.2010 21:53
Atreides   Еще один маленький вопросик. Надо в табличку полож...   8.02.2010 18:28
feniks25   напиши сначала StringGrid1.RowCount:=2; а...   18.02.2010 13:03
Atreides   о, щас попробую. Размножаться - это если имя станц...   19.02.2010 23:23


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.06.2025 10:04
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"