Перейти к содержанию

Помогите с преобразованием формата данных!


Elliot

Рекомендуемые сообщения

Проблема такая.

Есть очень старая прога.

 

В новую программу нужно перенести архивы за несколько лет.

Как разобраться со структурой базы данных?

 

Есть только вспомогательные утилитки для вывода в текстовой файл.

 

Но таким путём возиться очень долго.

 

Нужен модуль, чтобы эти данные считать с исходного формата и перебросить в dbf-файл.

 

Для начала разобраться, как в Паскаль или С задать структуру этих файлов данных.

 

Например:

Type

InKar1 = Record

KNM : LongInt;

TN : Word;

Gru,Vid : Byte;

end;

data.rar

Ссылка на комментарий
Поделиться на другие сайты

Cru, покажи исх программы. Пытаться учить Paskal'ю без них тут думаю без благодарности никто не будет.

Архив содержит лишь те самые утилиты и некие структурированные бинарные файлы.

Ссылка на комментарий
Поделиться на другие сайты

Cru, покажи исх программы. Пытаться учить Paskal'ю без них тут думаю без благодарности никто не будет.

Архив содержит лишь те самые утилиты и некие структурированные бинарные файлы.

 

Паскаль я уже выучил за эти дни. Я раньше на С делал простые программы. Навыки остались.

Исходников, к сожалению, нет.

 

Есть только программы в exe.

 

Там ещё один важный ньюанс!

 

Программа работает только в DOS-режиме Windows 98.

Данные перекидывают дискетами-флоппиками.

Написана на Ассемблере и С.

Представляете какая морока!

 

В Windows XP даёт ошибку "Переполнение деления".

 

Поэтому я хочу сделать быстро прогу на Foxpro.

 

Как узнаю и проверю структуру данных, задача измениться:

Нужно будет считывание этих данных через функции Foxpro.

 

P.S. в архиве есть батник. Он создает текстовые файлы. Структура, кажется, идёт один в один по выходным данным.

Изменено пользователем Cru
Ссылка на комментарий
Поделиться на другие сайты

Архив содержит лишь те самые утилиты и некие структурированные бинарные файлы.

 

Вот кое-что нашёл в Google: http://forum.foxclub.ru/read.php?29,354776

 

В ФК никто не сможет помочь разобраться со структурой данных из моего архива?

 

Файлов очень много. Это только за один месяц (12-ый).

Можно конечно через утилиты в архиве сбрасывать в текстовой файл, разделители в указанных позициях жестко заменисть, потом конвертировать с них.

 

Но там более 300 файлов.

Изменено пользователем Cru
Ссылка на комментарий
Поделиться на другие сайты

staff

 

Я на полном серьезе. Без шуток.

Ты посмотри данные с текста. Запусти батник в архиве.

Там информация о приёме груза по квитанциям и оплате по ним.

Потом прога их сверяет, что закрылось, а что нет.

 

Вам мне программу писать не нужно, я сам уже немного умею программировать.

Только бы разобраться со структурой данных.

 

Надоел уже DOS-режим Windows 98.

 

Со структурой пытался разобраться. Там readme.txt есть в архиве.

 

1 Байт - начало структуры. Через 13 (для pr12) и 21 (для sp12) байтов повторяется.

2-ой байт это месяц = числу 12

Изменено пользователем Cru
Ссылка на комментарий
Поделиться на другие сайты

В воскресенье попытался сам разобраться.

 

file "pr12"

 

char mesyac 1 byte

char valuta 1 byte

long filial 4 byte

float summa 4 byte

int doc_nomer 2 byte

char day 1 byte

--------------------

Total 13 byte

 

Хотел проверить на одной записи программой на Borland C 2.0

Записал структуру с заполненными данными одной записью 13байт в бинарный файл.

 

Вышла следующая проблема:

При записи переменной doc_nomer равной 1, в файле 7-ой байт=chr(1), 8-ой байт=chr(0)

 

А в нужном файле pr12 наоборот, значение 1 в 8-м байте.

 

Дальше разбираться с 4-х байтовыми Long и Float не стал, так как не понял ситуацию с Integer.

 

 

Дизассемблером сделал листинги, может кто разберется.

0.rar

Изменено пользователем Cru
Ссылка на комментарий
Поделиться на другие сайты

Я сталкивался - использовал работу с потоками MemoryStream, FileStream, но это дело я программирую в Delphi, хотя отличий от паскаля не должно быть.

Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...