PureBasic

Руководство - Решения & условия

Существуют различные способы обработки данных, введённых пользователем или полученных другим способом (загрузка из файла например). Общие арифметические функции (+, -, *, /, ...) можно комбинировать с проверкой условий. Для этого можно использовать набор ключевых слов If : Else/ElseIf : EndIf или Select : Case/Default : EndSelect, выбор зависит от данной конкретной ситуации.

В этом примере показано использование If : ElseIf : Else : EndIf для создания сообщения, или отображения информации в строке состояния формы (GUI) или чего-либо подобного в зависимости от количества элементов воображаемом списке и условий фильтрации. Обратите внимание, что в отличие от других языков BASIC, в этом операторе ( If... EndIf ) PureBasic не использует ключевое слово "Then" ("Тогда").

Define.l Items = 10, Filter = 6
Define.s Message

If Items = 0
    Message = "Список пуст."

ElseIf Items = 1 And Filter = 0
    Message = "Один элемент. Не отображается фильтром."

ElseIf Items > 1 And Filter = 0
    Message = StrU(Items) + " элементов. Все отфильтрованные."

ElseIf Items > 1 And Filter = 1
    Message = StrU(Items) + " элементов. Один, показанный фильтром."

ElseIf Items = Filter
    Message = StrU(Items) + " элементов. Ничего не отфильтровано."

Else
    ; Ни одно из условий в ElseIf не соблюдено.
    Message = StrU(Items) + " элементов. " + StrU(Filter) +" Показано фильтром."

EndIf

Debug Message


В этом примере показано использование Select : Case : Default : EndSelect , чтобы классифицировать первые 127 символов ASCII по группам. В цикле "For: Next" задано максимальное значение 130, чтобы продемонстрировать действие ключевого слова Default.

Define.c Char
Define.s Message

For Char = 0 To 130

    Select Char

        Case 0 To 8, 10 To 31, 127
            Message = StrU(Char) + " Является непечатаемым управляющим кодом."

        Case 9
            Message = StrU(Char) + " Является табуляцией"

        Case 32
            Message = StrU(Char) + " Является пробелом."

        Case 36, 128
            Message = StrU(Char) + " Является символом валюты. (" + Chr(Char) + ")"

        Case 33 To 35, 37 To 47, 58 To 64, 91 To 96
            Message = StrU(Char) + " Является знаком препинания или математическим символом. (" + Chr(Char) + ")"

        Case 48 To 57
            Message = StrU(Char) + " Является числом. (" + Chr(Char) + ")"

        Case 65 To 90
            Message = StrU(Char) + " Является заглавной буквой. (" + Chr(Char) + ")"

        Case 97 To 122
            Message = StrU(Char) + " Является строчной буквой. (" + Chr(Char) + ")"

        Default
            ; Если ни одно из предыдущих условий Case не соблюдено.
            Message = "Извините, я не знаю, что " + StrU(Char) + " значит!"

    EndSelect

    Debug Message

Next Char

Навигация Руководства

< Константы - Обзор - Циклы >