HiAsm - Конструктор программ

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » HiAsm - Конструктор программ » HiAsm VCL » Демо тест


Демо тест

Сообщений 1 страница 21 из 21

1

Итак тут будет представлена реализация примеров на VCL
Начнём с простых
Наконец то реализовал нормальный зум, не использует холст для рисования. В основе лежит совершенно другой принцип.
Из старого компонента пришлось почти всё выкинуть, хоть я и перекрыл метод onPaint в родительском контроле(аналог Win.pas) но он даже не понадобился. библиотека всё прекрасно рисует сама, двойная буферизация работает исправно.
ImageVCL тест ->Ссылка
http://forumupload.ru/uploads/001b/10/a7/2/193450.png
http://forumupload.ru/uploads/001b/10/a7/2/289041.png

0

2

PaintBoxVCL
Demo Ссылка
думаю чистое извращение что то рисовать в HiAsm кубиками
буду наверно прикручивать васик с функционалом Fast и GDI+.
http://forumupload.ru/uploads/001b/10/a7/2/650905.png

0

3

andrestudio написал(а):

ImageVCL

При установке цвета фона сбрасывается зум. Не знаю, может так задумано.  Как по мне - не должно  8-)

andrestudio написал(а):

PaintBoxVCL

Access violation - виртуалка c 10-кой х64

0

4

Да, с цветом надо подшаманить. Про виртулку ничего сказать не могу. Сейчас на работе, тоже Win10x64 Скачал, запустил, работает :)
Эта демка специально пожата новым UPX lдля примера(взял из Restorator(a))
Вечером не пожатую выложу. Сейчас пытаюсь начать скриптовый движок переписать, а то под Kol очень сложный, там чёрт ногу сломит...
Вот тогда можно будет нарисоваться вдоволь :)

0

5

Вот не пожатый пример. Ссылка
Итак, вроде разобрался как сделать простой скриптовый движок на vbs
Существенным отличием будет то что можно будет передавать произвольное количество параметров (не как сейчас dt,idx)
Это в какой-то степени избавит их в скрипте прописывать.
Выходных точек onRes(10-15 думаю хватит) 1 по дефолту, другие скрою
формат элемента будет как у FormatStr, да собственно и параметры так же будут задавятся. (через проценты)
Вызов процедур по имени или индексу из списка

Дело в том что в Kol модуль Variants отсутствует, поэтому реализация этого всего на API довольно сложная.

0

6

andrestudio написал(а):

Вот не пожатый пример.

неа...

на чистых 10 х64 и 7 х32 одинаковая ошибка, а вот на хисмовской зас*аной хламом 7 х64 работает.
походу компилятор и upx не причем. Может к какой либе привязано?

0

7

и да, окно дебага. Скинь без брейкпоинтов, если они есть как на скрине.

0

8

Да, чёт не то. Попробовал под юзерской учеткой да, крэш на самом деле.
Убрал точки дебага запускается.
Нихера не понял, в Debug весь функционал аналогичен KOL версии
Правда модуль работы с реестром от VCL

вот так идёт чтение позиции, спасибо. Буду разбирается.

Код:
procedure TDForm.Load;
var
  hk:HKEY;w:integer;
begin
   hk := RegKeyOpenCreate(HKEY_CURRENT_USER,'Software\HiAsm\Debug');
   with DebugForm do
    begin
     DebugForm.OnClose := _onClose;
     w := RegKeyGetDw(hk,'Left');
     //if w=0 then begin
     //  if Applet.ChildCount=0 then w := 20
     //  else w := Applet.Children[0].Left;
     //end;
     Left := w;
     w := RegKeyGetDw(hk,'Top');
     if w=0 then begin
       if Applet.ChildCount=0 then w := 105
       else w := Applet.Children[0].Height+Applet.Children[0].Top;
     end;
     Top := w;
     w := RegKeyGetDw(hk,'Width');
     //if w=0 then begin
     //  if Applet.ChildCount=0 then w := 400
     //  else w := Applet.Children[0].Width;
     //end;
     Width := w;
     w := RegKeyGetDw(hk,'Height');
     if w=0 then w := 80;
     Height := w;
     //Style := WS_CAPTION or WS_THICKFRAME or WS_SYSMENU;
     //ExStyle := WS_EX_TOOLWINDOW;
     //Border := 0;
     Show;
     Invalidate;
    end;;
   RegKeyClose(hk);
end;

0

9

andrestudio написал(а):

Буду разбирается.

Нечего разбираться...
Откуда на чистой системе записи в реестре?

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\HiAsm]
"ok"="1"
"InstallPath"="C:\\Program Files (x86)\\HiAsm"
"Installer Language"="1049"
"Name"=""
"Mail"=""
"HomePage"=""
"Handle"=dword:00030188

[HKEY_CURRENT_USER\Software\HiAsm\Debug]
"Left"=dword:0000001d
"Top"=dword:000001a0
"Width"=dword:00000272
"Height"=dword:000000d6
"wName"=dword:00000050
"wValue"=dword:00000032
"wType"=dword:00000032
"wCount"=dword:00000032

0

10

tom-it написал(а):

Откуда на чистой системе записи в реестре?

Tе тот модуль смотришь. Смотри Debug.pas а не hiDebug.pas

0

11

andrestudio написал(а):

Tе тот модуль смотришь.

Не смотрел, поскольку у меня нет твоих модулей.

Ты привел кусок кода, тем самым ответив на свой вопрос.

andrestudio написал(а):

w := RegKeyGetDw(hk,'Left');

То-есть, чтобы прочитать ключ, эго кто-то, когда-то, должен был создать и записать. Кто, когда? Если hiasm я на флешке таскаю.
Скопировал ветки реестра из старой системы в чистую. Все работает.

0

12

Ну ведь так если изначально сделано было, при закрытии окна Debug настройки его сохранятся в реестре. Я ведь ещё хотел переделать на INI но посмотрел что юзерской ветке ну хрен с ним думаю, пускай остаётся. Всё поправим, не смертельно.

0

13

да я спутал, насчёт Debug.pas Его не переделывал.

0

14

Хотел отредактировать, отправил заново.

P.S. Если ты о штатном, то это сути дела не меняет.
Чтобы появилась эта ветка, нужно, с правами админа, хотя бы раз hiasm запустить. Откуда на чистой системе хиасму быть.
Debug версия приложения как-раз должна запускаться для отладки на машине разработчика, а на клиентской машине Release версия, тобишь без брейкпоинов.

Отредактировано tom-it (2025-02-28 15:34:38)

0

15

да понятно это всё, моя ошибка что дома проверяя под юзерской учёткой там эта ветка просто уже была...

0

16

andrestudio написал(а):

моя ошибка что дома проверяя под юзерской учёткой

Ты выложил пример для поклацать, я поклацал. Откуда мне было знать что там брейкпоинты. Не работает и все.  :P

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

Отредактировано tom-it (2025-02-28 16:41:15)

0

17

tom-it написал(а):

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

Да я не вдавался в подробности, эта авторская задумка. Мне нужно было просто дебажить хоть как то

0

18

наконец то сделал VBScriptVCL
Честно говоря уе.... напрочь :)
Вызвать функцию или процедуру в скрипте проблем нет. А вот получить из скрипта событие с произвольным именем (не как в штатной через объект sys.)  это что-то :canthearyou:
Но победа не просто даётся как обычно...
Я просто не завидую тому кто захочет это повторить не зная всех тонкостей :) (можно разбить всё что угодно)
Ну самое главное технология обкаталась, сейчас можно любые примочки для автоматизации пристраивать будет.
Отличительная особенность в произвольном количестве параметров (не как в штатном dt,idx)
На этом принципе и будет рисовалка для PaintBox
Делать верхние точки как у FormatStr не стал, лишнее это всё. С FormatStr и так можно вызвать функцию или процедуру в потоке
демка Ссылка

http://forumupload.ru/uploads/001b/10/a7/2/727060.png

0

19

Тут сама собой идейка возникла. Поскольку скрипты как и листинги типа StrList хранятся в ресурсах и собственно ничем не защищены (скрипты могут и хакнуть что нибудь уюзера) думаю сделать менеджер защищённого хранилища. т.е на этапе разработки все такие листинги будут шифроваться в отдельном ресурсе вместе с ключом. После завершения разработки листинги и пароль к ним в менеджере можно очистить и готовое ПО при старте будет грузить эти списки из защищённого ресурса. Так будет в разы меньше огорода.

0

20

andrestudio написал(а):

скрипты могут и хакнуть что нибудь уюзера

И да, и нет.

Для чего нужны скрипты?
Конфигурация и настройка, управление поведением, управление сложными вычислениям, или внешним видом, или автоматизация действий, запись\воспроизведение макросов и т.д. Да много чего можно придумать.
Но с одним нюансом.
Написанное, скопированное, сворованное - хранится во внешней папке.
На халяву стырил скрипт и сунул в свою прогу, еще и антивирус отключил и от админа запустил(так надо, в инструкции к скрипту так написано).
И тут никто не защитит от намеренных действий юзера.  :P

0

21

tom-it
это и не моя идея так то , просто так сделано в IDE pdScript Ссылка
На выходе exe файл с зашифрованными или нет по желанию исходниками. Прекрасный инструмент, всё своё ношу с собой называется :)
p.s кстати на его изделия даже с шифрованием каспер благословен.

0


Вы здесь » HiAsm - Конструктор программ » HiAsm VCL » Демо тест


Рейтинг форумов | Создать форум бесплатно