Elliot Опубликовано 23 января, 2013 Поделиться Опубликовано 23 января, 2013 Проблема такая. Есть очень старая прога. В новую программу нужно перенести архивы за несколько лет. Как разобраться со структурой базы данных? Есть только вспомогательные утилитки для вывода в текстовой файл. Но таким путём возиться очень долго. Нужен модуль, чтобы эти данные считать с исходного формата и перебросить в dbf-файл. Для начала разобраться, как в Паскаль или С задать структуру этих файлов данных. Например: Type InKar1 = Record KNM : LongInt; TN : Word; Gru,Vid : Byte; end; data.rar Ссылка на комментарий Поделиться на другие сайты Поделиться
santax Опубликовано 23 января, 2013 Поделиться Опубликовано 23 января, 2013 Cru, покажи исх программы. Пытаться учить Paskal'ю без них тут думаю без благодарности никто не будет. Архив содержит лишь те самые утилиты и некие структурированные бинарные файлы. Ссылка на комментарий Поделиться на другие сайты Поделиться
Elliot Опубликовано 24 января, 2013 Автор Поделиться Опубликовано 24 января, 2013 (изменено) Cru, покажи исх программы. Пытаться учить Paskal'ю без них тут думаю без благодарности никто не будет.Архив содержит лишь те самые утилиты и некие структурированные бинарные файлы. Паскаль я уже выучил за эти дни. Я раньше на С делал простые программы. Навыки остались. Исходников, к сожалению, нет. Есть только программы в exe. Там ещё один важный ньюанс! Программа работает только в DOS-режиме Windows 98. Данные перекидывают дискетами-флоппиками. Написана на Ассемблере и С. Представляете какая морока! В Windows XP даёт ошибку "Переполнение деления". Поэтому я хочу сделать быстро прогу на Foxpro. Как узнаю и проверю структуру данных, задача измениться: Нужно будет считывание этих данных через функции Foxpro. P.S. в архиве есть батник. Он создает текстовые файлы. Структура, кажется, идёт один в один по выходным данным. Изменено 24 января, 2013 пользователем Cru Ссылка на комментарий Поделиться на другие сайты Поделиться
Elliot Опубликовано 26 января, 2013 Автор Поделиться Опубликовано 26 января, 2013 (изменено) Архив содержит лишь те самые утилиты и некие структурированные бинарные файлы. Вот кое-что нашёл в Google: http://forum.foxclub.ru/read.php?29,354776 В ФК никто не сможет помочь разобраться со структурой данных из моего архива? Файлов очень много. Это только за один месяц (12-ый). Можно конечно через утилиты в архиве сбрасывать в текстовой файл, разделители в указанных позициях жестко заменисть, потом конвертировать с них. Но там более 300 файлов. Изменено 26 января, 2013 пользователем Cru Ссылка на комментарий Поделиться на другие сайты Поделиться
staff Опубликовано 26 января, 2013 Поделиться Опубликовано 26 января, 2013 Что-то мне смахивает на курсовую. Сами пробовали учиться? Ссылка на комментарий Поделиться на другие сайты Поделиться
Elliot Опубликовано 26 января, 2013 Автор Поделиться Опубликовано 26 января, 2013 (изменено) staff Я на полном серьезе. Без шуток. Ты посмотри данные с текста. Запусти батник в архиве. Там информация о приёме груза по квитанциям и оплате по ним. Потом прога их сверяет, что закрылось, а что нет. Вам мне программу писать не нужно, я сам уже немного умею программировать. Только бы разобраться со структурой данных. Надоел уже DOS-режим Windows 98. Со структурой пытался разобраться. Там readme.txt есть в архиве. 1 Байт - начало структуры. Через 13 (для pr12) и 21 (для sp12) байтов повторяется. 2-ой байт это месяц = числу 12 Изменено 26 января, 2013 пользователем Cru Ссылка на комментарий Поделиться на другие сайты Поделиться
Elliot Опубликовано 28 января, 2013 Автор Поделиться Опубликовано 28 января, 2013 (изменено) В воскресенье попытался сам разобраться. 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 Изменено 28 января, 2013 пользователем Cru Ссылка на комментарий Поделиться на другие сайты Поделиться
Elliot Опубликовано 30 января, 2013 Автор Поделиться Опубликовано 30 января, 2013 (изменено) Никто не сталкивался с записью бинарных данных в файл? Integer, Float. Изменено 30 января, 2013 пользователем Elliot Ссылка на комментарий Поделиться на другие сайты Поделиться
santax Опубликовано 30 января, 2013 Поделиться Опубликовано 30 января, 2013 Я сталкивался - использовал работу с потоками MemoryStream, FileStream, но это дело я программирую в Delphi, хотя отличий от паскаля не должно быть. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти