Читайте также:
|
|
Продумывая структуру разрабатываемого приложения было принято решение использовать Delphi-компонент BatchMove [3]. Логику решения задачи в этом случае можно отобразить так:
Рисунок 1 — Логика решения задачи преобразования данных
Здесь исходные данные хранятся в файле Test.xls. Поскольку компонент BatchMove преобразует только файлы форматов Paradox, dBASE, FoxPro и ASCII (текстовый файл), то предварительно необходимо преобразовать файл Test.xls к текстовому формату. Excel позволяет сохранять книги в файлы только двух форматов: dBASE и ASCII. Работая с файлами формата dBASE, была обнаружена проблема сохранения кириллической кодировки. Поэтому единственный формат данных, в котором следует сохранять файл Test.xls — это ASCII. На рис. 1 этот файл обозначен, как Test.txt. Далее файл Test.txt с помощью компонента BatchMove преобразуется к формату Paradox — файл Test.db.
Для достижения поставленной цели необходимо, чтобы код программы был независим от структуры таблицы Excel. Эту задачу можно решить, если BatchMove делает преобразование формата Excel к формату Paradox на основе некоторого внешнего файла описания конечного документа.
К сожалению документации на составление файлов описания не было найдено. Поэтому пришлось сделать обратное преобразование форматов. То есть, используя BatchMove файл формата Paradox был преобразован к текстовому формату.
В результате получили файл TestTxt.ch. Его текст:
[TESTTXT]
Filetype=Fixed
CharSet=ascii
Field1=Num,Number,06,00,00
Field2=Text,Char,05,00,06
Рисунок 2 — Код файла описания
После этого аналогичным образом был создан файл описания для трех полей
[Test]
Filetype=Fixed
Field1=Num,Number,02,00,00
Field2=Text,Char,05,00,02
Field3=Num,Number,01,00,07
CharSet=cyrr
ВЫВОДЫ
Данная работа посвящена проблеме манипуляции данными документов разных форматов. А именно работе с форматами Excel и Paradox в системах баз данных.
Решение данной проблемы возможно с применением контроллеров автоматизации MS Office [1]. У данного решения есть недостаток. Дело в том, что код Delphi-приложения зависит от размера таблицы Excel. Другими словами, под каждую конкретную таблицу Excel необходимо переписывать Delphi-приложение.
В данной работе предложено другое решение: использование файла описания на основании анализа которого Delphi-приложение преобразует таблицу Excel требуемой Paradox-таблице. Такое решение позволило разработать программу, код которой не зависим от структуры Excel-таблиц.
СПИСОК ЛИТЕРАТУРЫ
1. Codd E. F. Relational completeness of data base sublanguages. ‑ Ibid. 1972, p. 65—98.
2. Дейт К. Введение в системы баз данных. ‑ М.: Издательский дом "Вильямс", 2001. ‑ 1072 с.
3. Ульман Дж. Основы систем баз данных /Пер. c англ. М. Р. Когаловского. ‑ М.: Финансы и статистика, 1983. ‑334 с.
4. Чекалов А. Базы данных: от проектирования до разработки приложений. ‑ СПб.: БХВ-Петербург, 2003. – 384 с.
5. Чен П. Модель "сущность-связь" ‑ шаг к единому представлению о данных //СУБД №3, 1995. – 324 с.
6. Swar B. Delphi 6, ADO, and XML ‑ http://www.pinnaclepublishing.com
7. Вендров А.М. CASE-технологии. Современные методы и средства проектирования информационных систем ‑ http://www.citforum.ru
Дата добавления: 2015-10-21; просмотров: 57 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ОБЗОР ИЗВЕСТНЫХ РЕШЕНИЙ | | | Тренинг: специфика проведения |