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

Тема: strcmp

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

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

    strcmp

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

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

  2. #2
    Аватар для $continue$
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,466
    Репутация:
    265 ±
    Использовать функцию isnull?

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

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

  4. #4
    Аватар для VVWVV
    Проверенный

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

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

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

  7. #6
    Аватар для $continue$
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,466
    Репутация:
    265 ±
    Функция есть в DC_CMD, mysql (blueg) и т.д.
    Если не используйте данные плагины, то я возьму макрос из DC_CMD:
    PHP код:
    #define isnull(%1) \
                        
    (((%1[0]) == 0) || ((%1[0]) == '\1') && ((%1[1]) == 0)) 

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

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    219
    Репутация:
    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.

  9. #8
    Аватар для $continue$
    Заблокирован

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


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

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

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

  11. #10
    Аватар для $continue$
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,466
    Репутация:
    265 ±
    Предлагаю перед условием использовать print для вывода строки, что бы узнать что находится в ней.

 

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

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

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

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

Ваши права

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