hab mir aus dem Forum ein Beispiel zusammengestellt für den Transfer des Textes aus dem Editorgadget ins HTML. Habe aber ein Probleme mit den weiteren Funktionen, wie dem Font, ColorFont, Fontisize etc. Bis dato funktioineren nur Bold, Italic, Underline und Strikeout.
Code: Alles auswählen
EnableExplicit
;- Constanten
Enumeration
#FrameMain
#myFragezeichen
#StatusBar_1
#Velindoslink
#Container_00
#Container_01
#Container_99
#Container_Button_00
#Container_Button_01
#Container_Button_99
#Editor_Gadget
#Editor_StyleF
#Editor_StyleY
#Editor_StyleB
#Editor_StyleS
#Editor_StyleI
#Editor_StyleU
#Editor_HTML
#Editor_StyleFC
#Editor_StyleBC
#Editor_Number
#Editor_AlignR
#Editor_AlignC
#Editor_AlignL
#Editor_Menu
#Editor_MenuNew
#Editor_MenuOpen
#Editor_MenuSave
#Editor_MenuQuit
#Editor_ImageFC
#Editor_ImageBC
#Web_Notiz
#CFM_LINK = $20
EndEnumeration
#CFM_BACKCOLOR = $4000000
#SF_USECODEPAGE = $20
#CP_UTF8 = 65001
Global MyFrageZeichen=CatchImage(#myFragezeichen,?Fragezeichen)
Global WindowsHeadText$="RTF to HTML Sheet"
Global HtmlExporter$="D:\HTML_Test.html"
Global RF=100; Zeiger für CSV Dateien CF
Global CF=100; Zeiger für CSV Dateien
Global Speicher1.l = 0
Global Speicher2.l = 0
Global Formatieren
Global Gesamtformat
Global Editorstrike
Global Editorunderl
Global Editoritalic
Global Editorfettdr
Global EditorFont ;=> #CFM_FACE
Global EditorSize ;=> Size =>#CFM_CHARSET
Global EditorColor ;=> #CFM_COLOR
Global EditorBackColor ;=> #CFM_COLOR
Global HtmlFettdr=0:
Global HtmlKursiv=0:
Global HtmlUnters=0:
Global HtmlStrike=0
Global HtmlCharFont=0
Global HtmlCharSize=0
Global HtmlCharColor=0
Global HtmlCharBackColor=0
Global Zeilenschaltung$
Global Erweitertezeile$
Global Textfeld$
Global Aktuellzeichen$
Global Letzteszeichen$
Global Anzeige_HTML$
Global Editor_FileName$ = ""
Global Editor_Pattern$ = "RTF (*.rtf)|*.rtf|Text (*.txt)|*.txt|Unicode (*.txt)|*.txt|UTF8 (*.utf8)|*.utf8"
CreateImage(#Editor_ImageFC,12,12)
CreateImage(#Editor_ImageBC,12,12)
Procedure Editor_EnumFontProc(*lpelfe.LOGFONT , *lpntme.TEXTMETRIC , fontType , lParam)
AddGadgetItem(#Editor_StyleF , -1 , PeekS(@*lpelfe\lfFaceName))
ProcedureReturn 1
EndProcedure
Procedure Editor_StreamOutCallback(dwCookie , *pbBuff , cb , *pcb.Long)
*pcb\l = WriteData(dwCookie , *pbBuff , cb)
ProcedureReturn (Not *pcb\l)
EndProcedure
Procedure Editor_StreamInCallback(dwCookie , *pbBuff.l , cb , *pcb.Long)
*pcb\l = ReadData(dwCookie , *pbBuff , cb)
ProcedureReturn (Not *pcb\l)
EndProcedure
Procedure Editor_UpdateGadgets(editor)
Protected cf.CHARFORMAT2
Protected pf.PARAFORMAT2
Protected fName$ , i
cf\cbSize = SizeOf(CHARFORMAT2)
SendMessage_(GadgetID(editor) , #EM_GETCHARFORMAT , #SCF_SELECTION , cf)
pf\cbSize = SizeOf(PARAFORMAT2)
SendMessage_(GadgetID(editor) , #EM_GETPARAFORMAT , 0 , pf)
If cf\dwMask & #CFM_SIZE
SetGadgetText(#Editor_StyleY , Str(cf\yHeight * 0.05))
EndIf
If cf\dwMask & #CFM_FACE
fName$ = PeekS(@cf\szFaceName , 32)
For i = 0 To CountGadgetItems(#Editor_StyleF) - 1
If GetGadgetItemText(#Editor_StyleF , i) = fName$
SetGadgetState(#Editor_StyleF , i)
Debug #Editor_StyleF
Break
EndIf
Next
EndIf
If cf\dwEffects & #CFE_BOLD
SetGadgetState(#Editor_StyleB , 1)
Else
SetGadgetState(#Editor_StyleB , 0)
EndIf
If cf\dwEffects & #CFE_ITALIC
SetGadgetState(#Editor_StyleI , 1)
Else
SetGadgetState(#Editor_StyleI , 0)
EndIf
If cf\dwEffects & #CFE_UNDERLINE
SetGadgetState(#Editor_StyleU , 1)
Else
SetGadgetState(#Editor_StyleU , 0)
EndIf
If cf\dwEffects & #CFE_STRIKEOUT
SetGadgetState(#Editor_StyleS , 1)
Else
SetGadgetState(#Editor_StyleS , 0)
EndIf
If cf\crTextColor <> -1
StartDrawing(ImageOutput(#Editor_ImageFC))
Box(0,0,ImageWidth(#Editor_ImageFC),ImageHeight(#Editor_ImageFC), cf\crTextColor)
StopDrawing()
SetGadgetAttribute(#Editor_StyleFC , #PB_Button_Image , ImageID(#Editor_ImageFC))
EndIf
If cf\crBackColor <> -1
StartDrawing(ImageOutput(#Editor_ImageBC))
Box(0,0,ImageWidth(#Editor_ImageBC),ImageHeight(#Editor_ImageBC), cf\crBackColor)
StopDrawing()
SetGadgetAttribute(#Editor_StyleBC , #PB_Button_Image , ImageID(#Editor_ImageBC))
EndIf
If pf\dwMask & #PFM_ALIGNMENT
SetGadgetState(#Editor_AlignR , 0)
SetGadgetState(#Editor_AlignC , 0)
SetGadgetState(#Editor_AlignL , 0)
Select pf\wAlignment
Case #PFA_LEFT : SetGadgetState(#Editor_AlignL , 1)
Case #PFA_CENTER : SetGadgetState(#Editor_AlignC , 1)
Case #PFA_RIGHT : SetGadgetState(#Editor_AlignR , 1)
EndSelect
EndIf
If pf\dwMask & #PFM_NUMBERING
Select pf\wNumbering
Case 0 : SetGadgetState(#Editor_Number , 0)
Default : SetGadgetState(#Editor_Number , 1)
EndSelect
EndIf
SetActiveGadget(editor)
EndProcedure
Procedure Editor_SetFontName(editor , fontName$)
Protected cf.CHARFORMAT2
If fontName$ <> ""
cf\cbSize = SizeOf(CHARFORMAT2)
cf\dwMask = #CFM_FACE
PokeS(@cf\szFaceName , fontName$ , 32)
SendMessage_(GadgetID(editor) , #EM_SETCHARFORMAT , #SCF_SELECTION , cf)
Editor_UpdateGadgets(editor)
EndIf
EndProcedure
Procedure Editor_SetFontHeight(editor , fontSize)
Protected cf.CHARFORMAT2
If fontSize > 0
cf\cbSize = SizeOf(CHARFORMAT2)
cf\dwMask = #CFM_SIZE
cf\yHeight = fontSize * 20.0
SendMessage_(GadgetID(editor) , #EM_SETCHARFORMAT , #SCF_SELECTION , cf)
Editor_UpdateGadgets(editor)
EndIf
EndProcedure
Procedure Editor_SetFontColor(editor , fontColor)
Protected cf.CHARFORMAT2
If fontColor <> -1
cf\cbSize = SizeOf(CHARFORMAT2)
cf\dwMask = #CFM_COLOR
cf\crTextColor = fontColor
SendMessage_(GadgetID(editor) , #EM_SETCHARFORMAT , #SCF_SELECTION , cf)
Editor_UpdateGadgets(editor)
EndIf
EndProcedure
Procedure Editor_SetBackColor(editor , backColor)
Protected cf.CHARFORMAT2
If backColor <> -1
cf\cbSize = SizeOf(CHARFORMAT2)
cf\dwMask = #CFM_BACKCOLOR
cf\crBackColor = backColor
SendMessage_(GadgetID(editor) , #EM_SETCHARFORMAT , #SCF_SELECTION , cf)
Editor_UpdateGadgets(editor)
EndIf
EndProcedure
Procedure Editor_SetFontStyle(editor , mask)
Protected cf.CHARFORMAT2
cf\cbSize = SizeOf(CHARFORMAT2)
cf\dwMask = mask
cf\dwEffects = 0
If GetGadgetState(#Editor_StyleB)
cf\dwEffects | #CFE_BOLD
EndIf
If GetGadgetState(#Editor_StyleI)
cf\dwEffects | #CFE_ITALIC
EndIf
If GetGadgetState(#Editor_StyleU)
cf\dwEffects | #CFE_UNDERLINE
EndIf
If GetGadgetState(#Editor_StyleS)
cf\dwEffects | #CFE_STRIKEOUT
EndIf
SendMessage_(GadgetID(editor) , #EM_SETCHARFORMAT , #SCF_SELECTION , cf)
Editor_UpdateGadgets(editor)
EndProcedure
Procedure Editor_SetAlignment(editor , alignment)
Protected pf.PARAFORMAT2
pf\cbSize = SizeOf(PARAFORMAT2)
pf\dwMask = #PFM_ALIGNMENT
pf\wAlignment = alignment
SendMessage_(GadgetID(editor) , #EM_SETPARAFORMAT , 0 , pf)
Editor_UpdateGadgets(editor)
EndProcedure
Procedure Editor_SetNumbering(editor , format)
Protected pf.PARAFORMAT2
pf\cbSize = SizeOf(PARAFORMAT2)
pf\dwMask = #PFM_NUMBERING | #PFM_NUMBERINGTAB
pf\wNumbering = format
pf\wNumberingTab = 500
SendMessage_(GadgetID(editor) , #EM_SETPARAFORMAT , 0 , pf)
Editor_UpdateGadgets(editor)
EndProcedure
Procedure Editor_Quit()
End
EndProcedure
Procedure Editor_Callback(hwnd , msg , wparam , lparam)
Protected *nmhdr.NMHDR
If msg = #WM_NOTIFY
*nmhdr = lparam
If *nmhdr\code = #EN_SELCHANGE
Editor_UpdateGadgets(*nmhdr\idFrom)
EndIf
EndIf
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
Procedure Editor_Initialize(editor , fontName$ = "Arial" , fontHeight = 10 , fontStyle = 0 , fontColor = #Black , backColor = #White)
Protected lf.LOGFONT , y
ClearGadgetItems(editor)
ClearGadgetItems(#Editor_StyleF)
ClearGadgetItems(#Editor_StyleY)
EnumFontFamiliesEx_(GetDC_(GadgetID(editor)) , lf , @Editor_EnumFontProc() , 0 , 0)
For y = 1 To 100
AddGadgetItem(#Editor_StyleY , -1 , Str(y))
Next
If fontStyle & #CFM_BOLD
SetGadgetState(#Editor_StyleB , 1)
Else
SetGadgetState(#Editor_StyleB , 0)
EndIf
If fontStyle & #CFM_ITALIC
SetGadgetState(#Editor_StyleI , 1)
Else
SetGadgetState(#Editor_StyleI , 0)
EndIf
If fontStyle & #CFM_UNDERLINE
SetGadgetState(#Editor_StyleU , 1)
Else
SetGadgetState(#Editor_StyleU , 0)
EndIf
If fontStyle & #CFM_STRIKEOUT
SetGadgetState(#Editor_StyleS , 1)
Else
SetGadgetState(#Editor_StyleS , 0)
EndIf
Editor_SetFontStyle (editor , fontStyle)
Editor_SetFontName (editor , fontName$)
Editor_SetFontHeight(editor , fontHeight)
Editor_SetFontColor (editor , fontColor)
Editor_SetBackColor (editor , backColor)
SendMessage_(GadgetID(editor) , #EM_SETEVENTMASK , 0 , #ENM_SELCHANGE)
SetWindowCallback(@Editor_Callback())
EndProcedure
Procedure Editor_Open(editor , fileName$)
Protected es.EDITSTREAM , file
file = ReadFile(#PB_Any , fileName$)
If IsFile(file)
Editor_Initialize(editor)
es\pfnCallback = @Editor_StreamInCallback()
es\dwCookie = file
Select SelectedFilePattern()
Case 0 : SendMessage_(GadgetID(editor) , #EM_STREAMIN , #SF_RTF , es)
Case 1 : SendMessage_(GadgetID(editor) , #EM_STREAMIN , #SF_TEXT , es)
Case 2 : SendMessage_(GadgetID(editor) , #EM_STREAMIN , #SF_UNICODE | #SF_TEXT , es)
Case 3 : SendMessage_(GadgetID(editor) , #EM_STREAMIN , (#CP_UTF8 << 16) | #SF_USECODEPAGE | #SF_TEXT , es)
EndSelect
CloseFile(file)
Editor_FileName$ = fileName$
EndIf
EndProcedure
Procedure Editor_Save(editor , fileName$)
Protected es.EDITSTREAM , file
file = CreateFile(#PB_Any , fileName$)
If IsFile(file)
es\pfnCallback = @Editor_StreamOutCallback()
es\dwCookie = file
Select SelectedFilePattern()
Case 0 : SendMessage_(GadgetID(editor) , #EM_STREAMOUT , #SF_RTF , es)
Case 1 : SendMessage_(GadgetID(editor) , #EM_STREAMOUT , #SF_TEXT , es)
Case 2 : SendMessage_(GadgetID(editor) , #EM_STREAMOUT , #SF_UNICODE | #SF_TEXT , es)
Case 3 : SendMessage_(GadgetID(editor) , #EM_STREAMOUT , (#CP_UTF8 << 16) | #SF_USECODEPAGE | #SF_TEXT , es)
EndSelect
CloseFile(file)
Editor_FileName$ = fileName$
EndIf
EndProcedure
; EditorGadget Format Zeichen für Zeichen auslesen
Procedure Formatlesen(Gadget,Position)
Protected preval.CHARFORMAT, Pretyp
SendMessage_(GadgetID(Gadget),#EM_SETSEL,Position,Position+1)
preval\cbSize=SizeOf(CHARFORMAT)
SendMessage_(GadgetID(Gadget),#EM_GETCHARFORMAT,#SCF_SELECTION,@preval)
Pretyp=preval\dwEffects
If Pretyp & #CFM_STRIKEOUT: Editorstrike=1: Else: Editorstrike=0: EndIf
If Pretyp & #CFM_UNDERLINE: Editorunderl=1: Else: Editorunderl=0: EndIf
If Pretyp & #CFM_ITALIC: Editoritalic=1: Else: Editoritalic=0: EndIf
If Pretyp & #CFM_BOLD: Editorfettdr=1: Else: Editorfettdr=0: EndIf
If Pretyp & #CFM_FACE: EditorFont=1: Else: EditorFont=0: EndIf
If Pretyp & #CFM_SIZE: EditorSize=1: Else: EditorSize=0: EndIf
If Pretyp & #CFM_COLOR: EditorColor=1: Else: EditorColor=0: EndIf
If Pretyp & #CFM_BACKCOLOR: EditorBackColor=1: Else: EditorBackColor=0: EndIf
EndProcedure
; EditorGadget formatieren mit Berücksichtigung bestehender Formate
Procedure Formatsetzen(Gadget,Neuformat)
Protected format.CHARFORMAT
Speicher1.l=0: Speicher2.l=0
SendMessage_(GadgetID(Gadget),#EM_GETSEL,@Speicher1,@Speicher2)
For Formatieren=Speicher1 To Speicher2-1
Formatlesen(Gadget,Formatieren): Gesamtformat=0
If Neuformat=#CFM_BOLD And Editorfettdr=0: Gesamtformat=Gesamtformat|#CFM_BOLD: EndIf
If Neuformat<>#CFM_BOLD And Editorfettdr=1: Gesamtformat=Gesamtformat|#CFM_BOLD: EndIf
If Neuformat=#CFM_ITALIC And Editoritalic=0: Gesamtformat=Gesamtformat|#CFM_ITALIC: EndIf
If Neuformat<>#CFM_ITALIC And Editoritalic=1: Gesamtformat=Gesamtformat|#CFM_ITALIC: EndIf
If Neuformat=#CFM_UNDERLINE And Editorunderl=0: Gesamtformat=Gesamtformat|#CFM_UNDERLINE: EndIf
If Neuformat<>#CFM_UNDERLINE And Editorunderl=1: Gesamtformat=Gesamtformat|#CFM_UNDERLINE: EndIf
If Neuformat=#CFM_STRIKEOUT And Editorstrike=0: Gesamtformat=Gesamtformat|#CFM_STRIKEOUT: EndIf
If Neuformat<>#CFM_STRIKEOUT And Editorstrike=1: Gesamtformat=Gesamtformat|#CFM_STRIKEOUT: EndIf
If Neuformat=#CFM_FACE And EditorFont=0: Gesamtformat=Gesamtformat|#CFM_FACE: EndIf
If Neuformat<>#CFM_FACE And EditorFont=1: Gesamtformat=Gesamtformat|#CFM_FACE: EndIf
If Neuformat=#CFM_SIZE And EditorSize=0: Gesamtformat=Gesamtformat|#CFM_SIZE: EndIf
If Neuformat<>#CFM_SIZE And EditorSize=1: Gesamtformat=Gesamtformat|#CFM_SIZE: EndIf
If Neuformat=#CFM_COLOR And EditorColor=0: Gesamtformat=Gesamtformat|#CFM_COLOR: EndIf
If Neuformat<>#CFM_COLOR And EditorColor=1: Gesamtformat=Gesamtformat|#CFM_COLOR: EndIf
If Neuformat=#CFM_BACKCOLOR And EditorBackColor=0: Gesamtformat=Gesamtformat|#CFM_BACKCOLOR: EndIf
If Neuformat<>#CFM_BACKCOLOR And EditorBackColor=1: Gesamtformat=Gesamtformat|#CFM_BACKCOLOR: EndIf
format\cbSize=SizeOf(CHARFORMAT)
format\dwMask = #CFM_FACE|#CFM_COLOR|#CFM_SIZE|#CFM_ITALIC|#CFM_BOLD|#CFM_STRIKEOUT|#CFM_UNDERLINE|#CFM_LINK
format\dwEffects=Gesamtformat
SendMessage_(GadgetID(Gadget),#EM_SETCHARFORMAT,#SCF_SELECTION,@format)
Next
SendMessage_(GadgetID(Gadget),#EM_SETSEL,Speicher1,Speicher2)
EndProcedure
Procedure CharFormat(Gadget,FName$,FSize,FColor,FFlags)
Protected format.CHARFORMAT
format\cbSize = SizeOf(CHARFORMAT)
format\dwMask = #CFM_FACE|#CFM_COLOR|#CFM_SIZE|#CFM_ITALIC|#CFM_BOLD|#CFM_STRIKEOUT|#CFM_UNDERLINE|#CFM_LINK
PokeS(@format\szFaceName, FName$)
format\yHeight = FSize*1440/72
format\crTextColor = FColor
format\dwEffects = FFlags
SendMessage_(GadgetID(Gadget), #EM_SETCHARFORMAT, #SCF_SELECTION, @format)
EndProcedure
Procedure ShowContainer(index)
Protected i
For i = #Container_00 To #Container_01
HideGadget(i, #True)
Next
HideGadget(index, #False)
Debug "Container= " + Str(index)
EndProcedure
Procedure MainWindow()
;*************** C O T A I N E R - W I N D O W S
OpenWindow(#FrameMain, 683, 0,667, 730,WindowsHeadText$, #PB_Window_SystemMenu |#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget | #PB_Window_Invisible)
If CreateStatusBar(#StatusBar_1, WindowID(#FrameMain))
HyperLinkGadget(#Velindoslink, 25, 5, 140, StatusBarHeight(#StatusBar_1), "www.purebasic.com", RGB(255,0,0), #PB_HyperLink_Underline)
AddStatusBarField(667)
EndIf
;-[00]Master
;*************** F R A M E M A S T E R
ContainerGadget(#Container_00, 0, 0, 667, 706)
ButtonGadget(#Container_Button_00, 0, 0, 667, 30, "M A S T E R")
ComboBoxGadget (#Editor_StyleF , 5, 35, 140, 20)
ComboBoxGadget (#Editor_StyleY ,155, 35, 50, 20)
ButtonGadget (#Editor_StyleB ,215, 35, 20, 20 , "B" ,#PB_Button_Toggle)
ButtonGadget (#Editor_StyleI ,240, 35, 20, 20 , "I" ,#PB_Button_Toggle)
ButtonGadget (#Editor_StyleU ,265, 35, 20, 20 , "U" ,#PB_Button_Toggle)
ButtonGadget (#Editor_StyleS ,290, 35, 20, 20 , "S" ,#PB_Button_Toggle)
ButtonGadget (#Editor_AlignL ,335, 35, 20, 20 , "<" ,#PB_Button_Toggle)
ButtonGadget (#Editor_AlignC ,360, 35, 20, 20 , "-" ,#PB_Button_Toggle)
ButtonGadget (#Editor_AlignR ,385, 35, 20, 20 , ">" ,#PB_Button_Toggle)
ButtonGadget (#Editor_Number ,410, 35, 20, 20 , "o" ,#PB_Button_Toggle)
ButtonGadget(#Editor_HTML,485, 35, 20, 20,"H")
ButtonImageGadget (#Editor_StyleFC ,435, 35, 20, 20 , ImageID(#Editor_ImageFC))
ButtonImageGadget (#Editor_StyleBC ,455, 35, 20, 20 , ImageID(#Editor_ImageBC))
EditorGadget (#Editor_Gadget, 5, 65, 490, 445)
StatusBarText(#StatusBar_1,0,"MASTER ",#PB_StatusBar_Right| #PB_StatusBar_BorderLess )
CloseGadgetList()
;-[01]Notiz
;*************** F R A M E W O R K
ContainerGadget(#Container_01, 0, 0, 667, 706)
ButtonGadget(#Container_Button_01, 0, 0, 667, 30, " W O R K")
WebGadget(#Web_Notiz,10,65,WindowWidth(#FrameMain)-20,WindowHeight(#FrameMain)-55,"")
StatusBarText(#StatusBar_1,0,"EDIT ",#PB_StatusBar_Right| #PB_StatusBar_BorderLess )
CloseGadgetList()
;-[99]MyFrageZeichen
;*************** C O N T A N E R - B U T T O N
ContainerGadget(#Container_99, 3, 3, 16, 16)
ButtonImageGadget(#Container_Button_99, 0, 0, 16, 16, MyFrageZeichen)
GadgetToolTip(#Container_Button_99, "Velindos Version & Lizenz & Laufzeit")
CloseGadgetList()
EndProcedure
;- Windows Start
MainWindow()
HideWindow(#FrameMain, #False)
ShowContainer(#Container_00)
SetParent_(GadgetID(#Velindoslink), StatusBarID(#StatusBar_1))
SetParent_(GadgetID(#Container_99), StatusBarID(#StatusBar_1))
SetGadgetFont(#Editor_Gadget,LoadFont(#Editor_Gadget,"Tahoma",10))
; URLs werden automatisch als Links dargestellt
SendMessage_(GadgetID(#Editor_Gadget),#EM_AUTOURLDETECT,#True,0)
SendMessage_(GadgetID(#Editor_Gadget), #EM_SETTARGETDEVICE, #Null, 0)
Editor_Initialize(#Editor_Gadget)
SetGadgetItemText(#Editor_Gadget,0,"Bis jetzt funktioniert BOLD, ITALIC, Underline, STRIKEOUT! bei der HTML übernahme!")
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Editor_Quit()
Case #PB_Event_SizeWindow
ResizeGadget(#Editor_Gadget , #PB_Ignore,#PB_Ignore , WindowWidth(#FrameMain) - 10 , WindowHeight(#FrameMain) - 55)
Case #PB_Event_Gadget
Select EventGadget()
Case #Editor_StyleF
Editor_SetFontName(#Editor_Gadget , GetGadgetText(#Editor_StyleF))
Case #Editor_StyleY
Editor_SetFontHeight(#Editor_Gadget , Val(GetGadgetText(#Editor_StyleY)))
Case #Editor_StyleB
Editor_SetFontStyle(#Editor_Gadget , #CFM_BOLD)
Case #Editor_StyleI
Editor_SetFontStyle(#Editor_Gadget , #CFM_ITALIC)
Case #Editor_StyleU
Editor_SetFontStyle(#Editor_Gadget , #CFM_UNDERLINE)
Case #Editor_StyleS
Editor_SetFontStyle(#Editor_Gadget , #CFM_STRIKEOUT)
Case #Editor_StyleFC
Editor_SetFontColor(#Editor_Gadget , ColorRequester())
Case #Editor_StyleBC
Editor_SetBackColor(#Editor_Gadget , ColorRequester())
Case #Editor_Number
Editor_SetNumbering(#Editor_Gadget , GetGadgetState(#Editor_Number))
Case #Editor_AlignL
Editor_SetAlignment(#Editor_Gadget , #PFA_LEFT)
Case #Editor_AlignC
Editor_SetAlignment(#Editor_Gadget , #PFA_CENTER)
Case #Editor_AlignR
Editor_SetAlignment(#Editor_Gadget , #PFA_RIGHT)
Case #Container_Button_00
ShowContainer(#Container_01)
StatusBarText(#StatusBar_1,0,"WORK ",#PB_StatusBar_Right| #PB_StatusBar_BorderLess )
Case #Container_Button_01
ShowContainer(#Container_00)
StatusBarText(#StatusBar_1,0,"MASTER ",#PB_StatusBar_Right| #PB_StatusBar_BorderLess )
Case #Editor_HTML
ShowContainer(#Container_01)
HtmlExporter$="D:\Velindos\PROFI\HTML\HTML_Test.html"
If CreateFile(RF,HtmlExporter$)
WriteStringN(RF,"<HTML><HEAD><TITLE>Export aus einem EditorGadget</TITLE></HEAD><BODY>")
SendMessage_(GadgetID(#Editor_Gadget),#EM_SETSEL,0,-1)
Speicher1.l=0: Speicher2.l=0
SendMessage_(GadgetID(#Editor_Gadget),#EM_GETSEL,@Speicher1,@Speicher2)
HtmlFettdr=0: HtmlKursiv=0: HtmlUnters=0: HtmlStrike=0
Zeilenschaltung$=Chr(10)
Erweitertezeile$=Chr(13)+Chr(10)
Textfeld$=ReplaceString(GetGadgetText(#Editor_Gadget),Erweitertezeile$,Zeilenschaltung$)
For Formatieren=Speicher1 To Speicher2
Formatlesen(#Editor_Gadget,Formatieren)
Aktuellzeichen$=Mid(Textfeld$,Formatieren+1,1)
If Editorfettdr=0 And HtmlFettdr=1: WriteString(RF,"</B>"): HtmlFettdr=0: EndIf
If Editoritalic=0 And HtmlKursiv=1: WriteString(RF,"</I>"): HtmlKursiv=0: EndIf
If Editorunderl=0 And HtmlUnters=1: WriteString(RF,"</U>"): HtmlUnters=0: EndIf
If Editorstrike=0 And HtmlStrike=1: WriteString(RF,"</S>"): HtmlStrike=0: EndIf
If EditorFont=0 And HtmlCharFont=1: WriteString(RF,"</font>"): HtmlCharFont=0: EndIf
If Aktuellzeichen$=Zeilenschaltung$: WriteStringN(RF,"<BR>"): Formatieren=Formatieren+1: EndIf
If Editorfettdr=1 And HtmlFettdr=0: WriteString(RF,"<B>"): HtmlFettdr=1: EndIf
If Editoritalic=1 And HtmlKursiv=0: WriteString(RF,"<I>"): HtmlKursiv=1: EndIf
If Editorunderl=1 And HtmlUnters=0: WriteString(RF,"<U>"): HtmlUnters=1: EndIf
If Editorstrike=1 And HtmlStrike=0: WriteString(RF,"<S>"): HtmlStrike=1: EndIf
If EditorFont=1 And HtmlCharFont=0: WriteString(RF,"<font face='verdana'>"): HtmlCharFont=1: EndIf
If Not Aktuellzeichen$=Zeilenschaltung$: WriteString(RF,Aktuellzeichen$): EndIf
Letzteszeichen$=Aktuellzeichen$
Next
If HtmlFettdr=1: WriteString(RF,"</B>"): EndIf
If HtmlKursiv=1: WriteString(RF,"</I>"): EndIf
If HtmlUnters=1: WriteString(RF,"</U>"): EndIf
If HtmlStrike=1: WriteString(RF,"</S>"): EndIf
If HtmlCharFont=1: WriteString(RF,"</font>"): EndIf
WriteStringN(RF,"</BODY></HTML>")
CloseFile(RF)
Else
MessageRequester("Fehler!","Die Erstellung der HTML-Datei ist leider fehlgeschlagen."+Chr(10)+"Der Vorgang war nicht erfolgreich!",#MB_ICONERROR)
EndIf
Anzeige_HTML$=""
If ReadFile(CF, HtmlExporter$) ; wenn die Datei geöffnet werden konnte, setzen wir fort...
While Eof(CF) = 0 ; sich wiederholende Schleife bis das Ende der Datei ("end of file") erreicht ist
;Debug ReadString(RF) ; Zeile für Zeile im Debugger-Fenster anzeigen
Anzeige_HTML$ = ReadString(CF)
Debug Anzeige_HTML$
Wend
CloseFile(CF) ; schließen der zuvor geöffneten Datei
Else
MessageRequester("Information","Konnte Datei nicht öffnen!")
EndIf
ShowContainer(#Container_01)
Delay(20)
SetGadgetItemText(#Web_Notiz, #PB_Web_HtmlCode, Anzeige_HTML$)
StatusBarText(#StatusBar_1,0,"WORK ",#PB_StatusBar_Right| #PB_StatusBar_BorderLess )
EndSelect
Case #PB_Event_Menu
Select EventMenu()
Case #Editor_MenuNew
ClearGadgetItems(#Editor_Gadget)
Case #Editor_MenuOpen
Editor_Open(#Editor_Gadget , OpenFileRequester("" , Editor_FileName$ , Editor_Pattern$ , SelectedFilePattern()))
Case #Editor_MenuSave
Editor_Save(#Editor_Gadget , SaveFileRequester("" , Editor_FileName$ , Editor_Pattern$ , SelectedFilePattern()))
Case #Editor_MenuQuit
Editor_Quit()
EndSelect
EndSelect
ForEver
;Images
DataSection
Fragezeichen:
IncludeBinary "D:\Pure@Store\DESIGN_LITE_SMART\Fragezeichen.ico"
EndDataSection
; font eintragne <font face="Avalon,Wide Latin">Das ist Text in Schriftart Avalon,
; oder, falls Avalon nicht darstellbar, in Wide Latin</font>
; strikeout eintragen => <S>Jodi</S>
; <p>
; <font size="7">Ziemlich riesiger Text</font><br>
; <font size="1">Ziemlich winziger Text</font><br>
; <font size="+1">Text etwas größer als normal</font><br>
; <font size="-2">Text deutlich kleiner als normal</font>
; </p>
; <p>
; <font color="#FF0000">Knallroter Text</font><br>
; <font color="#00C000">Grüner Text</font><br>
; <font color="#0000FF">Blauer Text</font>
; </p>
; <p>
; <font face="Avalon,Wide Latin">Das ist Text in Schriftart Avalon,
; oder, falls Avalon nicht darstellbar, in Wide Latin</font>
; </p>
;WriteString(1, "<pre style='font-family:'Courier New', Courier, monospace; font-size: 12px;'>"+Sorce$+"</pre>")
;<font size="3" color="red">This is some text!</font>
;<font size="2" color="blue">This is some text!</font>
;*********************************************************************
;<font face="verdana" size="2" color="green">This is some text!</font>
;FONT-SIZE:28PX; ....; ALIGN: CENTER
;HR {HEIGHT: 3PX; BACKGROUND-COLOR: #0; BORDER: 8PX; OUTSET #AA0000; }
;*********Vorschlag Font/Size/Color übernehmen _____________
Gruss ... Velindos