|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Delphi+Firebird самый удобный-простой метод работы
Добрый день!
С Delphi вообще не знаком. Программировал ранее на языке программирования с куда более "логически очевидным кодом" и в другой области прикладного программирования и графики. Так получилось, что попросили помочь - отредактировать старый проект Delphi + Firebird. Пытаюсь освоить... по началу всё как-то тупо и непривычно, утомляет всякая имхо неудобная фигня и лишние строки, непонятные приставки итд. Например, нужно добавить показ в таблице ещё одной колонки данных - пол дня вожусь хз как это сделать - колонку добавил, объявил в начале исходника, данные колонке из БД назначил, программа компилируется но колонка пустует... открываю файл БД там ещё тонна кода - ну таблицы понятно, тригеры понятно, но полно ещё каких-то процедур, доменов, индексов... Конечно, всё это нужно изучать, но всё же возможно вы сможете как-то помочь вначале... 1. Прошу профи посоветовать - как под Delphi 2009 + Firebird (+FIBplus +DevExpress +JVCL) наиболее легко и удобно с точки зрения логики и простоты понимания и отслеживания цепей процессов организовать работу с Firebird? Например, год назад вдруг потребовался MySQL - разобрался в нём за час! - научился создавать БД, таблицы, строки, определять типы данных, записывать данные, очищать, удалять, итд. Но в данном проекте видимо используется слишком большое кол-во шагов: создание переменной, определение типа переменной, создание процедуры для переменной, создание в интерфейсе компонент и назначение переменных, отсыл к общему блоку в Delphi работы с СУБД, взаимодействие с неким процедурами СУБД, получение, разбиение, итд. Можно ли упростить цепочку? Мне было бы намного проще: а) работать с визуальными копонентами автоматически объединяемыми в блоки (например, как в html создаётся блок с кнопкой Enter, а все поля заполняются и отправляются автоматически без необходимости каждое поле объявлять, обозначать, процедуры для него писать, без необходимости объединять все эти запросы, итд); б) работать с БД напрямую вручную - мне проще перечислить текстом 50 таблиц, чем разделять код программы на 10 различных типов кода (объявление, назначение, процедуры, функции, потом тоже самое опять в СУБД, итп), кроме того код не содержит почти никаих комментариев - тк непривычно и всё это вместе выглядит как каша! Вот ещё пример, объект с выпадающим списком называется TJvDBLookupCombo и в нём есть возможность напрямую указать данные из БД, а вот в колонках DevExpress так и не нашёл как указать напрямую нужные из БД таблицы-данные?? 2. Можно ли как-то автоматически перевести весь проект на более удобный-простой метод общения с БД? 3. Возможно также есть возможность в настройках скрыть весь код автоматически генерируемый Delphi при работе с графическим интерфейсом (формами), чтобы отображался только код написанный вручную? Чтобы просто не мешал на первых порах... 4. Посоветуйте книги по Delphi + DevExpress + FIBplus + Firebird... Заранее спасибо за подробные полезные ответы! |
#2
|
||||
|
||||
2. Найти компонент общения с БД покруче или написать свой слой в архитектуре программы для облегчения работы (я так делал при роботе с XML).
3. Не знаю насчёт настроек но я обычно делаю так: Основной класс программы пишу в отдельном файле, а в интерфейсе только связую парами строчек кода с основным обектом программы. Выходит довольно красиво (чтото наподобе Binding в WPF) |
#3
|
|||
|
|||
В DevExpress все делается через свойство DataBinding (кажется так, нет под рукой что бы точно сказать). По архитектуре ничем не отличается от стандартных компонентов за исключением того, что вынесено в одну группу.
По поводу более удобного компонента... ну вообще FIBPlus опять же сделать в соответсвии с общей архитектурой DB-Aware компонентов. Так что та груда кода, на которую ты жалуешься есть чье-то творчество. В идеале, можно вообще обойтись без строчки custom кода, хотя для некоторого удобства порой надо использовать доп. сторки. По поводу скрытия кода... да весь генерированный код находится вверху модуля, в секции interface. Все что ниже - это собственно код, отвечающий за работу формы... |
#4
|
|||
|
|||
Уважаемые профи - будьте так любезны дать ссылки на простые примеры или возможно сможете написать сами небольшой пример вида:
БД Firebird с таблицей, триггером, доменом - форма в Delphi с таблицей FIBplus/DevExpress - всё это с наиболее правильной логической организацией взаимодействия Delphi-СУБД на ваш взгляд... чтобы лучше понять как делать правильно... |
#6
|
|||
|
|||
Спасибо, прочитаю!
|
#7
|
|||
|
|||
а какой язык лучше
А вообще- то ребята все мы говорим не о том.
Я много раз наталкивался на дискуссии на тему : какой язык лучше. Очень многие хвалят C (и его модификации) Многие- Pascal (и его модификации, включая Delphi). Мне, например, очень импонирует незаслуженно забытый язык Modula- универсальный язык предназначен для системного программирования и для разработки встроенных систем. Язык академически строг и точен, не допускает никаких вольностей но и возможности для программирования предоставляет достаточно. Великолепен язык ADA- этот язык разрабатывался специально по заказу Мин. Обороны США. Язык очень сложный, но если у вас хватило выдержки его изучить- вы не пожалеете. Оба они основаны на языке Pascal и их предшественнике- языке Algol. Что же до языка С- то мой опыт ограничен. Я с самого начала столкнулся с присущими этому языку недостатками: нестрогой типизацией, отвратительным синтаксисом и неясностью кода. Вообще, клон Pascal дает чрезвычайно ясный самодокументирующийся код, не требующий комментариев. Язык С- Хмм.... попробуйте разобраться в собственном коде допустим через полгода. Но главное даже не в этом. Загоняя дискуссию в тему «а какой язык лучше» мы уходим от главного- а для чего собственно пишет программист? Мой ответ- программист пишет для пользователя. А ему (пользователю) ровным счетом наплевать на каком языке написана программа. Просто она должна делать то, что он от нее ожидает. И это все. Разумеется, не все. Дело в том, что программист- не просто наблюдатель, но и активный соучастник всего процесса. Именно программист должен до тонкости изучить работу данного отдела, понять все взаимосвязи и перевести их на язык, понятный компьютеру. А вот после этого- написать программу. Я часто сталкивался с ситуацией, когда в общем- то неплохой программистский коллектив предлагал нам совершенно негодные программы. И это не потому, что они жулики. Нет, это грамотные молодые люди, недавно окончившие ВУЗ, знающие по 2-3 языка. Просто люди ни дня не работали в реальном производстве, не знают реальных потребностей и реальных трудностей, ну а заработать хочется... Вот почему я всегда говорю, что лучший программист- это тот, который у вас работает. В моей практике были примеры, когда казалось бы хорошо написанная программа проваливалась. Причин всегда было 2: 1- Я не угадал реальной потребности подразделения и моя программа оказалась невостребованной. 2- Не было политической воли руководства изменить структуру подразделения и взаимосвязи с другими подразделениями и внедрить эту мою программу. Итак, завершая свое выступление, прошу модератора 1. Ввиду бесперспективности в дальнейшем не рассматривать запросы на тему «Какой язык лучше». Всегда лучше тот что ты лучше знаешь. 2. Перенести данную дискуссию в раздел «Бессмысленный треп» |
#8
|
|||
|
|||
chainik
Такой большой постинг у тебя и такой бессмысленный. Название темы - вопрос по взаимодействию Delphi и Firebird, обсуждения "какой язык программирования лучше" - тут вообще нет, тк уже использован Delphi. Учись читать. Прошу модератора потереть бессмысленный постинг чайника. |