; ; Str.pbi Interface Str Asc () Count (StringToCount$) Delete () Escape. s (Mode = #Null) Find (StringToFind$, StartPosition = #Null, Mode = #Null) Insert. s (StringToInsert$, Position) LCase. s () Left. s (Length) Len () LSet. s (Length, Character$ = " ") LTrim. s (Character$ = " ") Mid. s (StartPosition, Length = #Null) Remove. s (StringToRemove$, Mode = #Null, StartPosition = #Null, NbOccurrences = #Null) Replace. s (StringToFind$, ReplacementMode = #Null, StartPosition = #Null, NbOccurrences = #Null) Reverse. s () Right. s (Length) RSet. s (Length, Character$ = " ") RTrim. s (Character$ = " ") Set (String$) String. s () ByteLength (Format = #Null) Field. s (Index, Delimiter$) Trim. s (Character$ = " ") UCase. s () Unescape. s (Mode = #Null) Val () ValD () ValF () EndInterface DeclareModule Str Declare Str__Asc (String$) Declare$ Str__Bin (Value.q, Type = #Null) Declare$ Str__Chr (CharacterValue) Declare Count (String$, StringToCount$) Declare$ Escape (String$, Mode = #Null) Declare Find (String$, StringToFind$, StartPosition = #Null, Mode = #Null) Declare$ Str__Hex (Value.q, Type = #Null) Declare$ Insert (String$, StringToInsert$, Position) Declare$ Str__LCase (String$) Declare$ Str__Left (String$, Length) Declare Str__Len (String$) Declare$ Str__LSet (String$, Length, Character$ = " ") Declare$ Str__LTrim (String$, Character$ = " ") Declare$ Str__Mid (String$, StartPosition, Length = #Null) Declare New (String$ = #Empty$) Declare$ Remove (String$, StringToRemove$, Mode = #Null, StartPosition = #Null, NbOccurrences = #Null) Declare$ Replace (String$, StringToFind$, ReplacementString$, Mode = #Null, StartPosition = #Null, NbOccurrences = #Null) Declare$ Reverse (String$) Declare$ Str__Right (String$, Length) Declare$ Str__RSet (String$, Length, Character$ = " ") Declare$ Str__RTrim (String$, Character$ = " ") Declare$ Str__Space (Length) Declare$ Str__Str (Value.q) Declare$ Str__StrD (Value.d, NbDecimal = #Null) Declare$ Str__StrF (Value.f, NbDecimal = #Null) Declare ByteLength (String$, Format = #Null) Declare$ Field (String$, Index, Delimiter$) Declare$ Str__StrU (Value.q, Type) Declare$ Str__Trim (String$, Character$ = " ") Declare$ Str__UCase (String$) Declare$ Unescape (String$, Mode = #Null) Declare Str__Val (String$) Declare Str__ValD (String$) Declare Str__ValF (String$) EndDeclareModule Module Str Structure SString *VTABLE String$ EndStructure Procedure Str__Asc (String$) ProcedureReturn Asc (String$) EndProcedure Procedure IAsc (*this. SString) ProcedureReturn Asc (*this \ String$) EndProcedure Procedure$ Str__Bin (Value.q, Type = #Null) ProcedureReturn Bin (Value.q, Type) EndProcedure Procedure$ Str__Chr (CharacterValue) ProcedureReturn Chr (CharacterValue) EndProcedure Procedure Count (String$, StringToCount$) ProcedureReturn CountString (String$, StringToCount$) EndProcedure Procedure ICount (*this. SString, StringToCount$) ProcedureReturn CountString (*this \ String$, StringToCount$) EndProcedure Procedure IDelete (*this. SString) FreeMemory (*this) EndProcedure Procedure$ Escape (String$, Mode = #Null) ProcedureReturn EscapeString (String$, Mode) EndProcedure Procedure$ IEscape (*this. SString, Mode = #Null) ProcedureReturn EscapeString (*this \ String$, Mode) EndProcedure Procedure Find (String$, StringToFind$, StartPosition = #Null, Mode = #Null) ProcedureReturn FindString (String$, StringToFind$, StartPosition, Mode) EndProcedure Procedure IFind (*this. SString, StringToFind$, StartPosition = #Null, Mode = #Null) ProcedureReturn FindString (*this \ String$, StringToFind$, StartPosition, Mode) EndProcedure Procedure$ Str__Hex (Value.q, Type = #Null) ProcedureReturn Hex (Value.q, Type) EndProcedure Procedure$ Insert (String$, StringToInsert$, Position) ProcedureReturn InsertString (String$, StringToInsert$, Position) EndProcedure Procedure$ IInsert (*this. SString, StringToInsert$, Position) ProcedureReturn InsertString (*this \ String$, StringToInsert$, Position) EndProcedure Procedure$ Str__LCase (String$) ProcedureReturn LCase (String$) EndProcedure Procedure$ ILCase (*this. SString) ProcedureReturn LCase (*this \ String$) EndProcedure Procedure$ Str__Left (String$, Length) ProcedureReturn Left (String$, Length) EndProcedure Procedure$ ILeft (*this. SString, Length) ProcedureReturn Left (*this \ String$, Length) EndProcedure Procedure Str__Len (String$) ProcedureReturn Len (String$) EndProcedure Procedure ILen (*this. SString) ProcedureReturn Len (*this \ String$) EndProcedure Procedure$ Str__LSet (String$, Length, Character$ = " ") ProcedureReturn LSet (String$, Length, Character$) EndProcedure Procedure$ ILSet (*this. SString, Length, Character$ = " ") ProcedureReturn LSet (*this \ String$, Length, Character$) EndProcedure Procedure$ Str__LTrim (String$, Character$ = " ") ProcedureReturn LTrim (String$, Character$) EndProcedure Procedure$ ILTrim (*this. SString, Character$ = " ") ProcedureReturn LTrim (*this \ String$, Character$) EndProcedure Procedure$ Str__Mid (String$, StartPosition, Length = #Null) ProcedureReturn Mid (String$, StartPosition, Length) EndProcedure Procedure$ IMid (*this. SString, StartPosition, Length = #Null) ProcedureReturn Mid (*this \ String$, StartPosition, Length) EndProcedure Procedure New (String$ = #Empty$) Protected *this. SString *this = AllocateMemory (SizeOf (SString)) If *this *this \ VTABLE = ? VTABLE_SSTRING *this \ String$ = String$ ProcedureReturn *this EndIf EndProcedure Procedure$ Remove (String$, StringToRemove$, Mode = #Null, StartPosition = #Null, NbOccurrences = #Null) ProcedureReturn RemoveString (String$, StringToRemove$, Mode, StartPosition, NbOccurrences) EndProcedure Procedure$ IRemove (*this. SString, StringToRemove$, Mode = #Null, StartPosition = #Null, NbOccurrences = #Null) ProcedureReturn RemoveString (*this \ String$, StringToRemove$, Mode, StartPosition, NbOccurrences) EndProcedure Procedure$ Replace (String$, StringToFind$, ReplacementString$, Mode = #Null, StartPosition = #Null, NbOccurrences = #Null) ProcedureReturn ReplaceString (String$, StringToFind$, ReplacementString$, Mode, StartPosition, NbOccurrences) EndProcedure Procedure$ IReplace (*this. SString, StringToFind$, ReplacementString$, Mode = #Null, StartPosition = #Null, NbOccurrences = #Null) ProcedureReturn ReplaceString (*this \ String$, StringToFind$, ReplacementString$, Mode, StartPosition, NbOccurrences) EndProcedure Procedure$ Reverse (String$) ProcedureReturn ReverseString (String$) EndProcedure Procedure$ IReverse (*this. SString) ProcedureReturn ReverseString (*this \ String$) EndProcedure Procedure$ Str__Right (String$, Length) ProcedureReturn Right (String$, Length) EndProcedure Procedure$ IRight (*this. SString, Length) ProcedureReturn Right (*this \ String$, Length) EndProcedure Procedure$ Str__RSet (String$, Length, Character$ = " ") ProcedureReturn RSet (String$, Length, Character$) EndProcedure Procedure$ IRSet (*this. SString, Length, Character$ = " ") ProcedureReturn RSet (*this \ String$, Length, Character$) EndProcedure Procedure$ Str__RTrim (String$, Character$ = " ") ProcedureReturn RTrim (String$, Character$) EndProcedure Procedure$ IRTrim (*this. SString, Character$ = " ") ProcedureReturn RTrim (*this \ String$, Character$) EndProcedure Procedure ISet (*this. SString, String$) *this \ String$ = String$ EndProcedure Procedure$ Str__Space (Length) ProcedureReturn Space (Length) EndProcedure Procedure$ Str__Str (Value.q) ProcedureReturn Str (Value.q) EndProcedure Procedure$ Str__StrD (Value.d, NbDecimal = #Null) ProcedureReturn StrD (Value.d, NbDecimal) EndProcedure Procedure$ Str__StrF (Value.f, NbDecimal = #Null) ProcedureReturn StrF (Value.f, NbDecimal) EndProcedure Procedure$ IString (*this. SString) ProcedureReturn *this \ String$ EndProcedure Procedure ByteLength (String$, Format = #Null) ProcedureReturn StringByteLength (String$, Format) EndProcedure Procedure IByteLength (*this. SString, Format = #Null) ProcedureReturn StringByteLength (*this \ String$, Format) EndProcedure Procedure$ Field (String$, Index, Delimiter$) ProcedureReturn StringField (String$, Index, Delimiter$) EndProcedure Procedure$ IField (*this. SString, Index, Delimiter$) ProcedureReturn StringField (*this \ String$, Index, Delimiter$) EndProcedure Procedure$ Str__StrU (Value.q, Type) ProcedureReturn StrU (Value.q, Type) EndProcedure Procedure$ Str__Trim (String$, Character$ = " ") ProcedureReturn Trim (String$, Character$) EndProcedure Procedure$ ITrim (*this. SString, Character$ = " ") ProcedureReturn Trim (*this \ String$, Character$) EndProcedure Procedure$ Str__UCase (String$) ProcedureReturn UCase (String$) EndProcedure Procedure$ IUCase (*this. SString) ProcedureReturn UCase (*this \ String$) EndProcedure Procedure$ Unescape (String$, Mode = #Null) ProcedureReturn UnescapeString (String$, Mode) EndProcedure Procedure$ IUnescape (*this. SString, Mode = #Null) ProcedureReturn UnescapeString (*this \ String$, Mode) EndProcedure Procedure Str__Val (String$) ProcedureReturn Val (String$) EndProcedure Procedure IVal (*this. SString) ProcedureReturn Val (*this \ String$) EndProcedure Procedure Str__ValD (String$) ProcedureReturn ValD (String$) EndProcedure Procedure IValD (*this. SString) ProcedureReturn ValD (*this \ String$) EndProcedure Procedure Str__ValF (String$) ProcedureReturn ValF (String$) EndProcedure Procedure IValF (*this. SString) ProcedureReturn ValF (*this \ String$) EndProcedure DataSection VTABLE_SString: Data. i @ IAsc () Data. i @ ICount () Data. i @ IDelete () Data. i @ IEscape () Data. i @ IFind () Data. i @ IInsert () Data. i @ ILCase () Data. i @ ILeft () Data. i @ ILen () Data. i @ ILSet () Data. i @ ILTrim () Data. i @ IMid () Data. i @ IRemove () Data. i @ IReplace () Data. i @ IReverse () Data. i @ IRight () Data. i @ IRSet () Data. i @ IRTrim () Data. i @ ISet () Data. i @ IString () Data. i @ IByteLength () Data. i @ IField () Data. i @ ITrim () Data. i @ IUCase () Data. i @ IUnescape () Data. i @ IVal () Data. i @ IValD () Data. i @ IValF () EndDataSection EndModule ; IDE Options = PureBasic 5.41 LTS (Windows - x86)