Все написанное ниже полностью совместимо с предыдущими версиями. Оно лишь добавляет новые ствойства и события, никак не мешая старым. Грандиозное упрощение алгоритмов!
В 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
Я конечно понимаю, что до размера Си Билдера или Дельфи раздувать кол-во свойств и событий нельзя, иначе чайники утонут в их численном перевесе, но некий минимум должен быть.
Гость
Ответов: 17029
Рейтинг: 0
|
|||
карма: 0 |
|