|
Работа с флагами |
|
|
Две функции для работы с флагами. Если вы не знаете, что это такое, поясню. Часто в одной переменной целого типа (обычно Integer или Long) хранится несколько логических значений. Каждое значение занимает один бит. Такое часто встречается в API-функциях.
Функция SetFlag устанавливает флаг, а функция GetFlag получает значение флага.
'Устанавливает флаг. Передаётся исходная переменная, устанавливаемый флаг и значение флага (True или False)
'Возвращается переменная, в которой установлен нужный флаг.
Public Function SetFlag(ByVal Flags As Integer, ByVal Flag As Flags, ByVal Value As Boolean) As Integer
If Value = True Then
Return (Flags Or Flag)
Else
Return (Flags And (Not Flag))
End If
End Function
'Получает значение флага. Передаётся исходная переменная и флаг. Возвращается значение флага - True или False
Public Function GetFlag(ByVal Flags As Integer, ByVal Flag As Flags) As Boolean
Return Convert.ToBoolean(Flags And Flag)
End Function
|
|
|
|
|
|
|