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

From Miranda NG
Jump to navigation Jump to search
(Created page with "Предоставляет доступ к данным и контактам в профиле пользователя. <br/>Подключение модуля: <code>local...")
 
mNo edit summary
Line 1: Line 1:
Предоставляет доступ к данным и контактам в профиле пользователя.
Предоставляет доступ к данным и контактам в профиле пользователя.
<br/>Подключение модуля: <code>local db = require('m_database')</code>
<br/>Подключение модуля: <code>local db = require('m_database')</code>
{| class="wikitable collapsible collapsed"
 
!colspan="3"|Контакты
==Контакты==
|-
===AllContacts===
|AllContacts
Итератор для списка контактов
|Итератор для списка контактов протокола или всех контактов, если в качестве параметра передан nil
;Параметры
|<code>for hContact in db.AllContacts(proto.Name) do
: ''name''
   print(db.GetSetting(hContact, proto.Name, 'Nick'))
:: Тип: '''string'''
:: Имя протокола
;Результат
: Тип: '''number'''
: Возвращает номер контакта. Список оканчивается элементом со значением '''nil'''
;Пример
{{Content:MirLua/Example||code=
for hContact in db.AllContacts('JABBER_1') do
   print(db.GetSetting(hContact, 'JABBER_1', 'Nick'))
end
end
</code>
}}
|-
 
!colspan="3"|События
==События==
|-
===GetEventCount===
|GetEventCount
Количество событий
|Возвращает количество событий для контакта
;Параметры
|<code>db.GetEventCount(hContact)</code>
: ''hContact''
|-
:: Тип: '''number'''
|AllEvents
:: Номер контакта
|Итератор для списка событий контакта
;Результат
|<code>for hEvent in db.AllEvents(hContact) do
: Тип: '''number'''
: Возвращает количество событий для контакта
;Пример
{{Content:MirLua/Example||code=db.GetEventCount(hContact)}}
 
===AllEvents===
Итератор для списка событий контакта
;Параметры
: '''''hContact'''''
:: Тип: '''number'''
:: Номер контакта
;Результат
: Тип: '''number'''
: Возвращает номер события. Список оканчивается элементом со значением '''nil'''
;Пример
{{Content:MirLua/Example||code=for hEvent in db.AllEvents(hContact) do
   local event = totable(hEvent, "DBEVENTINFO")
   local event = totable(hEvent, "DBEVENTINFO")
   print(event.Blob)
   print(event.Blob)
end
end
</code>
}}
|-
 
!colspan="3"|Настройки
==Настройки==
|-
===WriteSetting===
|WriteSetting
Сохраняет значение в БД
|Сохраняет значение настройки
;Параметры
|db.WriteSetting(nil, 'test', 'some', true)
: ''hContact''
|-
:: Тип: '''number'''
|GetSetting
:: Номер контакта или '''nil'''
|Возвращает значение настройки
: '''''module'''''
|db.GetSetting(nil, 'test', 'some')
:: Тип: '''string'''
|-
:: Название модуля
|AllSettings
: '''''setting'''''
|Итератор для списка настроек из секции контакта или из глобальной секции, если в качестве параметра передан nil
:: Тип: '''string'''
|<code>for setting in db.AllSettings(nil, 'CList') do
:: Название настройки
;Результат
: Тип: '''number'''
: Возвращает '''0''' в случае успеха, иначе '''1'''
;Пример
{{Content:MirLua/Example||code=db.WriteSetting(nil, 'test', 'some', true)}}
 
===GetSetting===
Возвращает значение настройки
;Параметры
: ''hContact''
:: Тип: '''number'''
:: Номер контакта или '''nil'''
: '''''module'''''
:: Тип: '''string'''
:: Название модуля
: '''''setting'''''
:: Тип: '''string'''
:: Название настройки
: ''value''
:: Тип: '''number''', '''string'''
:: Значание по-умолчаниию
;Результат
: Тип: '''number'''
: Возвращает значение настройки или значание по-умолчаниию
;Пример
{{Content:MirLua/Example||code=db.GetSetting(nil, 'test', 'some')}}
 
===AllSettings===
Итератор для списка настроек из секции контакта или из глобальной секции, если в качестве параметра передан nil
;Параметры
: ''hContact''
:: Тип: '''number'''
:: Номер контакта или '''nil'''
: '''''module'''''
:: Тип: '''string'''
:: Название модуля
;Результат
: Тип: '''number'''
: Возвращает номер события. Список оканчивается элементом со значением '''nil'''
;Пример
{{Content:MirLua/Example||code=
for setting in db.AllSettings(nil, 'CList') do
   local message = string.format("%s/%s = ", 'CList', setting, ...)
   local message = string.format("%s/%s = ", 'CList', setting, ...)
   .. db.GetSetting(nil, 'CList', setting)
   .. db.GetSetting(nil, 'CList', setting)
   print(message)
   print(message)
end
end
</code>
}}
|-
 
|DeleteSetting
===DeleteSetting===
|Удаляет настройку
Удаляет настройку
|db.DeleteSetting(nil, 'test', 'some')
;Параметры
|-
: ''hContact''
|DeleteModule
:: Тип: '''number'''
|Удаляет секцию
:: Номер контакта или '''nil'''
|db.DeleteModule(nil, 'test')
: '''''module'''''
|-
:: Тип: '''string'''
|}
:: Название секции
: '''''setting'''''
:: Тип: '''string'''
:: Название настройки
;Результат
: Тип: '''number'''
: Возвращает '''0''' в случае успеха, иначе '''1'''
;Пример
{{Content:MirLua/Example||code=db.DeleteSetting(nil, 'test', 'some')}}
 
===DeleteModule===
Удаляет секцию
;Параметры
: ''hContact''
:: Тип: '''number'''
:: Номер контакта или '''nil'''
: '''''module'''''
:: Тип: '''string'''
:: Название секции
;Результат
: Тип: '''number'''
: Возвращает '''0''' в случае успеха, иначе '''1'''
;Пример
{{Content:MirLua/Example||code=db.DeleteModule(nil, 'test')}}

Revision as of 23:24, 7 December 2015

Предоставляет доступ к данным и контактам в профиле пользователя.
Подключение модуля: local db = require('m_database')

Контакты

AllContacts

Итератор для списка контактов

Параметры
name
Тип: string
Имя протокола
Результат
Тип: number
Возвращает номер контакта. Список оканчивается элементом со значением nil
Пример
for hContact in db.AllContacts('JABBER_1') do
  print(db.GetSetting(hContact, 'JABBER_1', 'Nick'))
end

События

GetEventCount

Количество событий

Параметры
hContact
Тип: number
Номер контакта
Результат
Тип: number
Возвращает количество событий для контакта
Пример
db.GetEventCount(hContact)

AllEvents

Итератор для списка событий контакта

Параметры
hContact
Тип: number
Номер контакта
Результат
Тип: number
Возвращает номер события. Список оканчивается элементом со значением nil
Пример
for hEvent in db.AllEvents(hContact) do
  local event = totable(hEvent, "DBEVENTINFO")
  print(event.Blob)
end

Настройки

WriteSetting

Сохраняет значение в БД

Параметры
hContact
Тип: number
Номер контакта или nil
module
Тип: string
Название модуля
setting
Тип: string
Название настройки
Результат
Тип: number
Возвращает 0 в случае успеха, иначе 1
Пример
db.WriteSetting(nil, 'test', 'some', true)

GetSetting

Возвращает значение настройки

Параметры
hContact
Тип: number
Номер контакта или nil
module
Тип: string
Название модуля
setting
Тип: string
Название настройки
value
Тип: number, string
Значание по-умолчаниию
Результат
Тип: number
Возвращает значение настройки или значание по-умолчаниию
Пример
db.GetSetting(nil, 'test', 'some')

AllSettings

Итератор для списка настроек из секции контакта или из глобальной секции, если в качестве параметра передан nil

Параметры
hContact
Тип: number
Номер контакта или nil
module
Тип: string
Название модуля
Результат
Тип: number
Возвращает номер события. Список оканчивается элементом со значением nil
Пример
for setting in db.AllSettings(nil, 'CList') do
  local message = string.format("%s/%s = ", 'CList', setting, ...)
   .. db.GetSetting(nil, 'CList', setting)
  print(message)
end

DeleteSetting

Удаляет настройку

Параметры
hContact
Тип: number
Номер контакта или nil
module
Тип: string
Название секции
setting
Тип: string
Название настройки
Результат
Тип: number
Возвращает 0 в случае успеха, иначе 1
Пример
db.DeleteSetting(nil, 'test', 'some')

DeleteModule

Удаляет секцию

Параметры
hContact
Тип: number
Номер контакта или nil
module
Тип: string
Название секции
Результат
Тип: number
Возвращает 0 в случае успеха, иначе 1
Пример
db.DeleteModule(nil, 'test')