A literal string can't be bigger than 8192 characters.
Ok, I've build quick and dirty a converter. Maybe somebody else could need it.
Code: Select all
Procedure Convert ()
dummy.s = GetGadgetText(0)
dummy = ReplaceString(dummy, #CRLF$, "")
dummy = ReplaceString(dummy, #LF$, "")
n = 1
l = Len(dummy)
txt.s = ~"txt.s = \"\"" + #CRLF$
Repeat
txt + ~"txt + \"" + Mid (dummy, n, 75) + ~"\"" + #CRLF$
n + 75
Until n > l
SetGadgetText(1, txt)
SetGadgetText(6, "Text Len: " + Str(l) + " | Converted: " + Str(Len(txt)))
EndProcedure
Procedure LoadFile ()
Protected file.s, FileID, *mem, dummy.s
file = OpenFileRequester( "Load File", "", "Images (*.jpg)|*.jpg;*.jpeg;*.png;*.ico;*.svg|All Files (*.*)|*.*", 0)
If file = ""
SetGadgetText(0, "") : SetGadgetText(1, "")
ProcedureReturn
EndIf
Select LCase(GetExtensionPart(file))
Case "jpg", "jpeg" : dummy = "data:image/jpeg;base64,"
Case "png" : dummy = "data:image/png;base64,"
Case "svg" : dummy = "data:image/svg+xml;base64,"
EndSelect
FileID = ReadFile(#PB_Any, file)
If FileID
*mem = AllocateMemory(Lof(FileID))
If *mem
ReadData(FileID, *mem, Lof(FileID))
dummy + Base64Encoder(*mem, MemorySize(*mem))
FreeMemory(*mem)
EndIf
CloseFile(FileID)
EndIf
SetGadgetText(0, dummy)
Convert()
EndProcedure
Procedure Main()
OpenWindow(0, 0, 0, 900, 740, "Format Text", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
EditorGadget(0, 10, 10, 880, 300, #PB_Editor_WordWrap)
EditorGadget(1, 10, 310, 880, 300, #PB_Editor_WordWrap)
ButtonGadget(2, 10, 660, 200, 40, "Paste from Clipbord")
ButtonGadget(3, 220, 660, 200, 40, "Copy to Clipbord")
ButtonGadget(4, 430, 660, 100, 40, "Clear")
ButtonGadget(7, 540, 660, 100, 40, "Load File")
ButtonGadget(5, 690, 660, 200, 40, "Quit")
TextGadget(6, 10, 620, 880, 30, "" )
SetGadgetText(0, GetClipboardText())
Convert()
EndProcedure
Main()
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
Select EventGadget()
Case 2 : SetGadgetText(0, GetClipboardText()) : Convert()
Case 3 : SetClipboardText( GetGadgetText(1))
Case 4 : SetGadgetText(0, "") : SetGadgetText(1, "")
Case 5 : Event = #PB_Event_CloseWindow
Case 7 : LoadFile()
EndSelect
EndIf
Until Event = #PB_Event_CloseWindow