MyChat Scripts Engine: mIncUIN

MyChat Scripts Engine: mIncUIN

Функция для получения следующего уникального номера зарегистрированного на сервере пользователя.

 

UIN-ы пользователей уникальны и никогда не повторяются. UIN=0 — это встроенный робот Elisa, UIN=1 — пользователь-администратор для управления сервером. Все остальные пользователи могут создаваться и удаляться, но освобождённые UIN-ы в дальнейшем не используются из-за соблюдения целостности баз данных.

 

Чтобы перебирать существующие UIN-ы пользователей, пропуская "дыры", удобно пользоваться функциями mIncUIN и mDecUIN.

 

Синтаксис

function mIncUIN(iUIN: integer): integer;

 

Параметры и возвращаемые значения

Параметр

Тип

Значение

iUIN

integer

уникальный идентификатор пользователя, следующий за которым нужно найти.

 

Результат функции

>0

следующий UIN;

-1

стартовый UIN не существует на сервере;

-2

больше UIN-ов нет.

 

Пример

Перебираем все зарегистрированные UIN-ы, начиная с 1, считаем количество парных уникальных идентификаторов зарегистрированных пользователей.

const
  START_UIN = 1;
var
  iCount, iUIN: integer;
begin
  iCount := 0;
  iUIN   := START_UIN;
  
    repeat
      iUIN := mIncUIN(iUIN);
      
        if iUIN mod 2 = 0 then inc(iCount);
    until iUIN < 0;
    
  mLogScript('Paired UINs count: ' + IntToStr(iCount), '');
end.

Результат работы скрипта

[19:52:58] (Log "mIncUIN"): Paired UINs count: 4004

[19:52:58] (Run "mIncUIN"): Время выполнения скрипта: 52 мс

[19:52:58] (Run "mIncUIN"): Скрипт выполнен успешно.

 

Ещё посмотреть

IntToStr

mLogScript