User:Unsane/MirLua/m core: Difference between revisions

From Miranda NG
Jump to navigation Jump to search
Line 61: Line 61:


===DestroyHookableEvent===
===DestroyHookableEvent===
Удаляет именованное событие
Удаляет событие
;Параметры
: hEvent
:: Тип: '''light userdata'''
:: Дескриптор события, полученный при вызове [[#CreateHookableEvent|CreateHookableEvent]]
; Результат
: Тип: '''boolean'''
: '''true''' если событие успешно удалено, иначе '''false'''
{{Content:MirLua/Example|code=m.DestroyHookableEvent(hEvent)}}
{{Content:MirLua/Example|code=m.DestroyHookableEvent(hEvent)}}


==Именованные сервисные функции==
==Именованные сервисные функции==

Revision as of 18:43, 10 November 2015

Этот модуль изначально импортирован в глобальную таблицу и доступен через переменную m в любом модуле. Он предоставляет доступ к основным возможностям ядра Miranda NG.

Именованные события

CreateHookableEvent

Создает событие

Параметры
name
Тип: string
Имя события
Результат
Тип: light userdata
Дескриптор события, если событие было успешно создано, иначе nil
Пример
local hEvent = m.CreateHookableEvent('MyEvent')

HookEvent

Устанавливает функция обратного вызова ("ловушку") для реакции на вызов события.

Параметры
name
Тип: string
Имя события.
hook
Тип: function
Функция-ловушка, которая будет вызвана при наступлении события.
Результат
Тип: light userdata
Возвращает дескриптор ловушка, если ловушка была успешно создана, иначе nil
Пример
local hHook = m.HookEvent('MyEvent', function(w, l)
  print('MyEvent is raised!')
end)

NotifyEventHooks

Вызывает событие. При вызове события поочередно сработают все функции-ловушки, которые были подписаны на это событие.

Параметры
hEvent
Тип: light userdata
Дескриптор события, который был получен при вызове CreateHookableEvent.
wParam
lParam
Результат
Тип: boolean
true если вызваны все функции-ловушки, иначе false
Пример
m.NotifyEventHooks(hEvent)

UnhookEvent

Удаляет подписку на именованное событие

Параметры
hEvent
Тип: light userdata
Дескриптор события, который был получен при вызове CreateHookableEvent
Результат
true если функции-ловушки успешно удалена, иначе false
Пример
m.UnhookEvent(hHook)

DestroyHookableEvent

Удаляет событие

Параметры
hEvent
Тип: light userdata
Дескриптор события, полученный при вызове CreateHookableEvent
Результат
Тип: boolean
true если событие успешно удалено, иначе false
m.DestroyHookableEvent(hEvent)

Именованные сервисные функции

CreateServiceFunction

Создает именованную сервисную функцию

local hService = m.CreateServiceFunction('MyService', function(w, l)
  print('MyServiceis called!')
end)


CallService

Вызывает именованную сервисную функцию

m.CallService('MyService', 0, 0)


ServiceExists

Проверяет существование сервиса по имени

if m.ServiceExists('MyService') then
  m.CallService('MyService')
end


DestroyServiceFunction

Удаляет сервисную функцию

m.DestroyServiceFunction(hService)


Остальное

IsPluginLoaded

Проверяет загружен ли плагин по его muuid

if m.IsPluginLoaded('{F0FDF73A-753D-499d-8DBA-336DB79CDD41}') then
  print('Advanced auto away plugin is loaded!')
end


Utf8DecodeA

Конвертирует содержимое lua строки в ANSI

m.CallService("Quotes/Import", 0, Utf8DecodeA('c:\\quotes.xml'))


Utf8DecodeW

Конвертирует содержимое lua строки в Unicode

m.CallService("Popup/ShowMessageW", m.Utf8DecodeW('Hello, World!'), 2)


Translate

Переводит строку на язык текущего языкового пакета

m.Translate('Exit')


ReplaceVariables

Заменяет переменные ядра Miranda NG в строке

local profileName = m.ReplaceVariables('%miranda_profilename%')