Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2014, 09:51   #1
_Den_1984
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 54
По умолчанию Помогите сделать выбор

сейчас работаю над приложением одной из функций которого загрузка/выгрузка данных из/в файлы dbf. Никаких сложных процедур и функций в приложении нет - загрузка из dbf как есть - есть заранее известное количество полей, их имена и тип из них надо просто загрузить информацию в таблицу ну или в какой нибудь stringgrid. Выгрузка тоже простая - создается заранее известное количество столбцов с известными именами и типом, и заполняются столбцы. Приложение будет устанавливаться на чужие клиентские машины .
Помогите, пожалуйста, с выбором реализации работы с dbf, какой компонент и какой провайдер выбрать? ADO,BDE или что-то еще выбрать чтобы все работало корректно, без проблем с отображением данных, с доступом к ним и без установки дополнительных компонентов на клиентских машинах. Я бы выбрал BDE да что-то складывается впечатление что от нее все отказываются (предстоит работа на ОС Wni 7 64 ). Может быть есть еще что-нибудь кроме ADO и BDE.
Работаю в Delphi XE2
Заранее спасибо.
_Den_1984 вне форума Ответить с цитированием
Старый 24.11.2014, 09:55   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Может быть есть еще что-нибудь кроме ADO и BDE.
Есть. FoxPro называется.
Есть еще компонент TDBF.
А чем ADO не нравится?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.11.2014, 11:01   #3
_Den_1984
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 54
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А чем ADO не нравится?
Да впринципе устраивает всем, в данный момент выбор сделал в его пользу, просто хотел узнать может что нибудь еще есть.

Попутно про ADO вопросы :
1)Какой провайдер лучше выбрать?

2) Есть ли возможность создавать dbf файл в памяти без привязки к файлу чтоб потом грузить его в какой нибудь MemmoryStream и выгружать на FTP
_Den_1984 вне форума Ответить с цитированием
Старый 24.11.2014, 11:21   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
просто хотел узнать может что нибудь еще есть.
Я ядром ФоксПро пользуюсь. Сделал себе специально для этого компонент (http://www.programmersclub.ru/%D0%91...visual-foxpro/)
Цитата:
Какой провайдер лучше выбрать?
Зависит от задач.
Цитата:
Есть ли возможность создавать dbf файл в памяти без привязки к файлу чтоб потом грузить его в какой нибудь MemmoryStream и выгружать на FTP
У стандартных провайдеров скорее всего такого нет.
Впрочем даже при работе с ядром FoxPro этого не сделать скорее всего, хотя нужно почитать хелп, может в v9 и есть такая возможность.
Проще всего сохранять в файл, а файл уже отправлять на FTP.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.11.2014, 09:30   #5
_Den_1984
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 54
По умолчанию

спасибо за совет
_Den_1984 вне форума Ответить с цитированием
Старый 26.11.2014, 22:01   #6
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Если в dbf файле не предусматривается мемо полей и индексов, то нет ничего проще читать такие файлы напрямую (обычным Blockread).
А создавать их с записью куда надо (так же штатной процедурой BlockWrite).
Формат файла хорошо известен.
Прик вне форума Ответить с цитированием
Старый 26.11.2014, 22:09   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
нет ничего проще читать такие файлы напрямую
Как сказать... DBASEIII от DBASEV к примеру отличаются заголовками. И еще кое-чем.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.11.2014, 22:43   #8
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Структура файлов одинакова. Да, конечно, заголовки отличаются.
Но это отличие (опять же, если не принимать в расчет мемо и индексные файлы), всего лишь в одном первом байте, значение которого в авторской задаче значения не имеет.
Есть, конечно, отличия и в типах данных, но это уже от лукавого - всегда можно
сваять процедуры записи/чтения, учитывающие специфику используемого формата.

У ТС, скорее всего, один тип dbf файлов для чтения и записи.
Для этого и предлагается простое решение без наворотов.
Ну, это дело хозяйское.
Прик вне форума Ответить с цитированием
Старый 27.11.2014, 08:20   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
всего лишь в одном первом байте
Неа. Мне приходится много возиться с Фокспро и я хорошо помню головняк с разбором хедера ДБФки. Там все не так просто.
Опять таки если действительно заранее неизвестна версия ДБФ.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.11.2014, 08:50   #10
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию

Я использую Halcyon, мне нравиться. И скорость работы и то, что не надо никаких лишних драйверов. Раньше использовал TDBF, но не помню из-за какого глюка бросил.
tarakan1983 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать выбор нескольких файлов из папки lioon Microsoft Office Excel 3 31.10.2013 11:35
Как сделать выбор из БД правильно scalpel PHP 5 25.02.2013 13:23
Помогите сделать выбор IDE unicode Общие вопросы C/C++ 5 26.07.2009 16:41
Помогите сделать выбор!!! Anna_fors Помощь студентам 1 15.12.2008 17:36
Как сделать выбор параметра запроса из таблицы valery Microsoft Office Access 1 30.11.2007 11:17