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

From Miranda NG
Jump to navigation Jump to search
mNo edit summary
Line 12: Line 12:
<code>Пример</code>
<code>Пример</code>
{{Content:MirLua/Example|code=local hEvent = m.CreateHookableEvent('MyEvent')}}
{{Content:MirLua/Example|code=local hEvent = m.CreateHookableEvent('MyEvent')}}


===HookEvent===
===HookEvent===
Line 26: Line 27:
end)
end)
}}
}}


===NotifyEventHooks===
===NotifyEventHooks===
Line 38: Line 40:
<code>Пример</code>
<code>Пример</code>
{{Content:MirLua/Example|code=m.NotifyEventHooks(hEvent)}}
{{Content:MirLua/Example|code=m.NotifyEventHooks(hEvent)}}


===UnhookEvent===
===UnhookEvent===
Удаляет подписку на именованное событие
Удаляет подписку на именованное событие
{{Content:MirLua/Example|code=m.UnhookEvent(hHook)}}
{{Content:MirLua/Example|code=m.UnhookEvent(hHook)}}


===DestroyHookableEvent===
===DestroyHookableEvent===
Line 54: Line 58:
end)
end)
}}
}}


===CallService===
===CallService===
Вызывает именованную сервисную функцию
Вызывает именованную сервисную функцию
{{Content:MirLua/Example|code=m.CallService('MyService', 0, 0)}}
{{Content:MirLua/Example|code=m.CallService('MyService', 0, 0)}}


===ServiceExists===
===ServiceExists===
Line 64: Line 70:
   m.CallService('MyService')
   m.CallService('MyService')
end}}
end}}


===DestroyServiceFunction===
===DestroyServiceFunction===
Line 76: Line 83:
end
end
}}
}}


===Utf8DecodeA===
===Utf8DecodeA===
Конвертирует содержимое lua строки в ANSI
Конвертирует содержимое lua строки в ANSI
{{Content:MirLua/Example|code=m.CallService("Quotes/Import", 0, Utf8DecodeA('c:\\quotes.xml'))}}
{{Content:MirLua/Example|code=m.CallService("Quotes/Import", 0, Utf8DecodeA('c:\\quotes.xml'))}}


===Utf8DecodeW===
===Utf8DecodeW===
Конвертирует содержимое lua строки в Unicode
Конвертирует содержимое lua строки в Unicode
{{Content:MirLua/Example|code=m.CallService("Popup/ShowMessageW", m.Utf8DecodeW('Hello, World!'), 2)}}
{{Content:MirLua/Example|code=m.CallService("Popup/ShowMessageW", m.Utf8DecodeW('Hello, World!'), 2)}}


===Translate===
===Translate===
Переводит строку на язык текущего языкового пакета
Переводит строку на язык текущего языкового пакета
{{Content:MirLua/Example|code=m.Translate('Exit')}}
{{Content:MirLua/Example|code=m.Translate('Exit')}}


===ReplaceVariables===
===ReplaceVariables===
Заменяет переменные ядра Miranda NG в строке
Заменяет переменные ядра Miranda NG в строке
{{Content:MirLua/Example|code=local profileName = m.ReplaceVariables('%miranda_profilename%')}}
{{Content:MirLua/Example|code=local profileName = m.ReplaceVariables('%miranda_profilename%')}}

Revision as of 22:38, 9 November 2015

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

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

CreateHookableEvent

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

Параметры

  • name - имя события

Результат

Дескриптор события или nil

Пример

local hEvent = m.CreateHookableEvent('MyEvent')


HookEvent

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

Параметры

  • name - имя события
  • hook - функция-ловушки

Результат

Возвращает дескриптор подписки или nil

Пример

local hHook = m.HookEvent('MyEvent', function(w, l)
  print('MyEvent is raised!')
end)


NotifyEventHooks

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

Параметры

  • hEvent - дескриптор события, который был получен при вызове CreateHookableEvent
  • wParam
  • lParam

Результат

Пример

m.NotifyEventHooks(hEvent)


UnhookEvent

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

m.UnhookEvent(hHook)


DestroyHookableEvent

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

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%')