2015-06-10 3 views
1

Я пытаюсь проверить, есть ли запись в ini-файле с ником пользователя в качестве ключа или нет. Если не; сделать запись. Если он существует; опубликуйте сообщение об ошибке.mIRC: проверьте, имеет ли INI-файл ключ

var %previous = $readini(numbers.ini,Number,$nick) 

if(%previous != $null) { 
    msg $chan $nick , you have already written %previous . 
} 
else { 
    writeini numbers.ini Number $nick $2 
    msg $chan $nick has written $2. 
} 

Что происходит с выше сценария является то, что она никогда не $null, и я нигде не могу найти то, что возвращается из $readini, если ключ не найден.

+0

Я проверил это, кажется, что нет ничего плохого с ним. –

ответ

0

$ini(numbers.ini, Numbers, $nick) вернет номер N (указывая, что элемент является N-ым элементом в этом разделе), если он существует. Если он не существует, он вернет $null.

В вашем случае, вы хотите что-то вдоль линий

if ($ini(numbers.ini, Numbers, $nick) != $null) { 
    msg $chan $nick , you have already written $readini(numbers.ini, Numbers, $nick) 
} 
else { 
    writeini numbers.ini Numbers $nick $2 
    msg $chan $nick has written $2. 
} 
+1

Спасибо за предложение '$ ini', но если все еще не удается. С кодом, который вы отправили, я всегда получаю 'Пользователь написал 30.' – Phil

+0

Фил, я случайно включил опечатку. Он написал раздел 'Number' вместо' Numbers', поэтому он никогда не обнаружит новое значение. Кроме того, '$ readini' читается из' $ numbers.ini' вместо 'numbers.ini'. Оба теперь исправлены. Я думаю, это то, что я получаю за не тестирование кода! Дайте мне знать, если это сработает. – Patrickdev

Смежные вопросы