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

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


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

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

DELPHIMASTER.ru

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

Кое-что из нашей кладовки   |x|
  • Matlib millennium   (29.01.04 09:14)
    модуль для подсчета вырожений поддерживает
    + - * / и скобки довольнотоки быстрый считает так
    var x:real;
    x:=results(вырожение:string);
    »»» Скачать: исходные тексты
Лучшее из нашего 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.
Без экшинсов тебе пришлось бы всем контролам проставлять Caption'ы, хинты, имагиндексы и т.п.. Прописывать везде, где надо, куски типа

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: TBasicAction;
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|
  • Edit+выпадающий список
    Как можно приделать к Edit выпадающий список от ComboBox? ComboBox я использовать не могу, потому что у него нет ...
  • idl2pas и ее встроенность в Delphi
    У меня возникли следующие проблемы: 1. Когда я делаю в Delphi 6 new|other|Corba Client Application. В диалоговом окне ...
  • как получить список служб и их состояние?
    Приветсвую всех! sybj Заранее длагодарен за ответ. С уважением Алексей.
  • Игрушки на pascal-скриптах
    Всем привет! Вот задумал сабж затеять. Встроить в приложение интерпретатор pascal-скриптов, задать базовые функции по ...
  • чат и передача данных в сети
    Здаствуйте мастера! раскажите как в Дельфи можно сделать чат с серверным приложением и как вообщем можно сделать ...
  • Ping
    Здрасти тут понадобилось пингануть из своей проги комп в сети Сдела как описано в статье http://delphi.mastak....
  • TDBLookupComboBox
    Мастера, помогите пожалуйста. С SQL-сервера делаю запрос из таблицы A(ID(int),Name(varchar)).По данным запроса формирую ...
У нас большой выбор статей   |x|
Обзор Kylix. Работа с клиентскими наборами данных.
В данной части будет рассмотрено применение клиентских наборов данных в dbExpress. Согласно иерархии классов в Kylix к клиентским наборам данных относятся классы TSQLClientDataSet и TClientDataSet. Последний из них является частью технологии MIDAS. Так как на сегодняшний день поддержка данной технологии в Kylix до конца не реализована, то основное внимание мы уделим рассмотрению TSQLClientDataSet.
Новинки книжного рынка   |x|
3ds max 5 . Учебный курс (+CD)
Если вы увлекаетесь 3D-графикой и хотите освоить новейшую версию пакета 3ds max — не пропустите эту книгу! В ней автор не только знакомит с интерфейсом и инструментами пакета, но и раскрывает секреты композиции трехмерных сцен, выявляет дополнительные возможности традиционных инструментов, показывает, как простейшими средствами добиться максимальной выразительности света и материалов, приобрести полный контроль над движением объектов при анимации. Книга будет полезна всем, кто только начинает осваивать премудрости компьютерной 3D-графики и анимации, а также тем, кто хотел бы в полной мере ощутить превосходство 3ds max 5 над предыдущими версиями программы. На прилагаемом к книге компакт-диске собраны не только цветные иллюстрации и файлы к упражнениям, но и дополнительные программы для 3ds max 5.
Автор: Бордман Т.
Другие сайты о DELPHI   |x|
Coding World
Сайт посвящен программированию и веб-мастерингу. У нас вы найдете много материалов по программированию дельфи php c++ perl, статьи для линуксойдов, обзоры редакторов, статьи для веб-мастеров. ...

» Оценка сайта: 3
Опрос населения :)
Что мешает плохому танцору?
»»» Эти штуки... ;)
»»» Танцовщица
»»» Крылья
»»» Оппозиция
»»» Что и хорошему
»»» Ничего мне не мешает!
Для души

Хокку дня
У луны
на секунду
кошачьи усы.

Афоризмы
Сколько рабов, столько врагов....

Фраза дня
Спасибо в кровать не положишь.

Дурацкие законы (информация предоставлена сайтом kurilka.com)
В городе Дюранго в Колорадо (США) считается преступлением появиться на улице в одежде, присущей другому полу.
В городе Лехай в Небраске (США) издано блестящее по идиотизму распоряжение, официально запрещающее продавать дырки от бубликов.

И на закуску коротенький анекдот
- Я его назвал Шараповым, потому что когда смотришь на него - так и хочется сказать: "Ну и рожа у тебя..."!

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


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

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


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

В избранное