Программа-упаковщик DBF-файлов

Не секрет, что при удалении из DBF-базы записи, она не удаляется, а просто помечается как удалённая…

Не секрет, что при удалении из DBF-базы записи, она не удаляется, а просто помечается как удалённая, при этом физически оставаясь на своём месте и занимая место. Понадобилось мне почистить очень разросшуюся за годы DBF-базу. Сделал это средствами 1С, но мне это показалось не очень удобным (так как сама из под себя 1С база не упакуется), и родилась идея реализовать сабж в отдельной утилите на Delphi. Программа перебирает все BDF-файлы в выбранной директории, упаковывает их, и удаляет соответствующие CDX-файлы. Требует BDE engine.

Прошу сильно не пинать — всего лишь проба пера на Дельфе.

Приветствуются дельные замечания, исправления и наставления на путь истинный, пустобрехи — «не зачет».

99 Comments

  1. MRAK

    а чем ТИИ с соотв. галкой хуже?

    Reply ↓
  2. CheBurator

    мдя… чтобы выдать одну команду (если мне не изменяет память zap…???) — понадобилось привлечь дельфи…

    Reply ↓
  3. CheBurator

    .. или pack?

    Reply ↓
  4. CheBurator

    пробуем — выбираем файл, жмакаем упаковать получаем ошибку борланд энжайн.. смотрим.. ааа! вместо выбранного файла подставилась маска путь*.dbf — низачот!!!

    Reply ↓
  5. CheBurator

    фиг с ним — пишем файл ручками….

    http://s1.dump.ru/viewer/3577469/

    .

    хочется ругаться матом…

    Reply ↓
  6. wing

    «PACK TABLE ‘» + полный_путь_к_дбф + «‘»

    Вроде бы большая часть драйверов и провайдеров умеет.

    Постоянно пользую с VFPOLEDB

    Reply ↓
  7. wing

    +(6) Нарушено одно из главных правил программирования:

    Если это уже реализовано и применимо к задаче — нехрен ихобретать велосипед!

    Reply ↓
  8. vikorn

    ну и нафига оно? когда в 1с это делается одной командой…

    Reply ↓
  9. Parazyte

    (7) Ну, просил же сильно не пинать 🙁

    (1) Что такое ТИИ?

    (2) zap или pack — откуда или где такая команда?

    (4)(5) прога по моему желанию должна перебирать все DBF-файлы в выбранной директории и удалить соответственные CDX-файлы.

    (8) в 1С базу А нужно упаковывать из-под базы Б.

    Очень жесткий прессинг, всем спасибо за комменты…

    Reply ↓
  10. vikorn

    (9) сделал бы еще поддержку командной строки еще куда нишло, а так пользы ноль, даже перебор каталога и удаления cdx 5 строчек кода в 1с

    Reply ↓
  11. vasilykushnir

    Господа! Не стреляйте в пианиста — он играет, как умеет. Хотя лично мне и в голову бы не пришло писать подобное — есть же cdbfw, но дерзание заслуживает хотя бы уважения.

    Например, в лом набирать?:

    regsvr32 test.reg

    Можно написать приблуду, которая будет выполнять только одну эту команду. Удобнее? — стопудово! Так и здесь…

    Reply ↓
  12. Parazyte

    (10) Я же объяснил, что перебор файлов базы из-под самой себя невозможен, только из другой базы — мне это неудобно.

    (11) ну хоть кто-то заступился 🙂

    Reply ↓
  13. Parazyte

    (6) VFPOLEDB тож не вариант

    Reply ↓
  14. CheBurator

    (9)

    (4)(5) прога по моему желанию должна перебирать все DBF-файлы в выбранной директории и удалить соответственные CDX-файлы.

    — не знаю что она там должна и как — я как пользователь — не телепат, тем более что все равно она этого не делает…

    Reply ↓
  15. Altair777

    (0) > Прошу сильно не пинать — всего лишь проба пера на Дельфе.

    — Иди лучше тренируйся вон на… на кошках.

    © Операция «Ы» и другие приключения Шурика

    😉

    Reply ↓
  16. Parazyte

    (15) Я же просил пустобрехов не флудить, а вы только этим и занимаетесь. Эт Вам к Петросяну на форум. Там наверное все такие умные. А чтоб по доброму подсоветовать, так Вам слабо.

    (14) Попроавил описание для нетелепатов » Программа перебирает все BDF-файлы в выбранной директории, упаковывает их, и удаляет соответствующие CDX-файлы. Требует BDE engine.».

    Reply ↓
  17. CheBurator

    (16) ну так положи рядом бдеэнджайн….

    Reply ↓
  18. Parazyte

    (17) ок, понял.

    Reply ↓
  19. Арчибальд

    А что, база так разрослась, что конфигуратор не справляется?

    Reply ↓
  20. Parazyte

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

    Reply ↓
  21. Altair777

    (16) Разъясню…

    1) Какое отношение эта разработка имеет к 1С?

    2) На коммент (1) Вы так и не ответили.

    3) > так как сама из под себя 1С база не упакуется

    А под этим Вы что имели в виду?

    4) А Вы знаете сколько раз я на форуме помогал людям? А Вы? Ровно 0 😀

    Reply ↓
  22. Altair777

    (20) > над малоопытным программистом

    вот-вот… я бы не доверил обработку своих баз таким кодерам….

    Reply ↓
  23. Арчибальд

    +21 и еще альтернатива есть: Администрирование — выгрузить данные — загрузить данные. То же самое делает…

    Reply ↓
  24. Parazyte

    (21.1) я её собирася применить к 1С+DBF.

    (21.2) Ответил в (9).

    (21.3) верно, чувак. ты меня уличил в малоопытности (о чём я сообщил в предыдущем комменте).

    Вопрос снят. Признаю бесполезность этой программы для сообщества.

    Только прелюдия до (20.3) была слишком малоприятной для меня (столько сарказма и насмешек вместо дельных замечаний) и возможно носила легкомысленно-увеселитьельный характер для сообщества. Всем спасибо за отзывчивость.

    Reply ↓
  25. Altair777

    (24) из 9-ого коммента….

    (1) Что такое ТИИ?

    Замечательный ответ 😀 Честно сказать, я подумал что это шутка.

    И напрасно Вы обижаетесь. В (15) Я пытался Вам мягко намекнуть, что не стоит, не зная как следует платформу (Дельфи), заниматься такими серьезными вещами, как изменение файлов данных на низком уровне.

    А Вы в ответ начали ругаться 🙂

    Reply ↓
  26. Parazyte

    (25) Ну, уж извиняйте, намёк не так понял. Просто мне не пришло в голову (21.3), так бы я к другой среде разработки и не прибегал.

    Reply ↓
  27. Altair777

    (26) Ладно, я не злой 🙂

    Но Вы все равно осваивайте Дельфи. Гдядишь, и пригодится в будующем 😉

    P.S. А, может, и мне молодость вспомнить… что-то такое на Clipper’е написать… 😀

    Reply ↓
  28. Parazyte

    оки. В конце концов — хоть кто-то (в частности Altair777) что-то дельное сказал 🙂

    Reply ↓
  29. Altair777

    (28) снял минус 😉

    Reply ↓
  30. Parazyte

    а минуса можно было и поснимать 😳

    Reply ↓
  31. Parazyte

    (30) повторяю (28) 😀

    Reply ↓
  32. Parazyte

    + (23) хотя бы по теме. и на том спс.

    Reply ↓
  33. MRAK

    http://infostart.ru/profile/32077/, ну хоть и велосипед с неровноми колесами изобрел, но всеж молодца. Минуса, на мой взгляд, тут не нужны.

    Reply ↓
  34. Parazyte

    (33) поддерживаю. нельзя рубить начинания на корню — это же не педагогично (с) Макаренко 🙂

    Reply ↓
  35. Altair777

    (33) А вот интересно… Если по какой-то причине не все файлы будут упакованы, это скажется на ссылочной целостности?

    Анализируется ли она для помеченных на удалениях записях (на уровне dbf)? Есть у меня смутное подозрение, что да.

    И тогда неровные колеса могут привести к тяжелым последствиям…

    Reply ↓
  36. Altair777

    (34) 😀

    «Бить не нужно. А не вникнут — разъяснять!» © В. Высоцкий.

    Reply ↓
  37. Altair777

    +(36)

    — Шурик! Вы комсомолец?

    — Да.

    — Это же не наш метод!

    © Операция «Ы» и другие приключения Шурика

    Reply ↓
  38. Parazyte

    (35) прогнал несколько разных баз — проблем замечено не было. На ссылочной целостности, думаю, никак не скажется. Если какой-то файл упаковать не удается, то файл пропускается, а его CDX не трогается. Проверки на удаленные записи никакой нет — просто перебор файлов и при возможности — паковка.

    Reply ↓
  39. Altair777

    (38) Это же не в транзакции делается?

    А если свет отключат?

    Reply ↓
  40. Altair777

    (38) Я имел в виду штатную проверку ссылочной целостности.

    Пример. Удаленный элемент справочника, удаленный документ с ссылкой на этот элемент справочника.

    Файл справочника упаковался, а файл документа — нет.

    Т.е. в нем осталась ссылка на справочник. Хотя, и помеченная на удаление на физическом уровне.

    Reply ↓
  41. Parazyte

    (39) тоже вариант, нужно ИБП ставить в таком случае. То же самое может произойти и при ТИИ.

    Reply ↓
  42. Parazyte

    (40) исключено. вовремя упаковки ДБФ не удаляются записи помеченные на удаление в 1С, только те, которые в 1С не видны (удалены совсем), соответственно ссылок на них уже быть не может.

    Reply ↓
  43. Abadonna

    Команда 1С для объекта Хbase Сжать()

    Синтаксис:

    Сжать()

    Назначение:

    Сжать базу, убрав удаленные записи.

    Запускай себе ert-шку из другой базы (хоть пустой) и пакуй сколько хочешь. За это минус. За применение Дельфи — плюс (потому как Дельфи 😉 )

    Итого: НОЛЬ

    Reply ↓
  44. Parazyte

    (43) «Запускай себе ert-шку из другой базы» — не устраивает, в том то и дело. А вот то, что Альтаир подсказал в (21.3) — Вполне, и не нужно изгаляться со сторонними утилитами 🙂

    Reply ↓
  45. Parazyte

    (43) я же говорил, что уже реализовывал это средствами 1С — всё не то.

    «Итого: НОЛЬ» — и на том спасибо, хоть не минус 🙂

    Reply ↓
  46. Abadonna
    уже реализовывал это средствами 1С — всё не то.

    Дык тогда проще поставить FoxPro, там помимо ручной правки есть и команда pack.

    Что BDE engine поставить, что фокспро…

    Reply ↓
  47. Abadonna

    +(46) Кстати, на дельфе можно было и ADO заюзать

    Reply ↓
  48. Parazyte

    (47), да но это БДЕ для меня проще оказался, я ж в дельфи первый раз писал

    Reply ↓
  49. marsohod

    (43) «Плавали — знаем…»

    Метод Сжать() не работал раньше (лет пять назад, на старых релизах). Отрабатывал без ошибок, но записи не удалял. Как сейчас — не проверял, сама тема не очень актуальна.

    Reply ↓
  50. wing

    (9) Это все команды фокспро, которые понимаются большинством драйверов дбф.

    «и удалить соответственные CDX-файлы» — а потом все равно запускать 1С и ждать переиндексации? а не проще тогда сразу из-под 1С все делать?

    (13) Почему это не вариант? Да он имеет ограничения по монопольному режиму, зато прокрасно понимает cdx-ы и имеет кучу доп.функционала, т.к. это ядро фокса.

    (16) Нелогично ради такой простой операции тянуть за собой еще и BDE…

    (46) Весь фокс ставить смысла нет — достаточно VFPOLEDB.

    Reply ↓
  51. vikorn

    не я все понимаю конечно, вроде смысл то может и есть…

    а если база открыта и в ней юзеры сидят и правят доки, а тут раз и сжатие и удаление cdx

    программа может и полезная

    но в отношении 1с я ее в жизни не буду использовать, ибо штатными средствами безопаснее

    Reply ↓
  52. Parazyte

    (50)(51) читай (21.3) и (24)

    Reply ↓
  53. vasilykushnir

    Итак… Вижу тут налетели на человека: и не так свистишь, и не туда летишь…

    1. О полезности/бесполезности рассуждать не буду — ибо считаю, если хоть одному человеку облегчит жизнь, это уже польза. Хотя вместо кнопки «Выбрать файл из базы данных» я бы поставил поле выбора «Каталог БД», но это уже так… мелкие придирки и на общую картину не влияют (думаю автор по своему усмотрению изменит это дело).

    2. За попытку написать на Делфи естественно надо поощрить. Говорят — все это делается штатно. Не вопросс. Но мне почему-то, к примеру, если только «посмотреть» внешнюю обработку, сподручнее плагин Абадонны к тотал командиру, чем запускать огромадину 1С и в ней уже смотреть. Дело вкуса. А о вкусах не спорят.

    Так что давайте не забывать, что все мы, даже гуру, когда-то были начинающими. И чем больше маленьких, легеньких приблуд, облегчающих работу с 1С — тем лучше, или я люто извиняюсь…

    Reply ↓
  54. Parazyte

    (53) от такой проникновенной речи меня сразу отпустило … есть же справедливость на свете 🙂

    Reply ↓
  55. Parazyte

    и даже общий «-1» меня уже не огорчает 🙂

    Reply ↓
  56. wing

    (52) Ничего то ты не понял. Большинство комментирующих не ставят целью принизить твои умственные способности, скорее наоборот — показывают промахи для того, чтобы ты мог развиваться, а не топтаться на месте…

    Подробнее:

    BDE штука довольно мощная, но и слишком объемная для таких целей, потому я и предложил как альтернативу использовать ВМЕСТО нее VFPOLEDB, который по сути своей является одной из последних версий движка Visual FoxPro, т.е. позволяет использовать ВЕСЬ его функционал, установкой всего лишь ОДНОГО файла в систему.

    Использовать же его возможности можно откуда угодно — из 1С, delphi, VB, js, etc… (примеры и ссылки можно найти на этом форуме)

    Заметил в перечислении выше JS? — на нем твою же легику, которую ты реализовал в дельфовой проге, сделать было бы быстрее, проще и без необходимости компиляции, т.е. доработка была бы намного проще, но если тебе так уж хочется использовать дельфи — флаг тебе в руки, но BDE — это слишком круто для такой простой задачи.

    Reply ↓
  57. Parazyte

    (56) 1. «… показывают промахи для того, чтобы ты мог развиваться, а не топтаться на месте …» Естественно, я для этого и показываю свою разработку, но это не значит, что нужно ставить минусы (именно это и расстраивает, а не стимулирует к дальнейшему развитию).

    2. BDE не такая уж и большая штука — bdeinst.cab — 3,4Mb. Содержит всего один файл, который нужно за-регсрв32-ить. Его достаточно для работы БДЕ.

    3. Я не спорю про широкий выбор способов для реализации сей задачи, но я выбрал именно Дельфи в целях саморазвития, и я своей цели достиг (немного изучил Дельфи).

    Reply ↓
  58. Abadonna

    (35)

    А вот интересно… Если по какой-то причине не все файлы будут упакованы, это скажется на ссылочной целостности?

    Анализируется ли она для помеченных на удалениях записях (на уровне dbf)? Есть у меня смутное подозрение, что да.

    мдя… такие элемнетраные вещи надо бы знать 😥

    все равно как коммунист, не знающий кто такой Карл Маркс

    Reply ↓
  59. Altair777

    (58) Я задаю наводющий вопрос. А Вас есть на него ответ?

    Есть у меня смутное подозрение, что …..

    Reply ↓
  60. Abadonna
    А Вас есть на него ответ?

    Есть!!! В полях таблиц 1С (хоть dbf, хоть sql), ессть поле IsMarket.

    По нему сама 1С определяет, что запись помечена на удаление, но в самих таблицах она физически существует за милую душу, и база даже не подозревает, что запись удалена. А вот при ПОЛНОМ (непоссредственном удалении из 1С) уже БАЗА ее помечает, как удаленную, и потом может использовать эту строку (если не делали pack) для другой записи.

    Так что свои подозрения

    Есть у меня смутное подозрение, что …..

    можешь… убрать в ящик стола

    Reply ↓
  61. Abadonna

    +(60) И в школу!

    Reply ↓
  62. Parazyte

    Согласен с описанием в (60), только поле ISMARK, а не ISMRKET.

    Reply ↓
  63. Abadonna

    (62) Ну, по памяти сказал 😀

    не заглянул в dd

    Просто из вышеизложенного становится понятен уровень «чистых» одноэснегов 😀

    Reply ↓
  64. Abadonna

    А минус у тебя зря, за инициативу наказывать нельзя! Подравняю до нуля 😉

    Reply ↓
  65. Parazyte

    😀 да ладно, с кем не бывает. Я тоже не считаю себя полным профаном в 1С, однако про момент в 21.3 почемуто забыл, и понесло меня в дебри Дельфи. 🙁 🙂

    Reply ↓
  66. Parazyte

    (64) вот и спасибки — справедливость восторжествовала

    Reply ↓
  67. Abadonna

    +(64) Во, и Василий (Душелов) тебя за инциативу в плюсы выгнал 😀

    Reply ↓
  68. Parazyte

    Меня вообще отпустило после его плюса, даже захорошело как-то 🙂

    Reply ↓
  69. Арчибальд

    (67) Василий, я думаю, заплюсовал не инициативу, а отвагу. В этом я к нему присоединюсь, пожалуй.

    Девушка: Вы знаете санскрит?

    Студент: А когда сдавать?

    😉

    Reply ↓
  70. Altair777

    (60) Это я прекрасно знаю. Вопрос был в том, знает ли об этом автор?

    Позволю себе маленький ликбез 😉

    Физически запись помечается на удаление при Операции — Удаление помеченных объектов, а не мифическом при ПОЛНОМ (непоссредственном удалении из 1С)

    И при Удалить(1)

    В первом случае проверяются ссылки на эту запись.

    Reply ↓
  71. vasilykushnir

    (69)ОТВАГА?

    Что это по-вашему?

    Участвовать в корриде?

    Или в гонках Формулы 1?

    Может быть в воздушном бою на истребителе?

    А может затяжной прыжок с парашютом?

    Прыжок в пропасть на резиновой растяжке или спуск по горной реке на плоту?

    Поспорить на всю зарплату?

    Напасть на вышибалу в баре?

    Или подраться с начальником?

    Прокатиться на поломанном чертовом колесе?

    Ерунда…….все это мелочи!

    Вот что такое ОТВАГА!

    http://pics2.pokazuha.ru/pic0/n/0/6028965i0n.jpg

    Reply ↓
  72. Abadonna

    (71)

    мифическом при ПОЛНОМ (непоссредственном удалении из 1С)

    Еще раз мдя…. А удаление обработкой Спр.Удалить(1) — это мифическое?

    А если включен режим непосредственного удаления, а я на отладке для себя его именно такой включаю, — это мифический?

    Так что — еще раз в школу!

    Reply ↓
  73. vasilykushnir

    + к (70) Ну отвага, не отвага, а минуса при каких хырах? Оно что, не работает, портит данные, садит сервер? Если хоть одно с выше перечисленного, тогда да — можно предъявлять претензии, а так… Злопыхательство в чисом виде.

    Reply ↓
  74. Altair777

    И поэтому мой вопрос в (35) был правильный, хоть и наводящий 🙂

    (33) А вот интересно… Если по какой-то причине не все файлы будут упакованы, это скажется на ссылочной целостности?

    Вопрос был задан автору! И прав был Кушнир, предлагая выбирать не отдельные файлы, а каталог со всеми файлами.

    Но и УПСы не спасают от зависания компьютера при сжатии базы.

    Могут рухнуть ссылки…

    Reply ↓
  75. Altair777

    (72) Да уже ходил я в школу и не раз 🙂

    СП — моя «настольная» книга 😉

    А Удалить(1) — это криво….

    Удалить(<?>);

    Синтаксис:

    Удалить(<Режим>)

    Назначение:

    Удалить документ.

    Параметры:

    <Режим> -: 1 — непосредственное удаление, 0 — пометка на удаление (необязателен, по умолчанию — 1).

    Замечание:

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

    Reply ↓
  76. Арчибальд

    (73) Минуса от меня тут и не было никогда. 😮

    А под отвагой здесь я подразумеваю: потребовалось что-то сделать, берем незнакомый язык, резко изучаем и делаем.

    Это по-нашему (с) Душелов 8)

    Reply ↓
  77. Abadonna
    Но и УПСы не спасают от зависания компьютера при сжатии базы.

    А что, для особых идиотов автор должен был написать «сделайте сначала резвную копию»?

    Reply ↓
  78. Altair777

    Я же пишу — Внимание! Первый запуск в монопольном режиме 🙂

    Но при этом идиотами никого не называю…

    Reply ↓
  79. Altair777

    Аркадий, что ты цепляешься, а?

    Я что не прав, что ссылочная целостность может нарушиться при неполном сжатии базы?

    Reply ↓
  80. Noy

    (79) Думаю что ты не прав

    Reply ↓
  81. Altair777

    (80) сейчас проверю на тестовой базе

    Reply ↓
  82. vip

    (79) Ты не прав. Налицо непонимание элементарных вещей и неумение прислушиваться к мнению понимающих людей.

    Reply ↓
  83. Altair777

    (82) налицо желание разобраться

    Reply ↓
  84. Abadonna
    Но при этом идиотами никого не называю…

    Я разве кого-нибудь назвал? Поднимите мне веки..

    «для особых идиотов» — гипотетическое выражение

    Reply ↓
  85. Altair777

    Стоп. Если запись физически помечена на удаление, значит ссылок на нее нет.

    сорри, ступил

    Reply ↓
  86. Abadonna
    (80) сейчас проверю на тестовой базе

    еще можно запустить «Калькулятор» и проверить дествительно ли 2х2=4?

    😀

    Reply ↓
  87. vasilykushnir

    (76) Это был вопрос за минуса к тем, чьи минуса еще «висят». Но похоже риторический….

    Reply ↓
  88. Арчибальд

    (84) «Поднимите веки» — это не твое. Тебе надо говорить «Снимите с меня очки» 😀

    Reply ↓
  89. vip

    (85) Слава богу.

    Ты просто мыслишь только на уровне 1С.

    Ширше надо глядеть, не надо мистицизма там, где его нет.

    А вообще механизм ссылочной целостности реализован в 1С очень плохо.

    Перебираются ВСЕ таблицы, поэтому работает очень медленно.

    Никогда не использую, пользуюсь своими механизмами.

    А в случае, если при каком-то неучтенном условии неразрешенная ссылка появилась, ее очень легко можно вернуть на место руками.

    Reply ↓
  90. Altair777

    (86) Калькулятор — это отстой! Excel — это сила 😀

    см. (85)

    (87) см. (85)

    Reply ↓
  91. Abadonna

    (85) Слава Христу, Аллаху, Будде и прочим!

    Reply ↓
  92. Altair777

    (94) чес.слово… весь в запарке

    проблема с ИТЗ, может кто подскажет?

    проблема с группами справочника

    они не индексируются, итогов не могу получить

    Reply ↓
  93. vip

    (99) Не загаживай тематическую ветку.

    Тебе на 1cpp.ru

    Reply ↓
  94. Parazyte

    (91) >(87) см. (85)

    понял, я когда отправлял — ещё не видел (85)

    (93) — да я, как посмотрю, действительно, такие дебаты — о-го-го. Особенно весело про отвагу в (70) 🙂

    Reply ↓
  95. Altair777

    (101) Я не загаживаю… апаю разработку моего друга 🙂

    Reply ↓
  96. vip

    (106) Поразительно много у тебя друзей.

    Сам себе назначаешь?

    Reply ↓
  97. Altair777

    (109) не всех 🙂

    хм… кто-то, кажется, призывал «Не загаживай тематическую ветку.«

    Reply ↓
  98. Abadonna

    (89)

    Тебе надо говорить «Снимите с меня очки»

    Ну я ж не такой уж зверь;) Да и Азазелло в отпуске 😀

    Reply ↓
  99. wing

    (57) 2. ты указал файл дистрибутива, который потом еще распаковывает кучу файлов и устанавливает в систему, что само по себе уже не есть 1 файл.

    3. Я разве сказал что-то против дельфи? я показал только то, что есть движок доступа к данным намного роднее к ДБФ + имеющий больше возможностей (например, БДЕ не понимает Dbase5).

    (92) Дельфи был первым ООП языком, которым я овладел в самом начале своей программистской карьеры, до него был только ДОС (си, паскаль, фортран, ассемблер), а после уже все остальное (с++, пхп, перл, пролог, лисп, 1С и многое другое).

    (105) + надо изучить все имеющиемся драйверы и провайдеры, а потом уже выбирать наиболее подходящий под задачу.

    Автору стоит внимательно прочитать (105) коммент, а далее справку по ADO в дельфи и на сайте мелкомягких, если он и дальше планирует разрабатывать приложения для работы с БД.

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *