Stimmt! Hier ist ein Code mit einem langen Text und nur das letzte Stück wird ausgegeben.
Code: Alles auswählen
;PB 4.0 Final
; ************* Variables *************
Global a$
Fensterueberschrift$ = "Unicode-Test"
Button_1 = 20 ; Button-ID
Global FontID1
FontID1 = LoadFont(1, "Courier", 10) ; Font für die Darstellung
;RTF- Test
text$="{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fmodern\fprq1\fcharset0 Courier New;}}"
text$=text$ + "{\colortbl ;\red0\green0\blue0;}"
text$=text$ + "\viewkind4\uc1\pard\cf1\f0\fs20 Die ist ein langer Esperantotext. \par "
text$=text$ + "\u264? \u284? \u292? \u308? \u348? \u364? \u265? \u285? \u293? \u309? \u349? \u365? werden ersetzt durch ^C ^G usw... \par "
text$=text$ + "\cf0 Text zum 1. Mal: "
story$ = "Same kiel tiom da aliaj, anka\u365? ni legis la libron \ldblquote The Da Vinci Code\rdblquote . La filmon ni ankora\u365? ne vidis, sed de kiam \u285?i estas en la kinejoj, ni \u285?ojas pri kelkaj filmrecenzoj, kiuj \u285?in volupte dis\u349?iras.\par Wir haben, wie so viele andere auch, das Buch \ldblquote The Da Vinci Code\rdblquote gelesen. Den Film haben wir noch nicht gesehen, aber seit er in den Kinos ist, erfreuen wir uns an so mancher Filmkritik, die ihn woll\'fcstig zerfleischt.\par "
story$ = story$ + "La plej bona recenzo, kiun ni legis, venas de Johan Croneman, kaj aperis en la gazeto. Beda\u365?rinde mi kompreneble ne povas \u285?in plene redoni \u285?i tie. Nur unu alineon mi volas citi (en tradukita formo), \u265?ar \u285?i estas simple genia. \u284?i estas parodio de la tuta rakonto.\par Die beste Rezension, die wir gelesen haben, stammt von Johan Croneman und ist erschienen. Leider kann ich sie hier nat\'fcrlich nicht vollst\'e4ndig wiedergeben. Nur einen Absatz m\'f6chte ich (\'fcbersetzt) zitieren, weil er einfach genial ist. Es ist eine Parodie auf die ganze Geschichte.\par \cf1\par "
text$=text$ + story$
text$=text$ + "\cf0 Text zum 2. Mal: ":text$=text$ + story$
text$=text$ + "\cf0 Text zum 3. Mal: ":text$=text$ + story$
text$=text$ + "\cf0 Text zum 4. Mal: ":text$=text$ + story$
text$=text$ + "\cf0 Text zum 5. Mal: ":text$=text$ + story$
text$=text$ + "}"
#WM_SETTEXT = 12
#SF_RTF = 2
#EM_STREAMOUT = 1098
CompilerIf Defined(EDITSTREAM,#PB_Structure) = 0
Structure EDITSTREAM
dwCookie.l
dwError.l
pfnCallback.l
EndStructure
CompilerEndIf
; ************* Mainprogram *************
Procedure StreamOut(dwCookie,pbBuff,cb,*pcb)
SetGadgetText(dwCookie,PeekS(pbBuff))
A$ = PeekS(pbBuff)
EndProcedure
If OpenWindow(0, 1, 1, 800, 350, Fensterueberschrift$, #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
SetWindowColor(0,RGB(100, 150, 100))
CreateGadgetList(WindowID(0))
EditorGadget(1, 20, 50, 650, 110) ;#PB_Editor_ReadOnly
SetGadgetFont(1, FontID1)
EditorGadget(2, 20, 160, 650, 110);#PB_Editor_ReadOnly
SetGadgetFont(2, FontID1)
ButtonGadget(Button_1, 650+25, 130, 100, 20, "Copy")
SetGadgetText(1, text$)
SendMessage_(GadgetID(1),#EM_SETTARGETDEVICE, #Null, Flag)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
Select EventGadget()
Case Button_1
Stream.EDITSTREAM
Stream\dwCookie = 2
Stream\pfnCallback = @StreamOut()
SendMessage_(GadgetID(1), #EM_STREAMOUT, #SF_RTF, @Stream)
A$ = ReplaceString(A$, "\u264?", "^C")
A$ = ReplaceString(A$, "\u284?", "^G")
A$ = ReplaceString(A$, "\u292?", "^H")
A$ = ReplaceString(A$, "\u308?", "^J")
A$ = ReplaceString(A$, "\u348?", "^S")
A$ = ReplaceString(A$, "\u364?", "^U")
A$ = ReplaceString(A$, "\u265?", "^c")
A$ = ReplaceString(A$, "\u285?", "^g")
A$ = ReplaceString(A$, "\u293?", "^h")
A$ = ReplaceString(A$, "\u309?", "^j")
A$ = ReplaceString(A$, "\u349?", "^s")
A$ = ReplaceString(A$, "\u365?", "^u")
;Debug A$
SetGadgetText(2, A$)
EndSelect
EndSelect
ForEver
EndIf ; Open Window
End