Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Разное > Флейм
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.07.2011, 20:10
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
Вопрос 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  
Старый 05.07.2011, 21:54
Аватар для Developer
Developer Developer вне форума
Прохожий
 
Регистрация: 01.07.2011
Адрес: Украина
Сообщения: 27
Версия Delphi: 7, 2009
Репутация: 75
По умолчанию

2. Найти компонент общения с БД покруче или написать свой слой в архитектуре программы для облегчения работы (я так делал при роботе с XML).
3. Не знаю насчёт настроек но я обычно делаю так: Основной класс программы пишу в отдельном файле, а в интерфейсе только связую парами строчек кода с основным обектом программы. Выходит довольно красиво (чтото наподобе Binding в WPF)
Ответить с цитированием
  #3  
Старый 05.07.2011, 22:09
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,020
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

В DevExpress все делается через свойство DataBinding (кажется так, нет под рукой что бы точно сказать). По архитектуре ничем не отличается от стандартных компонентов за исключением того, что вынесено в одну группу.

По поводу более удобного компонента... ну вообще FIBPlus опять же сделать в соответсвии с общей архитектурой DB-Aware компонентов. Так что та груда кода, на которую ты жалуешься есть чье-то творчество. В идеале, можно вообще обойтись без строчки custom кода, хотя для некоторого удобства порой надо использовать доп. сторки.

По поводу скрытия кода... да весь генерированный код находится вверху модуля, в секции interface. Все что ниже - это собственно код, отвечающий за работу формы...
Ответить с цитированием
  #4  
Старый 05.07.2011, 22:50
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
По умолчанию

Уважаемые профи - будьте так любезны дать ссылки на простые примеры или возможно сможете написать сами небольшой пример вида:
БД Firebird с таблицей, триггером, доменом - форма в Delphi с таблицей FIBplus/DevExpress - всё это с наиболее правильной логической организацией взаимодействия Delphi-СУБД на ваш взгляд... чтобы лучше понять как делать правильно...
Ответить с цитированием
  #5  
Старый 05.07.2011, 23:56
antikiler antikiler вне форума
Прохожий
 
Регистрация: 16.03.2011
Сообщения: 23
Репутация: 24
По умолчанию

Незнаю, может пригодиться. Вот и вот

Последний раз редактировалось antikiler, 06.07.2011 в 00:00.
Ответить с цитированием
  #6  
Старый 06.07.2011, 22:04
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
По умолчанию

Спасибо, прочитаю!
Ответить с цитированием
  #7  
Старый 09.07.2011, 16:03
chainik chainik вне форума
Начинающий
 
Регистрация: 30.06.2008
Сообщения: 140
Репутация: 8882
По умолчанию а какой язык лучше

А вообще- то ребята все мы говорим не о том.
Я много раз наталкивался на дискуссии на тему : какой язык лучше.
Очень многие хвалят C (и его модификации) Многие- Pascal (и его модификации, включая Delphi). Мне, например, очень импонирует незаслуженно забытый язык Modula- универсальный язык предназначен для системного программирования и для разработки встроенных систем. Язык академически строг и точен, не допускает никаких вольностей но и возможности для программирования предоставляет достаточно.
Великолепен язык ADA- этот язык разрабатывался специально по заказу Мин. Обороны США. Язык очень сложный, но если у вас хватило выдержки его изучить- вы не пожалеете. Оба они основаны на языке Pascal и их предшественнике- языке Algol.
Что же до языка С- то мой опыт ограничен. Я с самого начала столкнулся с присущими этому языку недостатками: нестрогой типизацией, отвратительным синтаксисом и неясностью кода. Вообще, клон Pascal дает чрезвычайно ясный самодокументирующийся код, не требующий комментариев.
Язык С- Хмм.... попробуйте разобраться в собственном коде допустим через полгода.
Но главное даже не в этом. Загоняя дискуссию в тему «а какой язык лучше» мы уходим от главного- а для чего собственно пишет программист?
Мой ответ- программист пишет для пользователя. А ему (пользователю) ровным счетом наплевать на каком языке написана программа. Просто она должна делать то, что он от нее ожидает. И это все.
Разумеется, не все. Дело в том, что программист- не просто наблюдатель, но и активный соучастник всего процесса. Именно программист должен до тонкости изучить работу данного отдела, понять все взаимосвязи и перевести их на язык, понятный компьютеру. А вот после этого- написать программу.
Я часто сталкивался с ситуацией, когда в общем- то неплохой программистский коллектив предлагал нам совершенно негодные программы. И это не потому, что они жулики. Нет, это грамотные молодые люди, недавно окончившие ВУЗ, знающие по 2-3 языка. Просто люди ни дня не работали в реальном производстве, не знают реальных потребностей и реальных трудностей, ну а заработать хочется...
Вот почему я всегда говорю, что лучший программист- это тот, который у вас работает.
В моей практике были примеры, когда казалось бы хорошо написанная программа проваливалась. Причин всегда было 2:
1- Я не угадал реальной потребности подразделения и моя программа оказалась невостребованной.
2- Не было политической воли руководства изменить структуру подразделения и взаимосвязи с другими подразделениями и внедрить эту мою программу.

Итак, завершая свое выступление, прошу модератора
1. Ввиду бесперспективности в дальнейшем не рассматривать запросы на тему «Какой язык лучше». Всегда лучше тот что ты лучше знаешь.
2. Перенести данную дискуссию в раздел «Бессмысленный треп»
Ответить с цитированием
  #8  
Старый 09.07.2011, 17:08
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
По умолчанию

chainik
Такой большой постинг у тебя и такой бессмысленный.
Название темы - вопрос по взаимодействию Delphi и Firebird, обсуждения "какой язык программирования лучше" - тут вообще нет, тк уже использован Delphi. Учись читать.

Прошу модератора потереть бессмысленный постинг чайника.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:26.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter