Author Topic: Библиотеки пользовательских подпрограмм  (Read 40667 times)

0 Members and 1 Guest are viewing this topic.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Поиск в строке адреса 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)
« Last Edit: July 17, 2020, 02:18:48 PM by Vint »


Leizer

  • Зашел в гости
  • *
  • Posts: 12
    • View Profile
Версия 2.5

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

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

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

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

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Тогда не будут влазить двустрочные пункты.
Хочешь, я пересоберу. Какая функция нужна для не bold?


Leizer

  • Зашел в гости
  • *
  • Posts: 12
    • View Profile
Ну мне то, не нужно 2-х строк, так-что был бы благодарен.
Не для bold: вы имеите ввиду не для жирного текста?

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Window была обновлена до версии 2.6

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

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





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


Leizer

  • Зашел в гости
  • *
  • Posts: 12
    • View Profile
Спасибо! <3

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Намутил скрипт для одной игры, запущенной на виртуальной машине. Скрипт полностью сбоеустойчив и практически вечен - можно месяц не заглядывать в виртуалку, а потом открыть и "снимать сливки". Но столкнулся с одной проблемой... Чем дольше открыта игра и чем больше в ней производится действий, тем больше она раздувается и тем больше занимает рабочую память, от чего игра начинает лагать и так далее. Появилась надобность в контроле рабочей памяти и, исходя из полученных данных, решение - перезапустить игру, или даже винду. В связи с этим, намутил dll-ку...

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

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

Code: (clickermann) [Select]
library loading_memory;

uses
  Windows,
  SysUtils;

//------------------------------------------------------------------------------
// Основное тело функции, идет на экспорт, вызывается из кликера
function execute( _mas: pInteger; _size: Integer): Integer; export; stdcall;
type
   pIntArr = array[0..0] of Integer;

var
   Status: TMemoryStatus;

begin
   Status.dwLength := sizeof(TMemoryStatus);
   GlobalMemoryStatus(Status);
   result :=  Status.dwMemoryLoad; // присваиваем возвращаемое значение
end;
//------------------------------------------------------------------------------

// список экспорта
exports execute;

begin
   // тело пусто
end.

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

Code: (clickermann) [Select]
CALL("loading_memory.dll")
LOGWRITE ("Загруженность памяти = ",$_return1,"%")
WAITMS(50)
Я не ду... Потому и не бу...