Вопрос № 95224: Подскажите,как можно в Delphi 6 зделать так,что бы путь в команде
WinExeC('здесь прописывается путь к exe-файлу' , SW_RESTORE) пользователь мог сам задовать, домустим в компоненте Edit и путь сохранялся?
Подскажите,плиз!...Вопрос № 95304: Работаю с dbf–файлами (dbf IV). Как программно упаковать таблицу (т.е. реально удалить записи, в DataBase Desktop ставиться галочка возле Pack Table)?...Вопрос № 95334: Уважаемые Эксперты!
Возникла следующая очень затруднительная ситуация...
Необходимо написать программу, которая будет обрабатывать данные. необходимые данные логически можно разделить на 2 базы данных. Исходя из своих знаний задача была решен...
Вопрос № 95.224
Подскажите,как можно в Delphi 6 зделать так,что бы путь в команде
WinExeC('здесь прописывается путь к exe-файлу' , SW_RESTORE) пользователь мог сам задовать, домустим в компоненте Edit и путь сохранялся?
Отвечает: Виктор Пырлик
Здравствуйте, Хакеров Алексей Андреевич!
В приложении полный код программы. Для того, что бы он "просто" заработал - разместите на форме TEdit два TButton (имя: btnOpenFile и у второго btnExecFile)
и компонент TOpenDialog.
Сохранять будетв реестре (от туда и загружать)
Приложение:
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: 9-ый класс)
Ответ отправлен: 15.07.2007, 22:32
Вопрос № 95.304
Работаю с dbf–файлами (dbf IV). Как программно упаковать таблицу (т.е. реально удалить записи, в DataBase Desktop ставиться галочка возле Pack Table)?
Отправлен: 16.07.2007, 14:56
Вопрос задал: ALEXEY (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Виктор Пырлик
Здравствуйте, ALEXEY!
Упаковка таблиц dBASE требует вызова BDE функции DbiPackTable. Пример ее использования показан в приложении, включая проверку на ошибки. Чтобы воспользоваться функцией DbiPackTable, вызывающий модуль должен в своей секции uses иметь модули-обертки BDE DbiTypes, DbiErrs и DbiProcs.
При неудачном вызове DbiPackTable, сообщение об ошибке не генерится. Для того, чтобы понять как функция сработала, вам необходимо проверить возвращаемое ею значение. В случае успешного выполнения возвращаемое значение равно DBIERR_NONE. Любое другое значение указывает на ошибку, а с помощью него можно определить саму ошибку, ее причину, и наметить действия, необходимые для ее устранения.
Приложение:
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: 9-ый класс)
Ответ отправлен: 16.07.2007, 15:07 Оценка за ответ: 5 Комментарий оценки: хороший ответ
Вопрос № 95.334
Уважаемые Эксперты!
Возникла следующая очень затруднительная ситуация...
Необходимо написать программу, которая будет обрабатывать данные. необходимые данные логически можно разделить на 2 базы данных. Исходя из своих знаний задача была решена средствами BDE, но возникла проблема с переносом это программы... пакет БДЕ для клиентской машины решился... но на его место пришел другой:
- Можно ли сделать программу, работающую с базой данных так, чтоб перенос ПО не требовал установки каких-либо драйверов на машине пользователя.
P.S.: Вариант использования Аксеса неприемлем. т.к. требует его наличия у пользователя (если я нече не путаю).
Отвечает: Shveps
Здравствуйте, Василенко Алексей Васильевич!
Хорошо зарекомендоваля себя технология ADO. Все драйвера и провайдеры данных уже есть Windows. Пакет MDAC можно обновить до версии 2.9. Хотя в W2000 он уже этой версии.
--------- Пиво ф топку !!! Водку Тоже !!!
Ответ отправил: Shveps (статус: 3-ий класс)
Ответ отправлен: 16.07.2007, 20:38
Отвечает: Архангельский Андрей Германович
Здравствуйте, Василенко Алексей Васильевич!
Используйте СУБД Firebird - бесплатная, маленькая, практически не требует администрирования. В качестве компонентов доступа - IBX (вкладка Interbase) в Delphi7 и никаких драйверов.
Кроме того Firebird Прекрасно работает в сети и на CD.
--------- Если дело заслуживает быть сделаным, то оно заслуживает, чтобы его сделали ХОРОШО
Отвечает: Виктор Пырлик
Здравствуйте, Василенко Алексей Васильевич!
Технология BDE безнадежно устарела, не только как не отвечающая современным требованиям организации информационного пространства, но и сами драйверы уже часто работают не корректно или не удовлетворительно. К тому же, с проблемой распространения ПО вы столкнулись сами.
Следовательно, выбор приходится на технологию «клиент-сервер». Access не является СУБД этой технологии, хотя, можно организовать и такую архитектуру. Но, данный формат подходит к небольшим по объему данных и с малой интенсивностью обращений.
Можно выбрать Intebase/Firebird – в частности Firebird, как свободную, экономичную, не требующею администрирования, быструю, многоплатформенную, соответствующую стандарту SQL 99 СУБД. К тому же, Delphi имеет «родные» компоненты для работы с этой системой БД.
Или, выбрать технологию ADO, и в частности, использовать MS SQL (вполне подойдет 2000 версия, или Express Edition 2005 – свободно распространяемая). Привлекательность такого выбора в том, что, для Windows это «родная» система и следовательно, проблем с подключением вашего приложения нет как и интеграции например, в MS Office (например, Excel).
Другие варианты СУБД я не рассматриваю, по причине сложности их реализации средствами Delphi.
-----------------------------------------------
С учетом затрат на разработку и сопровождение, а также стоимость продуктов, я бы рекомендовал СУБД Firebird. Перенос приложения практически будет «безболезненным». Для распростронения ПО будет достаточно одного «ехешника». Таким образом, ответ на ваш ворос - переносите базу данных на Firebird и все указаные вами проблемы снимуться.
PS: У меня сомнения, в необходимости имено 2-х баз. Возможно имеет смысл пересмотреть организацию БД. Напишите мне - я постораюсь помочь.
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: 9-ый класс)
Ответ отправлен: 16.07.2007, 21:52
Отвечает: Igor_
Здравствуйте, Василенко Алексей Васильевич!
Я тоже порекомендую Firebird.
Для того, чтобы заработал клиент, Вам будет достаточно положить в папку с программой только один файл gds32.dll - и все будет работать, ничего устанавливать не нужно.
Ответ отправил: Igor_ (статус: 3-ий класс)
Ответ отправлен: 17.07.2007, 10:02
Отвечает: Примак Руслан Николаевич
Здравствуйте, Василенко Алексей Васильевич!
Хотел бы добавить к предыдущим ответам по Firebird, есть Firebird Embedded, который позволяет осуществлять все функции сервера и клиента БД без какой либо установки, все файлы располагаются в директории приложения.
Также могу вам посоветовать DBISAM. Тоже, не требует установки.
Краткое сравнение:
Опция Firebird Emb DBISAM
Защита паролем Нет Да, защита каждой таблицы отдельным
паролем, плюс шифрование
UDF, Хранимые Да Нет
процедуры, Events,
триггеры
Ответ отправил: Примак Руслан Николаевич (статус: 3-ий класс)
Ответ отправлен: 17.07.2007, 11:49
Отвечает: Маренич Владимир
Здравствуйте, Василенко Алексей Васильевич!
На сколько я понял, то Вам не нужна супер СУБД на SQL. Можете попробовать в таком случае работать с форматом DBF без каких-либо драйверов. Есть такой компонент TDBF (http://sourceforge.net/projects/tdbf). Он полностью совместим с TDataSet и поэтому внедрить вместо BDE-шных не составит труда.
Если надо что-то помощнее, то придется-таки ставить у пользователей Firebird...
Ответ отправил: Маренич Владимир (статус: Студент)
Ответ отправлен: 17.07.2007, 12:40
Отвечает: Delph
Здравствуйте, Василенко Алексей Васильевич!
В дополнение к вышесказанному могу порекомендовать ещё одну СУБД: PostgreSQL. Я не могу сказать, что PostgreSQL однозначно лучше, чем Firebird, впрочем и обратное тоже вряд ли обоснуют. Лично мне PostgreSQL понравился больше, хотя разобраться с ним оказалось сложнее. Если я Вас заинтересовал, скачивайте PostgreSQL с
http://wwwmaster.postgresql.org/download/mirrors-ftp?file=%2Fbinary%2Fv8.2.4%2Fwin32%2Fpostgresql-8.2.4-1.zip
(около 25 мегабайт).
Если же Вы всё-таки предпочитаете Firebird, то Вам понадобится ещё IB Expert для удобного управления как самой СУБД, так и базами данных (можно, конечно, обойтись и без IB Expert, но тогда жизнь Вам покажется кошмаром).
По всем вопросам с установкой и дальнейшей разработкой готов помочь.
P.S. Обе упомянутые СУБД распространяются свободно, т.е. Вам не придётся делать никаких отчислений, не считая обычного трафика Internet.
Ответ отправил: Delph (статус: 4-ый класс)
Ответ отправлен: 17.07.2007, 15:50