Re: Special chars in strings
Posted: Mon Feb 09, 2015 5:22 pm
@Danilo
Nice escape function.
Thank you for sharing.
Nice escape function.
Thank you for sharing.

http://www.purebasic.com
https://www.purebasic.fr/english/
Code: Select all
Define a.s = &"Hello\nWorld"
Code: Select all
EnableExplicit
Procedure.i EscapeMove(*current.Character)
Protected *insert.Character
*insert = *current
While *current\c <> #NUL
If *current\c = '~'
*current + SizeOf(Character)
Select *current\c
Case '~' : *current\c = '~'
Case 'q' : *current\c = '"'
Case 'n' : *current\c = #LF
Case 'r' : *current\c = #CR
Case 't' : *current\c = #TAB
Case 'v' : *current\c = #VT
Case '0' : *current\c = #NUL
Case 'a' : *current\c = #BEL
Case 'b' : *current\c = #BS
Case 'f' : *current\c = #FF
Case #NUL : Break
EndSelect
EndIf
*insert\c = *current\c
*current + SizeOf(Character)
*insert + SizeOf(Character)
Wend
*insert\c = #NUL
ProcedureReturn *current
EndProcedure
Procedure.i EscapeInline(*current.Character)
While *current\c <> #NUL
If *current\c = '~'
ProcedureReturn EscapeMove(*current)
EndIf
*current + SizeOf(Character)
Wend
ProcedureReturn *current
EndProcedure
Procedure.s Escape(string.s)
EscapeInline(@string)
ProcedureReturn string
EndProcedure
Debug Escape("Hello~qWorld~q~tWhat's Up?~nNext Line")