Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.13;
Скачать: CL | DM;

Вниз

DOS-кие файлы и БД   Найти похожие ветки 

 
Kalishenko Stas   (2003-02-20 16:36) [0]

Такая задача: есть досовский текстовый файл, в котором есть информация по разным людям, т.е. имеет вид примерно такой:

Мартюк Юрий Васильевич - классный программист

________________________________________________
Доход \ Неизвестно
________________________________________________

Семейное положение - женат
Хобби - программирование

и т.д.
Потом идет следующий чувак, и так до бесконечности.

Так вот задача и состоит в вытягивании необходимой информации по конкретному человеку (под Виндой).

Помогите советом, как это реализовать.


 
Соловьев ©   (2003-02-20 16:37) [1]

Самому анализировать файл и вытягивать.


 
Chris ©   (2003-02-20 17:01) [2]

Для начала было бы неплохо, если "чуваки" отделялись друг от друга какой-либо специфической строкой, пусть это будет строка "@@@"

FlagRead: boolean;
ListChuvak: TStringList;
f: TextFile;

ListChuvak:=TStringList.Create;
AssignFile(f,"Text.txt");
Reset(f);
FlagRead:=False;
While not EOF(f) do
begin
ReadLn(f,s);
if FlagRead then
begin
if s="@@@" then
Break;
ListChuvak.Add(s);
end
else if pos(AnsiLowerCase(Chuvak),AnsiLowerCase(s))>0 then
begin
ListChuvak.Add(s);
FlagRead:=True;
end;
end;
CloseFile(f);


 
Kalishenko Stas   (2003-02-20 17:03) [3]

Каким образом анализировать? У меня идея в следующем: загнать в базу построчно, и тогда уже че-то анализировать. Но на первом этапе главная проблема в кодировке. Как файл из досовской кодировки преобразовать в виндовскую? У меня есть прога, делающая это плохо - знаки "_" или "-" преобразует в "д" или вообще игнорирует. Кроме того делает смещения строк при преобразовании. Можете че-нибудь посоветовать?


 
Соловьев ©   (2003-02-20 17:19) [4]

открой в Ексле и там посмотри.


 
MsGuns ©   (2003-02-20 17:36) [5]

>Соловьев © (20.02.03 17:19)
>открой в Ексле и там посмотри.

Совершенно в дырочку ! Мы именно так и делали. А потом сажается тетя и по указанному нами шаблону все это хозяйство приводит в "стройный" вид. После чего уже из экселя экспорт куда надо.


 
kalishenko stas   (2003-02-20 17:57) [6]

>>MsGuns
В смысле приводит в "стройный вид"? Это что же, каждый документ?

В Экселе у меня посмещало многие строки, так что способ как-то не очень. Или действительно все текстовики ручками переделывать, а потом уже работать с ними?


 
Соловьев ©   (2003-02-20 18:00) [7]

Как посмещало? Там настроеки при конвертации...Поиграй с ними...
Попробуй через Access. Или ручками...


 
kalishenko stas   (2003-02-20 18:19) [8]

Дело в том, что разделителей как таковых в документе нет, поэтому строки и посмещало.


 
Соловьев ©   (2003-02-20 18:22) [9]

А фиксированой длины? А удалить пробелы слабо?


 
kalishenko stas   (2003-02-20 18:33) [10]

>>А удалить пробелы слабо?
Что, во всем документе?

>>А фиксированой длины?
Пробовал. Все равно.



 
Tux ©   (2003-02-20 20:41) [11]

Необходим язык, позволяющий вольно обращаться со входными данными, прекрасно работающий с текстом и позволяющий решать неформальные задачи анализа + поддержка регулярных выражений. В итоге задача решается за полчаса. Если объем данных невелик, имеет смысл посадить тетю. Если от полмега - Perl, Awk, Python, Tcl - на выбор.


 
mfender   (2003-02-21 01:18) [12]

Насчет кодировок. Очень легко подменить символ CP688 на символ 1251. Пишется в четыре строки хвункция, возвращающая результ в нужное место. Таблица символов занимает немного больше места.

А вот что касается конвертации в удобоваримый вид - это вопрос. Раз вы работаете с энтими файлАми, вам и карты в руки. Руками делаете, значит, пардон, алгоритмизируете сей процесс. Если есть система, как разделены "поля", значить и конвертер написать можно. Неважно, чем они разделяются и в какой последовательности. Главное - была бы система. Конечно, если в одной строке, к примеру, поле имени с полем фамилии разделены @, а в следующей строке |, о каком преобразовании может идти речь? Гораздо проще печатную книгу проиндексировать....



Страницы: 1 вся ветка

Текущий архив: 2003.03.13;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.021 c
1-39252
Navigator3000
2003-03-03 08:45
2003.03.13
Help, помогите пожалуйста разобраться с кнопками.


1-39363
Beglec
2003-03-01 21:09
2003.03.13
Почему и зачем требуется файл qtintf.dll


1-39268
Zelius
2003-03-01 16:05
2003.03.13
Помогите разобратсья со временем модификации файла!


14-39557
Delirium
2003-02-26 17:50
2003.03.13
Доменное имя первого уровня - даром !


7-39617
SeF
2003-01-13 11:19
2003.03.13
DllProc