Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 4 из 4
  1. #1
    Аватар для roma282282
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.02.2014
    Сообщений
    16
    Репутация:
    -6 ±

    Как сделать проверку на 3 заглавных буквы ?

    PHP код:
        for(new 0strlen(string); i++)
        {
            if(
    string[i] > 64 && string[i] < 91 string[i] += 32;// буквы A-Z
            
    else if(string[i] > 191 && string[i] < 224 string[i] += 32;// быквы А-Я
            
    else if(string[i] == 168string[i] = 184// буква Ё
        

    Последний раз редактировалось roma282282; 22.03.2014 в 01:25.

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

    Статус
    Оффлайн
    Регистрация
    01.02.2014
    Сообщений
    16
    Репутация:
    -6 ±
    ***
    Последний раз редактировалось roma282282; 22.03.2014 в 01:25.

  3. #3
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    PHP код:
        const MIN_CAPS_SYMBOLS 4// минимальное кол-во символов капсом, при котором нужно преобразовать содержимое строки
        
    for(new i=0,caps=0; ;++i// перебирать каждый символ в строке
        
    {
            switch(
    string[i])
            {
                case 
    '\0'// если нуль-символ (конец строки) - выйти
                    
    break;
                case 
    'A'..'Z''А'..'Я''Ё'// если заглавная буква
                
    {
                    
    caps++; // увеличить счётчик капса
                    
    if(caps == MIN_CAPS_SYMBOLS// если счётчик равен мин. кол-ву символов капсом для исправления
                    
    {
                        for(
    i=0; ; ++i// с самого начала перебирать каждый символ для преобразования
                        
    {
                            switch(
    string[i])
                            {
                                case 
    'A'..'Z':
                                    
    string[i] += 'a'-'A';
                                case 
    'А'..'П':
                                    
    string[i] += 'а'-'А';
                                case 
    'Р'..'Я':
                                    
    string[i] += 'р'-'Р';
                                case 
    'Ё':
                                    
    string[i] = 'ё';
                                case 
    '\0'// если конец строки - закончить преобразование и выйти из обоих циклов
                                    
    break;
                            }
                        }
                        break;
                    }
                }
            }
        } 
    Будет преобразовывать символы в нижний регистр, если в строке 4 и более заглавных буквы. 3 не советовал бы вставить, т.к. на многих RP-серверах могут быть аббревиатуры типа CNN, ФБР и т.п.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  4. Пользователь сказал cпасибо:
    L0ndl3m (23.03.2014)
  5. #4
    Аватар для roma282282
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.02.2014
    Сообщений
    16
    Репутация:
    -6 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    PHP код:
        const MIN_CAPS_SYMBOLS 4// минимальное кол-во символов капсом, при котором нужно преобразовать содержимое строки
        
    for(new i=0,caps=0; ;++i// перебирать каждый символ в строке
        
    {
            switch(
    string[i])
            {
                case 
    '\0'// если нуль-символ (конец строки) - выйти
                    
    break;
                case 
    'A'..'Z''А'..'Я''Ё'// если заглавная буква
                
    {
                    
    caps++; // увеличить счётчик капса
                    
    if(caps == MIN_CAPS_SYMBOLS// если счётчик равен мин. кол-ву символов капсом для исправления
                    
    {
                        for(
    i=0; ; ++i// с самого начала перебирать каждый символ для преобразования
                        
    {
                            switch(
    string[i])
                            {
                                case 
    'A'..'Z':
                                    
    string[i] += 'a'-'A';
                                case 
    'А'..'П':
                                    
    string[i] += 'а'-'А';
                                case 
    'Р'..'Я':
                                    
    string[i] += 'р'-'Р';
                                case 
    'Ё':
                                    
    string[i] = 'ё';
                                case 
    '\0'// если конец строки - закончить преобразование и выйти из обоих циклов
                                    
    break;
                            }
                        }
                        break;
                    }
                }
            }
        } 
    Будет преобразовывать символы в нижний регистр, если в строке 4 и более заглавных буквы. 3 не советовал бы вставить, т.к. на многих RP-серверах могут быть аббревиатуры типа CNN, ФБР и т.п.
    Спасибо, закрывайте тему.
    Последний раз редактировалось roma282282; 20.03.2014 в 22:50.

 

 

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

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

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

Ваши права

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