Автор Тема: Библиотеки пользовательских подпрограмм  (Прочитано 24064 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3903
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Re: Библиотеки пользовательских подпрограмм
« Ответ #30 : Июль 16, 2020, 02:49:30 pm »
Поиск в строке адреса e-mail

основано на этом коде http://crapware.aidf.org/forum/index.php?topic=1363.msg35335#msg35335

Поддерживает многострочные входные данные.
// ищем один, первый e-mail. Результат в переменной $eo_mail
email_one($str)
// ищем все e-mail. Результат в массиве $arr_mail
email_several($str)
« Последнее редактирование: Июль 17, 2020, 02:18:48 pm от Vint »


Leizer

  • Зашел в гости
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Библиотеки пользовательских подпрограмм
« Ответ #31 : Август 29, 2021, 10:38:07 pm »
Версия 2.5

Добавлен Window_checkbox_flags
Передаём в массиве $items строки или в строке с разделителем $text (как обычно).
В массиве $itemsflags - значения чекбоксов 0 - выкл, 1 -вкл

Возврат:
     $return_r = -1 отмена или время вышло
     $return_r = 1  выбрали пункты
     В массиве $itemsflags получаем значения пунктов (0 - выкл, 1 -вкл)

Пример вызова:
Код: Clickermann
  1.        UNDEFINE($items)
  2.        UNDEFINE($itemsflags)
  3.        ARRPUSH($items, "- Означает что-то там. Это 1-я тестовая строка")
  4.        ARRPUSH($items, "- Означает что-то там. Это 2-я тестовая строка")
  5.        ARRPUSH($items, "- Означает что-то там. Это 3-я тестовая строка")
  6.        ARRPUSH($items, "- Означает что-то там. Это 4-я тестовая строка")
  7.        ARRPUSH($items, "- Второй раздел, тоже не маленький/ Выбери, ну выбери этот пункт...")
  8.        ARRPUSH($items, "- Последняя коротенькая запись,\nно двухстрочная. Тоже хочет чтоб её выбрали")
  9.        STRSEPARATE("0,1,0,1,1,0", ",", $itemsflags)
  10.        Window_checkbox_flags(101, "Выбор пунктов чекбоксом и предустановками", 10)

Window_v2.5 исправленная.7z
Здрастуйте, а можно как то уменьшить растояние между вариантами? А то много вариантов не помещаются в монитор :)

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3903
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Re: Библиотеки пользовательских подпрограмм
« Ответ #32 : Август 30, 2021, 10:37:59 am »
Тогда не будут влазить двустрочные пункты.
Хочешь, я пересоберу. Какая функция нужна для не bold?


Leizer

  • Зашел в гости
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Библиотеки пользовательских подпрограмм
« Ответ #33 : Август 30, 2021, 11:17:37 am »
Ну мне то, не нужно 2-х строк, так-что был бы благодарен.
Не для bold: вы имеите ввиду не для жирного текста?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3903
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • Просмотр профиля
Re: Библиотеки пользовательских подпрограмм
« Ответ #34 : Август 30, 2021, 12:19:07 pm »
Window была обновлена до версии 2.6

Для варианта 'checkbox' можно задать вертикальный отступ между пунктами в px указав в своём скрипте переменную
Код: Clickermann
  1. $window_indent_checkbox = 10
Если не указывать или переменная = 0  значение отступа по умолчанию будет 20px (bold 14+2)
При значении по умолчанию в пункт влазит 2 строки. При своём значении - следить за этим придётся вам.

Т.к. пустое место на сервере закончилось, не могу добавить в первое сообщение, поэтому выложу здесь
Скачать Window_v2.6





Ну мне то, не нужно 2-х строк, так-что был бы благодарен.
Не для bold: вы имеите ввиду не для жирного текста?
Не стал просто менять значение, вынес его в ini и сделал его задание.


Leizer

  • Зашел в гости
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Библиотеки пользовательских подпрограмм
« Ответ #35 : Август 30, 2021, 02:03:47 pm »
Спасибо! <3

Hito

  • Герой форума
  • *****
  • Сообщений: 1212
    • Просмотр профиля
Re: Библиотеки пользовательских подпрограмм
« Ответ #36 : Май 02, 2023, 10:01:06 pm »
Намутил скрипт для одной игры, запущенной на виртуальной машине. Скрипт полностью сбоеустойчив и практически вечен - можно месяц не заглядывать в виртуалку, а потом открыть и "снимать сливки". Но столкнулся с одной проблемой... Чем дольше открыта игра и чем больше в ней производится действий, тем больше она раздувается и тем больше занимает рабочую память, от чего игра начинает лагать и так далее. Появилась надобность в контроле рабочей памяти и, исходя из полученных данных, решение - перезапустить игру, или даже винду. В связи с этим, намутил dll-ку...

https://disk.yandex.ru/d/0mNmOUFZ6eLDCw

Исходный код dll-ки...

Код: Clickermann
  1. library loading_memory;
  2.  
  3. uses
  4.  Windows,
  5.  SysUtils;
  6.  
  7. //------------------------------------------------------------------------------
  8. // Основное тело функции, идет на экспорт, вызывается из кликера
  9. function execute( _mas: pInteger; _size: Integer): Integer; export; stdcall;
  10. type
  11.   pIntArr = array[0..0] of Integer;
  12.  
  13. var
  14.   Status: TMemoryStatus;
  15.  
  16. begin
  17.   Status.dwLength := sizeof(TMemoryStatus);
  18.   GlobalMemoryStatus(Status);
  19.   result :=  Status.dwMemoryLoad; // присваиваем возвращаемое значение
  20. end;
  21. //------------------------------------------------------------------------------
  22.  
  23. // список экспорта
  24. exports execute;
  25.  
  26. begin
  27.   // тело пусто
  28. end.

Вызов dll-ки в Clickermann-е...

Код: Clickermann
  1. CALL("loading_memory.dll")
  2. LOGWRITE ("Загруженность памяти = ",$_return1,"%")
  3. WAITMS(50)
Я не ду... Потому и не бу...