Page 1 of 1

How to compare list strings case insensitive

Posted: Sun May 07, 2023 10:38 am
by AZJIO
Maybe for this you need to come up with an additional sign <=>
string1 <=> string2

Code: Select all

Ext$ = "png"
i = 0

Structure ListRE
	List ext.s()
EndStructure

Global Dim HLightRegex.ListRE(0)
AddElement(HLightRegex(i)\ext())
HLightRegex(i)\ext() = "PNG"
; AddElement(HLightRegex(i)\ext())
; HLightRegex(i)\ext() = "Png"

Debug PeekS(SelectElement(HLightRegex(i)\ext(), ListIndex(HLightRegex(i)\ext()))) ; ?
; Debug PeekS(SelectElement(HLightRegex(i)\ext(), ListIndex(HLightRegex(i)\ext())), -1, #PB_Unicode) ; ?

If CompareMemoryString(SelectElement(HLightRegex(i)\ext(), ListIndex(HLightRegex(i)\ext())), @Ext$, #PB_String_NoCase) = #PB_String_Equal
	Debug 1
Else
	Debug 0
EndIf
If FindString(Ext$, HLightRegex(i)\ext(), 1, #PB_String_NoCase) And FindString(HLightRegex(i)\ext(), Ext$, 1, #PB_String_NoCase)
	Debug 1
Else
	Debug 0
EndIf
If FindString(Ext$, HLightRegex(i)\ext(), 1, #PB_String_NoCase) And Len(HLightRegex(i)\ext()) = Len(Ext$)
	Debug 1
Else
	Debug 0
EndIf

Re: How to compare list strings case insensitive

Posted: Sun May 07, 2023 11:12 am
by HeX0R

Code: Select all

Ext$ = "png"
i = 0

Structure ListRE
	List ext.s()
EndStructure

Global Dim HLightRegex.ListRE(0)
AddElement(HLightRegex(i)\ext())
HLightRegex(i)\ext() = "PNG"
; AddElement(HLightRegex(i)\ext())
; HLightRegex(i)\ext() = "Png"

; SelectElement(HLightRegex(i)\ext(), ListIndex(HLightRegex(i)\ext()))
; *s.string = @HLightRegex(i)\ext()
; Debug *s\s
; Debug PeekS(PeekI(*s))

If CompareMemoryString(PeekI(SelectElement(HLightRegex(i)\ext(), ListIndex(HLightRegex(i)\ext()))), @Ext$, #PB_String_NoCase) = #PB_String_Equal
	Debug 1
Else
	Debug 0
EndIf
If FindString(Ext$, HLightRegex(i)\ext(), 1, #PB_String_NoCase) And FindString(HLightRegex(i)\ext(), Ext$, 1, #PB_String_NoCase)
	Debug 1
Else
	Debug 0
EndIf
If FindString(Ext$, HLightRegex(i)\ext(), 1, #PB_String_NoCase) And Len(HLightRegex(i)\ext()) = Len(Ext$)
	Debug 1
Else
	Debug 0
EndIf