Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 4 1 2 3 ... ПоследняяПоследняя
Показано с 1 по 10 из 35

Тема: strcmp

  1. #1
    Аватар для PawnoNoob
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±

    strcmp

    Доброго времени суток.
    Я ещё не совсем разобрался в функции strcmp, поэтому после моего вопроса не нужно обзываться

    По порядку: в базе данных имеется строка, значение которой по умолчанию равно нулю. Эта строка загружается вместе с данными после ввода пароля. В самой строке могут храниться данные, состоящие из букв и символов.
    Теперь сам вопрос: при вводе одной из команд вызывается форвард, в котором происходят определённые действия и нужно сделать так, чтобы при сравнении загружаемой строки и самого нуля показывался диалог (если строка равна нулю), если же загружаемая строка не равна нулю, то выполняется другое действие. Как это нужно реализовывать?

  2. #2
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Использовать функцию isnull?
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  3. Пользователь сказал cпасибо:
    PawnoNoob (14.08.2016)
  4. #3
    Аватар для PawnoNoob
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    Использовать функцию isnull?
    А можно подробнее? Не слышал о такой

  5. #4
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    А можно подробнее? Не слышал о такой
    Данная функция, точнее макрос, проверяет строку на заполненность. Она возвращает лишь два значения: правда(true), если первый символ строки нуль, либо же - ложь, если первый символ ненулевой.

  6. Пользователь сказал cпасибо:
    PawnoNoob (15.08.2016)
  7. #5
    Аватар для PawnoNoob
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    Данная функция, точнее макрос, проверяет строку на заполненность. Она возвращает лишь два значения: правда(true), если первый символ строки нуль, либо же - ложь, если первый символ ненулевой.
    А как его записать в strcmp?

  8. #6
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Функция есть в DC_CMD, mysql (blueg) и т.д.
    Если не используйте данные плагины, то я возьму макрос из DC_CMD:
    PHP код:
    #define isnull(%1) \
                        
    (((%1[0]) == 0) || ((%1[0]) == '\1') && ((%1[1]) == 0)) 
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  9. Пользователь сказал cпасибо:
    PawnoNoob (15.08.2016)
  10. #7
    Аватар для PawnoNoob
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    Функция есть в DC_CMD, mysql (blueg) и т.д.
    Если не используйте данные плагины, то я возьму макрос из DC_CMD:
    PHP код:
    #define isnull(%1) \
                        
    (((%1[0]) == 0) || ((%1[0]) == '\1') && ((%1[1]) == 0)) 
    Хм, странный вопрос сейчас "пролетит": а если использую и то и то? Ну, как использовать этот макрос?
    Вот так?
    PHP код:
    if(strcmp(isnull(PlayerInfo[playerid][название строки]), PlayerInfo[playerid][название строки], true) == 0
    Или нет?
    Последний раз редактировалось PawnoNoob; 15.08.2016 в 03:01.

  11. #8
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    PHP код:
    if(isnull(array))
    {
    // строка пустая
    }
    else
    {
    // строка не пустая

    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  12. Пользователь сказал cпасибо:
    PawnoNoob (15.08.2016)
  13. #9
    Аватар для PawnoNoob
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    PHP код:
    if(isnull(array))
    {
    // строка пустая
    }
    else
    {
    // строка не пустая

    Всё равно else выполняется почему-то, пробовал вставить и pInfo, и добавить новый параметр в форварде и паблике - эффекта нет, выполняется else, при этом ошибок при компилировании нет.

  14. #10
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Предлагаю перед условием использовать print для вывода строки, что бы узнать что находится в ней.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  15. Пользователь сказал cпасибо:
    PawnoNoob (15.08.2016)
 

 
Страница 1 из 4 1 2 3 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •