Вверх ↑
Гость
Ответов: 17029
Рейтинг: 0
#1: 2004-07-20 03:34:57 ЛС | профиль | цитата
Все написанное ниже полностью совместимо с предыдущими версиями. Оно лишь добавляет новые ствойства и события, никак не мешая старым. Грандиозное упрощение алгоритмов!

В Edit добавил свойство

IgnoreFirstEvent=Если True, то игнорировать одно первое событие onChange, которое происходит автоматически при старте приложения.|4|0|False,True

Это - чтобы при старте программы не создавалось событие, которое никто не вызывал. Которое, в свою очередь, приведет к записи значения и затиранию пустой строкой переменной в ресстре.

И событие

doText2=Уcтaнaвливaeт текст в поле ввода, но не генерирует событие onChange|1

Аналогично - чтобы можно было задать значение поле, избежав автозаписи. Крайне бесит беспричинные события, из-за которых нужно вещать счетчики собыйти, чтобы определять реальные действия юзера по значению счетчика на кол-во срабатываний событий. Такие свойство и события, в принципе, нужны у всех элементов интерфейса.

-------------

LedKey расширил свойствами

doNumLock=переключает режим клавиши NumLock|1
doCapsLock=переключает режим клавиши CapsLock|1
doScrollLock=переключает режим клавиши ScrollLock|1
doReset=выключает все 3 клавиши с диодами|1
doOn=включает все 3 клавиши с диодами|1
doNumLockOn=включает режим клавиши NumLock|1
doCapsLockOn=включает режим клавиши CapsLock|1
doScrollLockOn=включает режим клавиши ScrollLock|1
doNumLockOff=выключает режим клавиши NumLock|1
doCapsLockOff=выключает режим клавиши CapsLock|1
doScrollLockOff=выключает режим клавиши ScrollLock|1

---------------

Registry, новое свойство

NotEmpty=При True: генерировать событие onRead только если прочитано из реестра не нулевое число или не пустая строка. Если False (по-умолчанию) - событие генерится в любом случае.|4|0|False,True

Т.о. нет необходимости проверять, был ли в реестре ранее создан такой ключ и не пустой ли он.

----------------

Timer, новое свойство

AutoStop=Таймер автоматически отключится через указанное число срабатываний. Если равно 0, то это поле игнорируется и таймер будеь работать постоянно. При запуске таймера счетчик устанавливается заново. Например, при значении 1, таймер сработает лишь один раз.|1|0

Методы:

doStop=выключение таймера|1
doAutoStop=устанавливает значение AutoStop|1

Событие:

onStop=событие происходит один раз сразу после остановки таймера|2

Это тоже резко сокращает кол-во ненужных конструкций.

-------------

Коллосальное избавление от маразматических обвесок на элементарных операциях посмотрите на примере простой программы, состоящей из окошка, аналогичного "ПУСК-ВЫПОЛНИТЬ". Там есть поле для ввода пути или кнопки "..." для поиска имени программы. Кнопка "Выполнить" для запуска. И значение поля автоматически сохраняется в реестр при его измении. При запуске окошка в поле грузится ранее сохраненное значение.

Было так:

http://php.spb.ru/1/hiasm/hiasm1.jpg
http://php.spb.ru/1/hiasm/execute_programm.sha


После внесения моих измений стало так:

http://php.spb.ru/1/hiasm/hiasm2.jpg
http://php.spb.ru/1/hiasm/execute_programm_NEW.sha


Из комбинации "таймер-реестр-поле ввода" удалено 13 лишних объектов! Остались только таймер для автозагрузки реестра, сам реестр и поле ввода.

Внешний вид примера:

http://php.spb.ru/1/hiasm/hiasm3.jpg


Скачать эти 4 обновленных компонента для последней версии hiasm: http://php.spb.ru/1/hiasm/new.rar
Я конечно понимаю, что до размера Си Билдера или Дельфи раздувать кол-во свойств и событий нельзя, иначе чайники утонут в их численном перевесе, но некий минимум должен быть.
карма: 0

0