Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Мастера DELPHI. Новости мира компонент, FAQ, статьи...


Информационный Канал Subscribe.Ru

Ежедневная рассылка сайта Мастера DELPHI

DELPHI.mastak.ru

Выпуск от 10.02.03 09:04

Обновился дайджест по FAQ. Скачать можно здесь
Вышел очередной дайджест форумов. Скачать можно здесь
Кое-что из нашей кладовки   |x|
  • RefreshIcons aga vlader2002@mail.ru   (08.02.03 18:24)
    Компонент который заставляет Windows перестроить кеш значков(обновляет их)
    »»» Скачать: исходные тексты
Лучшее из нашего FAQ   |x|
Зачем нужен TAction ?
Hужны они для синхронизации свойств Enable, Checked, ImageIndex, Caption, Hint, OnClick и т.п. различных контролов. Hаиболее часто применяется для кнопок и элементов меню. Сильно облегчает разработку дружественных сред, когда до какого-то действия можно добраться через кнопку toolbar'а, MainMenu'шку и PopupMenu'шку:
1. Создал Action, проставил св-ва (Caption, Hint, ImageIndex и т.п.)
2. Прописал действие на OnExecute (если не лениться и задавать нормальные имена Action'ам, то процедуры тоже будут иметь нормальные имена)
3. Прописал на TAction.OnUpdate условия для Enabled, Checked и т.п.:

procedure TForm1.DBConnectUpdate(Sender: TObject);
begin
Checked := Database1.Connected;
Enabled := (FUserName + FPassword) <> '';
end;

4. Проставил всем компонентам, активизирующим это действие, свойства Action и, если надо, ImageList.
Без экшинсов тебе пришлось бы всем контролам проставлять Captio! n'ы, хинты, имагиндексы и т.п.. Прописывать везде, где надо, куски типа

BtnConnect.Enabled := экспр
PUConnect.Enabled := экспр
PDConnect.Enabled := экспр
BtnConnect.Checked:= др.экспр
PUConnect.Checked := др.экспр
PDConnect.Checked := др.экспр

и следить за тем, чтобы все кнопки/меню итемы и т.п. соответствовали:
пользователь сделал изменение, хочет сохранить, а у него в менюшке по правой кнопке пункт Save - запрещен. И расскажи ему, что у него в MainMenu/File/Save - разрешился, а этот - "забыл".
Далее, можно спокойно "нарисовать" этот ActionList с Action'ами, набросать кнопок на один ToolBar, проработать функциональность, а уже потом не напрягаясь и не думая, где какой код вставить, "дорисовывать" менюшки и кнопки. При этом, когда надо одну кнопку грохнуть, а другую добавить - это не напрягает, т.к. ничего важного элемент кнопки не содержит. Всю информацию о поведении этой кнопки содержит соответствующий! Action.
Вывод: снижает трудозатраты на разработку пользовательского интерфейса - снижает вероятность ошибки. Hакладные расходы оценить не пытался (они безусловно есть), но думаю, что они в большинстве случаев не существенны.

Комментарий от Max Rezanov

это правильно оценивать и не пытайся Ж:-)))
1. Открываем проект
%Delphi4%\Demos\Richedit\richedit.dpr
2. Форма MainForm
2.1 секция

private
FFileName: string;
FUpdating: Boolean;
FDragOfs: Integer;
FDragging: Boolean;
добавили
>> i1 : integer;

2.2 затем

procedure TMainForm.FormCreate(Sender: TObject);
var
ScreenLogPixels: Integer;
DC: HDC;
begin
... чик, чик.. просто проустили строки
добавили
>> i1 := 0;
end;

2.3. затем полный рулез

procedure TMainForm.ActionList2Update(Action: TBasicActio! n;
var Handled: Boolean);
begin
{ Update the status of the edit commands }
EditCutCmd.Enabled := Editor.SelLength > 0;
EditCopyCmd.Enabled := EditCutCmd.Enabled;
if Editor.HandleAllocated then
begin
EditUndoCmd.Enabled := Editor.Perform(EM_CANUNDO, 0, 0) <> 0;
EditPasteCmd.Enabled := Editor.Perform(EM_CANPASTE, 0, 0) <> 0;
end;
добавили
>> inc(i1);
>> StatusBar.Panels[2].Text := inttostr(i1);
end;

3. запуск
У меня после старта 1602 вызова ActionList2Update
повели мышкой по окну 32К вызвовов
на текущий момет пишу письмо, проект висит, я тама немного поелозил
мышей около 1М вызовов, 0.912М, если быть точным Ж:-((

Резуме:
1. Все выше перечисленное не значит что я не рекомендую использовать
ActionList.
2. Надо думать, что именно выносить на Update(SQL-запрос скорее всего
не надо Ж:-))))
3. О сколько на! м открытий нудных.....

»»» Прислать свои комментарии

Обсуждается в конференциях   |x|
  • MIDAS сервер на TRemouteDataModule. Как передать сооб-е клиентам?
    Такая проблема : Построил MIDAS сервер на TRemouteDataModule. На клиенте использую TSocketConnection (сервер построен ...
  • MessageDlgPos
    Никак не соображу, как диалог MessageDlgPos поместить по центру основной формы. Что задать в X и Y?
  • Вопрос неверно глупый, и все же....
    Как сделать докинговое окно так, чтобы оно выглядело как Code Exploer в Делфи? Т. е. После старта программы ...
  • Резидентность в win2000
    Как можно сделать, чтобы процесс win2000 не завершался при смене пользователя? Если единственный выход - запуск как ...
  • Вход под одним логином
    Очень странно, что в базу можно зайти под одним аккаунтом сразу с нескольких компьютеров. Это можно поправить ?
  • winlogon
    Мастаки, подскажите пожалуйста, по какому адресу следует читать память winlogon, чтобы прочитать свой пароль?
  • программный вызов isql
    В программе запускаю isql -i <скрипт> Как можно узнать о результатах выполнения скрипта в программе? По крайней ...
У нас большой выбор статей   |x|
Cоветы по Delphi
На сайте достаточно часто можно услышать вопросы общей направленности, повторяющиеся не по одному разу... Чтобы частично разгрузить форум и чат сайта, решено было написать данную подборку вопросов.
Новинки книжного рынка   |x|
Delphi 5: учебный курс
В книге рассмотрены возможности системы программирования Delphi 5, описан язык программирования Object Pascal, рассмотрены визуальные компоненты системы и методы их создания. Особое внимание уделено принципам и практическим приемам создания сетевых приложений для разных архитектур и разработке программ, поддерживающих основные протоколы Интернета.Не требует специальной подготовки, может быть использована как пособие для изучающих основы программирования и сетевые технологии, а также как справочник по компонентам Delphi и пособие для самообразования.
Автор: С. Бобровский
Другие сайты о DELPHI   |x|
ICQ2000 Сделай Сам :)
Сайт для тех, кто интересуется протоколами ICQ.
Описана работа протокола ICQ2000a (ICQv7),
Подробно-комментированные исходные коды для Delphi-5 прилагаются.
(ICQ2000 для начинающих и не ...

» Оценка сайта: 3
Опрос населения :)
Новый журнал для программистов "RSDN Magazine". Согласны ли вы его покупать ежемесячно?
»»» Да
»»» Нет
Журнал "RSDN Magazine"  |x|

Дорогие друзья! Мы рады представить вам новый совместный проект сайтов www.rsdn.ru, delphi.mastak.ru и www.optim.ru - профессиональный журнал для программистов RSDN Magazine.
Несомненно, ваше мнение о необходимости такого журнала, содержании рубрик и темах отдельных статей поможет сделать журнал более полезным и интересным. Высказать свое мнение, проголосовать или же подписаться вы можете на сайте. Без вашего участия, нам будет трудно сделать правильный журнал!
На сайте выложен анонс пилотного выпуска журнала, вступительное слово от редакции.

Для души

Хокку дня
Печальный мир!
Даже когда расцветают вишни...
Даже тогда...

Афоризмы
Переходя дорогу только на зеленый свет, тоже можно попасть под машину....

Фраза дня
Ну что уставился, как маздай на новое устройство?

Дурацкие законы (информация предоставлена сайтом kurilka.com)
В Хартфорде в Коннектикуте официально запрещено открывать общеобразовательные классы для собак.
Жителям Нью Йорка запрещается при встречах в виде привествия "хватать друг друга за нос".

И на закуску коротенький анекдот
- Пап, дай 500 рублей.
- Зачем?
- Да на четыре поменяю.
- Это по какому курсу?
- По философии.

Фотоприколы.
Начните день с хорошего настроения!
http://delphi.mastak.ru/cgi-bin/prikol.pl?id=26211


На этом позвольте откланяться и пожелать вам удачного дня.
Искренне ваш, Алексей (delphi@mastak.com)

Добро пожаловать на сайт -= Мастера DELPHI =- 


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное