Описание функции
ValidChar
Проверяет, соответствует ли строка указанному набору символов.
ValidChar(*c.Character, Char$, Allow)
Параметры
*c.Character | Строка для обработки |
Char$ |
Строка содержащая символы для проверки |
Allow |
Флаг разрешения символов указанных в Char$ 0 - не разрешать 1 - разрешать только символы указанные в Char$ |
Возвращаемое значение
Возвращает флаг соответствия 0 или 1 |
Примечания
В отличии от диапазонов, в этой функции указываются явные символы.См. также
IsDigital, IsLatin, IsHex, IsFloatПример
; AZJIO
; https://www.purebasic.fr/english/viewtopic.php?p=597022#p597022
Procedure ValidChar(*c.Character, Char$, Allow)
If Not Asc(Char$)
ProcedureReturn Allow
EndIf
While *c\c
If Bool(FindString(Char$, Chr(*c\c))) <> Allow
ProcedureReturn Bool(Not Allow)
EndIf
*c + SizeOf(Character)
Wend
ProcedureReturn Allow
EndProcedure
Define ValidChars$ = "0123456789ABCDEF"
Define InValidChars$ = ~"^\\/:*?\"<>|"
Debug ValidChar(@"FF8080", ValidChars$, 1) ; 1
Debug ValidChar(@"0x15", ValidChars$, 1) ; 0
Debug ValidChar(@"filename", InValidChars$, 0) ; 0
Debug ValidChar(@"file:", InValidChars$, 0) ; 1