Code: Select all
EnableExplicit
Procedure.s StripChar(String$, flag, TrimChar$ = #CRLF$ + #TAB$ + #FF$ + #VT$ + " ")
Protected Len1, Len2, i, j, NotFirstSpace = 1, SavePointer = 1, Added = 0
Protected *memChar, *c.Character, *jc.Character
Protected NewList Parts.i()
Protected tmp$ = ""
Len1 = Len(TrimChar$)
Len2 = Len(String$)
If Not Asc(String$)
ProcedureReturn ""
EndIf
*c.Character = @String$
*memChar = @TrimChar$
*jc.Character = *memChar
For j = 1 To Len1
If *c\c = *jc\c
Added = 1
Break
EndIf
*jc + SizeOf(Character)
Next
For i = 1 To Len2
*jc.Character = *memChar
For j = 1 To Len1
If *c\c = *jc\c
If NotFirstSpace
*c\c = 0
SavePointer = 1
Else
NotFirstSpace = 1
*c\c = 32
EndIf
Break
EndIf
*jc + SizeOf(Character)
Next
If *c\c
If SavePointer And NotFirstSpace
SavePointer = 0
NotFirstSpace = 0
If AddElement(Parts())
Parts() = *c
EndIf
EndIf
EndIf
*c + SizeOf(Character)
Next
tmp$ = ""
If Added
tmp$ + " "
EndIf
ForEach Parts()
tmp$ + PeekS(Parts())
Next
ProcedureReturn tmp$
EndProcedure
Define String$
String$ =" " + #CRLF$ + #CRLF$ + " Hello World! " + #CRLF$ + #TAB$ + " "
Debug "|" + StripChar(String$, 4) + "|"
String$ ="h w t b o a n e n e r"
Debug "|" + StripChar(String$, 4) + "|"
Code: Select all
*c.Character = @String$
*new.Character = @String$