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

From Miranda NG
Jump to navigation Jump to search
(Created page with "Предоставляет доступ к данным и контактам в профиле пользователя. <br/>Подключение модуля: <code>local...")
 
 
(14 intermediate revisions by the same user not shown)
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.Timestamp, event.Blob)
end
end
</code>
}}
|-
 
!colspan="3"|Настройки
===AllEventsFromEnd===
|-
Итератор для списка событий контакта от последнего к первому
|WriteSetting
;Параметры
|Сохраняет значение настройки
: '''''hContact'''''
|db.WriteSetting(nil, 'test', 'some', true)
:: Тип: '''number'''
|-
:: Номер контакта
|GetSetting
;Результат
|Возвращает значение настройки
: Тип: '''number'''
|db.GetSetting(nil, 'test', 'some')
: Возвращает номер события. Список оканчивается элементом со значением '''nil'''
|-
;Пример
|AllSettings
{{Content:MirLua/Example||code=
|Итератор для списка настроек из секции контакта или из глобальной секции, если в качестве параметра передан nil
for hEvent in db.AllEventsFromEnd(hContact) do
|<code>for setting in db.AllSettings(nil, 'CList') do
  local event = totable(hEvent, "DBEVENTINFO")
  print(event.Timestamp, event.Blob)
end
}}
 
==Настройки==
===GetSetting===
Возвращает значение настройки
;Параметры
: ''hContact''
:: Тип: '''number'''
:: Номер контакта или '''nil'''
: '''''module'''''
:: Тип: '''string'''
:: Название модуля
: '''''setting'''''
:: Тип: '''string'''
:: Название настройки
: ''value''
:: Тип: '''number''', '''string'''
:: Значание по-умолчаниию
;Результат
: Тип: '''number'''
: Возвращает значение настройки или значание по-умолчаниию или '''nil'''
;Пример
{{Content:MirLua/Example||code=db.GetSetting(nil, 'test', 'some')}}
 
===AllSettings===
Итератор для секции настроек
;Параметры
: ''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
===WriteSetting===
|Удаляет настройку
Сохраняет значение в БД
|db.DeleteSetting(nil, 'test', 'some')
;Параметры
|-
: ''hContact''
|DeleteModule
:: Тип: '''number'''
|Удаляет секцию
:: Номер контакта или '''nil'''
|db.DeleteModule(nil, 'test')
: '''''module'''''
|-
:: Тип: '''string'''
|}
:: Название секции
: '''''setting'''''
:: Тип: '''string'''
:: Название настройки
;Результат
: Тип: '''boolean'''
: Возвращает '''true''' в случае успеха, иначе '''false'''
;Пример
{{Content:MirLua/Example||code=db.WriteSetting(nil, 'test', 'some', true)}}
 
===DeleteSetting===
Удаляет настройку
;Параметры
: ''hContact''
:: Тип: '''number'''
:: Номер контакта или '''nil'''
: '''''module'''''
:: Тип: '''string'''
:: Название секции
: '''''setting'''''
:: Тип: '''string'''
:: Название настройки
;Результат
: Тип: '''boolean'''
: Возвращает '''true''' в случае успеха, иначе '''false'''
;Пример
{{Content:MirLua/Example||code=db.DeleteSetting(nil, 'test', 'some')}}
 
===DeleteModule===
Удаляет секцию
;Параметры
: ''hContact''
:: Тип: '''number'''
:: Номер контакта или '''nil'''
: '''''module'''''
:: Тип: '''string'''
:: Название секции
;Результат
: Тип: '''boolean'''
: Возвращает '''true''' в случае успеха, иначе '''false'''
;Пример
{{Content:MirLua/Example||code=db.DeleteModule(nil, 'test')}}

Latest revision as of 23:56, 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.Timestamp, event.Blob)
end

AllEventsFromEnd

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

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

Настройки

GetSetting

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

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

AllSettings

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

Параметры
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

WriteSetting

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

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

DeleteSetting

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

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

DeleteModule

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

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