ovdt писал(а):iSex := mGetUserSex(iUIN); // получение пола пользователя
sUserFullName := mGetUserFullName(iUIN, 0); // ... и полного имени
Эти функции нужно заменить на mGetUserFullNameByPreset + JSONGetInteger
Пример:
var
sJSON: string;
iSex: integer;
begin
sJSON := mGetUserDataAsJSON(6, 'Sex');
if JSONGetInteger(sJSON, "Sex", iSex) = 0 then
// all ok
else
// error
end.
И mGetUserFullNameByPreset
sUserFullName := mGetUserFullNameByPreset(6, 0)
Как описано в справке, имя будет в формате "Александр Сергеевич Пушкин" для второго параметра "0".
На Server 2008 R2 64-bit подмена С_1252.NLS на 1251 проблему с кракозябрами решает
Чтоб ушли знаки вопроса и появились кракозябры в "Языках и региональных стандартах" везде, где можно ставим русский, а потом подменяем шрифты.
Дано:
Сервер 5.2.0
Проблема в строке 40: Unknown identifier 'mGetUserDataAsJSON'
Подскажите куда копать. Заранее благодарю!
Но обновиться я на него , наверное, не смогу!? Как без перестановки узнать, подойдет ли моя лицензия?
Ага, понял, как. Мой ключ до версии сервера 5.7... Где его качнуть и отработает ли там скрипт?
Нет, не отработает. У вас очень старая версия, нужно обновиться. Для этого нужно приобрести подписку на обновления на год или больше.
Дистрибутивы старых версий мы предоставляем только клиентам, напишите нам на [email protected], вышлем ссылку, если вы потеряли свой дистрибутив.
Чат со мной
Чат со мной
Чат со мной
Версия 5.7 вышла очень давно, посмотрите историю версий.
Я вам с удовольствием помогу, но и вы обновитесь на самую свежую версию.
Чат со мной
Я поправил скрипт ручками, все работает
Чат со мной
// Скрипт автоматических поздравлений с днями рождений //
// версия 1.0 от 02.10.2011
Чат со мной
Скрипт устарел, свежая версия для версии MyChat 8.3.3 и старше.
Чат со мной
Чат со мной
// ---------------------------------------
// Script created by Alexey Pikurov ([email protected])
// 18.01.2021 20:45:13
// ---------------------------------------
var
iUIN: integer;
dtExpired: double;
sUsersList, sUserFullName, sMsg, sGender, sToday: string;
begin
dtExpired := Now; // получаем текущую дату
sToday := FormatDateTime('ddmmyyyy', dtExpired);
// если мы уже работали сегодня, то ничего не делаем, чтобы
// не поздравить одних и тех же людей по второму кругу
if mDBStorageGetData('birthday-script') = sToday then exit
else mDBStorageSetData('birthday-script', sToday);
sUsersList := mGetBirthdayUsers(dtExpired); // получаем список UIN-ов людей, у которых сегодня день рождения
while length(sUsersList) > 0 do begin
iUIN := StrToInt(Fetch(sUsersList, ','));
sUserFullName := mGetUserFullNameByPreset(iUIN, 0); // 0 — "Александр Сергеевич Пушкин"
if mGetUserAttribute(iUIN, 'Sex') = '2' then sGender := 'её' // получение пола пользователя
else sGender := 'его';
// формируем строку для поздравления
sMsg := 'Сегодня ' + sUserFullName + ' празднует день рождения!' +
CRLF +
'Подравляем ' + sGender + ' с этим праздником и желаем всего самого ' +
'светлого и доброго!' +
CRLF +
'Пусть жизнь дарит Вам побольше ярких моментов и сбудутся все самые смелые и заветные желания!'+
CRLF +
'Желаем чтобы в Вашем доме всегда царили счастье и понимание.'+
CRLF +
'И пусть Вас окружают только искренние, верные, надежные друзья и добрые люди. ' +
CRLF +
'С уважением, администрация!';
// если сегодня суббота или воскресенье, то добавляем нужное количество дней до понедельника
case DayOfTheWeek(dtExpired) of
6: IncDay(dtExpired, 2);
7: IncDay(dtExpired, 1);
end;
// ...и размещаем поздравление на доске объяалений, чтобы было видно всем пользователям
mAddNewBBSMessage(sMsg, dtExpired, false);
end;
end.
Чат со мной