
Продолжение... Начало в статье - Как правильно делать поиск в ADO? Часть 1
BDE (вовсе не ADO) Дельфи нам предоставляет для работы с нашими таблицами базы данных определённые функции, позволяющие поиск производить нужных значений... Читать далее »

Продолжение... Начало в статье - Как правильно делать поиск в ADO? Часть 1
BDE (вовсе не ADO) Дельфи нам предоставляет для работы с нашими таблицами базы данных определённые функции, позволяющие поиск производить нужных значений... Читать далее »

Наиболее известная задача, которую приложения решают, работающие именно с базами данных – представляет собой поиск нужных записей по заданному нами критерию. В Дельфи, компоненты ADOExpress в себя включают способы поиска записей, которые являются фактически полностью идентичными к тем, используются которые в BDE... Читать далее »
Компонент под названием IdHTTP в Дельфи размещается на самой вкладке Indy Clients… Читать далее »

В данном посте, давайте рассмотрим комонент Timer...Компонент под названием Timer, в среде программирования Delphi, предназначен для пуска процедур, а также функций и событий в указанные временные интервалы... Читать далее »

При необходимости закрытия окна, если вы нажмете на кнопку Escape, то закроется "вторичное" окно программы, а вовсе не самое главное. К примеру, для ввода значений... Читать далее »
Делая одну программу, понадобилось смоделировать переход по ячейкам VirtualTreeView с помощью кнопки Tab. Перехват Tab-а отдельный разговор =), а вот переход по ячейкам сейчас обсудим.
Дело в том, что при переходе по ячейкам VT сразу вызывает редактирование нода, в связи с чем у меня возникала ситуация, когда на редактирование вызывалась не правильная ячейка. Т.е., если реализуете перемещение по ячейкам сами, делайте примерно так:
with vtGrid do
begin
TreeOptions.MiscOptions := vtGrid.TreeOptions.MiscOptions - [toEditable];
Selected[lNode] := True;
FocusedNode := lNode;
FocusedColumn := lColumn;
TreeOptions.MiscOptions := vtGrid.TreeOptions.MiscOptions + [toEditable];
EditNode(lNode, lColumn);
end;
В таком варианте все работает так, как и ожидается.
P.S.: отметьте для себя еще один момент - очередность присваивания фокуса в дереве - сначала SelectedNode, потом FocusedNode и только после этого FocusedColumn! Только так и никак иначе! В ином случае вас ждут не приятные сюрпризы
На, уважаемом мною, сайте увидел ссылку на . Я и до этого с трудом переносил его книги и статьи, но эта статья просто возмутила!
Намного проще изменить стандартный компонент TButton и больше никаких изменений в проекте делать не надо.
Как так можно??? Вместо того, чтобы объяснить новичкам, что это ОЧЕНЬ не желательно, он призывает поступать именно так. Ну в конце-концов - есть хелперы в новых (и, относительно, не новых. например D2006) версиях Delphi.
Я понимаю, что иногда это будет полезно, но такие случаи очень-очень редки. А новички, прочтя подобную статью, будут именно так и поступать. Что-то мне не вериться, что в какой-либо компании, занимающейся разработкой программ и в которой больше одного программиста, будут поступать подобным образом.
Итог - НИКОГДА так не делайте и перестаньте читать Фленова!
Что-то не видно желающих написать пост про VirtualTreeView для конкурса. Жаль...
Ну тогда я сам попробую
. Тем более, что нашелся подходящий повод.