Mit diesem Editor kann man die EditBox auch als .odt speichern (und viele andere) speichern. Er ist an dem Wordeditor von Bakku angelehnt.
Speicherbare Formate: bas, au3, xml, odt, txt
Bald folgt ein rieseiges Update, aber bis dahin:
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <GUIStatusBar.au3>
#include <GUIToolBar.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GUIEdit.au3>
Global $hWidth = @DesktopWidth - 400 ;Breite der GUI
Global $hHeight = @DesktopHeight -300 ;Höhe der GUI
Local Enum $idNew = 1000, $idOpen, $idSave, $idProperties, $idCopy, $idDelete, $idCut, $idPaste, $idFind, $idHelp ;IDs der Toolbar-Werkzeuge
IniWrite("WordEditor.ini","Size","Size","8") ;Inis werden aktualisiert
IniWrite("WordEditor.ini","Font","Font","MS Sans Serif")
IniWrite("WordEditor.ini","Fett","Fett","400")
IniWrite("WordEditor.ini","Kursiv","Kursiv","0")
IniWrite("WordEditor.ini","Unterstrichen","Unterstrichen","0")
IniWrite("WordEditor.ini","Durchgestrichen","Durchgestrichen","0")
$hGUI = GUICreate("ODT EDITOR",$hWidth,$hHeight) ;GUI wird erstellt
GUISetIcon(@ScriptDir & "\images.ico")
$hMenuDatei = GUICtrlCreateMenu("Datei") ;Menu von Datei
$hMenuDatei1 = GUICtrlCreateMenuItem("Neu",$hMenuDatei)
$hMenuDatei2 = GUICtrlCreateMenuItem("Öffnen",$hMenuDatei)
$hMenuDatei3 = GUICtrlCreateMenuItem("Speichern",$hMenuDatei)
$odt = GUICtrlCreateMenuItem("Als ODT", $hMenuDatei3)
$xml = GUICtrlCreateMenuItem("Als XML", $hMenuDatei3)
$txt = GUICtrlCreateMenuItem("Als TXT", $hMenuDatei3)
$au3 = GUICtrlCreateMenuItem("Als AU3", $hMenuDatei3)
$bas = GUICtrlCreateMenuItem("Als BAS (QBassic)", $hMenuDatei3)
$hMenuDatei4 = GUICtrlCreateMenuItem("Programm schließen",$hMenuDatei)
$hMenuBearbeiten = GUICtrlCreateMenu("Bearbeiten") ;Menu von Bearbeiten
$hMenuBearbeiten1 = GUICtrlCreateMenuItem("Löschen",$hMenuBearbeiten)
$hMenuBearbeiten2 = GUICtrlCreateMenuItem("Kopieren",$hMenuBearbeiten)
$hMenuBearbeiten3 = GUICtrlCreateMenuItem("Ausschneiden",$hMenuBearbeiten)
$hMenuBearbeiten4 = GUICtrlCreateMenuItem("Einfügen",$hMenuBearbeiten)
$hMenuOptionen = GUICtrlCreateMenu("Optionen") ;Menu von Optionen
$hMenuOptionen1 = GUICtrlCreateMenuItem("Schrift",$hMenuOptionen)
$hMenuOptionen2 = GUICtrlCreateMenuItem("Suchen",$hMenuOptionen)
$hMenuHilfe = GUICtrlCreateMenu("Hilfe") ;Menu von Hilfe
$hMenuHilfe1 = GUICtrlCreateMenuItem("Credits",$hMenuHilfe)
$hEdit = GUICtrlCreateEdit("",3,25,$hWidth - 10,$hHeight - 70,BitOr($ES_AUTOVSCROLL, $WS_VSCROLL, $ES_MULTILINE, $WS_HSCROLL, $ES_NOHIDESEL,$ES_AUTOHSCROLL,$ES_WANTRETURN)) ;Edit wird erstellt mit verschiedenen Styles
GUICtrlSetFont(-1,8,400,0,"MS Sans Serif")
$hStatus = _GUICtrlStatusBar_Create($hGUI) ;Statusbar wird erstellt
_GUICtrlStatusBar_SetText($hStatus,"Unbennant - ODT EDITOR") ;Textname wird angezeigt
$hToolbar =_GUICtrlToolbar_Create($hGUI) ;Toolbar wird erstellt
_GUICtrlToolbar_AddBitmap($hToolbar,1,-1,$IDB_STD_SMALL_COLOR) ;Bilder der Toolbar werden hochgeladen, die Bilder sind die Standart (kleinen) Bilder
_GUICtrlToolbar_AddButton($hToolbar,$idNew,$STD_FILENEW) ;Buttons der Toolbar werden erstellt
_GUICtrlToolbar_AddButton($hToolbar,$idOpen,$STD_FILEOPEN)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar,$idCut,$STD_CUT)
_GUICtrlToolbar_AddButton($hToolbar,$idCopy,$STD_COPY)
_GUICtrlToolbar_AddButton($hToolbar,$idPaste,$STD_PASTE)
_GUICtrlToolbar_AddButton($hToolbar,$idDelete,$STD_DELETE)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar,$idProperties,$STD_PROPERTIES)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar,$idFind,$STD_FIND)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar,$idHelp,$STD_HELP)
GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]While 1
If _GUICtrlToolbar_IsButtonPressed($hToolbar,$idNew) = True Then ;Toolbar-Buttons werden mit Funktionen verknüpft
_FileNew()
EndIf
If _GUICtrlToolbar_IsButtonPressed($hToolbar,$idOpen) = True Then
_FileOpen()
EndIf
If _GUICtrlToolbar_IsButtonPressed($hToolbar,$idProperties) = True Then
_SchriftGUI()
EndIf
If _GUICtrlToolbar_IsButtonPressed($hToolbar,$idCut) = True Then
_Cut()
EndIf
If _GUICtrlToolbar_IsButtonPressed($hToolbar,$idCopy) = True Then
_Copy()
EndIf
If _GUICtrlToolbar_IsButtonPressed($hToolbar,$idPaste) = True Then
_Paste()
EndIf
If _GUICtrlToolbar_IsButtonPressed($hToolbar,$idDelete) = True Then
_Delete()
EndIf
If _GUICtrlToolbar_IsButtonPressed($hToolbar,$idFind) = True Then
_Find()
EndIf
If _GUICtrlToolbar_IsButtonPressed($hToolbar,$idHelp) = True Then
_Credits()
EndIf
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
Case $hMenuHilfe1 ;Menu wird mit Funktionen verknüpft
_Credits()
Case $hMenuDatei1
_FileNew()
Case $hMenuDatei2
_FileOpen()
Case $odt
_FileSave()
Case $xml
_FileSavexml()
Case $txt
_FileSavetxt()
Case $au3
_FileSaveau3()
Case $bas
_FileSavebas()
Case $hMenuDatei4
Exit
Case $hMenuOptionen1
_SchriftGUI()
Case $hMenuOptionen2
_Find()
Case $hMenuBearbeiten1
_Delete()
Case $hMenuBearbeiten2
_Copy()
Case $hMenuBearbeiten3
_Cut()
Case $hMenuBearbeiten4
_Paste()
EndSwitch
WEnd
Func _SchriftGUI() ;Schrift-GUI wird erstellt
$SchriftGUI = GUICreate("Schrift",300,300)
GUISetIcon(@ScriptDir & "\images.ico")
GUICtrlCreateLabel("Schrift auswählen:",10,10)
GUICtrlCreateLabel("Schriftgröße auswählen:",175,10)
$hList = GUICtrlCreateList("Comic Sans MS",20,30,150,150)
GUICtrlSetData($hList,"Arial|Courier|Impact|Lucida Console|MS Sans Serif|Tahoma|Symbol|Times New Roman|Trebuchet|Webdings|Verdana|Roman|Script|Modern|Franklin Gothic Medium")
$hLabel = GUICtrlCreateLabel("AaaBbbCcc",100,230,100,100)
GUICtrlCreateLabel("Beispiel:",10,200)
$hInput = GUICtrlCreateInput("8",240,50)
$hUpDown = GUICtrlCreateUpdown($hInput)
$hSave = GUICtrlCreateButton("Übernehmen",200,260)
GUICtrlCreateLabel("Sonstiges:",190,100)
$hCheckbox1 = GUICtrlCreateCheckbox("Fett",200,120)
$hCheckbox2 = GUICtrlCreateCheckbox("Kursiv",200,140)
$hCheckbox3 = GUICtrlCreateCheckbox("Unterstrichen",200,160)
$hCheckbox4 = GUICtrlCreateCheckbox("Durchgestrichen",200,180)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
ExitLoop
Case $hCheckbox1 ;Bei jeder MSG wird das Beispiel aktualisiert
GUICtrlSetState($hSave,$GUI_ENABLE)
$readsize = GUICtrlRead($hInput)
$readfont = GUICtrlRead($hList)
$readfett = GUICtrlRead($hCheckbox1)
$readkursiv = GUICtrlRead($hCheckbox2)
$readunterstrichen = GUICtrlRead($hCheckbox3)
$readdurchgestrichen = GUICtrlRead($hCheckbox4)
If $readfett = $GUI_CHECKED Then
$width = 900
Else
$width = 400
EndIf
If $readkursiv = $GUI_CHECKED Then
$kursiv = 2
Else
$kursiv = 0
EndIf
If $readunterstrichen = $GUI_CHECKED Then
$unterstrichen = 4
Else
$unterstrichen = 0
EndIf
If $readdurchgestrichen = $GUI_CHECKED Then
$durchgestrichen = 8
Else
$durchgestrichen = 0
EndIf
GUICtrlSetFont($hLabel,$readsize,$width,$kursiv + $unterstrichen + $durchgestrichen,$readfont)
Case $hCheckBox2
GUICtrlSetState($hSave,$GUI_ENABLE)
$readsize = GUICtrlRead($hInput)
$readfont = GUICtrlRead($hList)
$readfett = GUICtrlRead($hCheckbox1)
$readkursiv = GUICtrlRead($hCheckbox2)
$readunterstrichen = GUICtrlRead($hCheckbox3)
$readdurchgestrichen = GUICtrlRead($hCheckbox4)
If $readfett = $GUI_CHECKED Then
$width = 900
Else
$width = 400
EndIf
If $readkursiv = $GUI_CHECKED Then
$kursiv = 2
Else
$kursiv = 0
EndIf
If $readunterstrichen = $GUI_CHECKED Then
$unterstrichen = 4
Else
$unterstrichen = 0
EndIf
If $readdurchgestrichen = $GUI_CHECKED Then
$durchgestrichen = 8
Else
$durchgestrichen = 0
EndIf
GUICtrlSetFont($hLabel,$readsize,$width,$kursiv + $unterstrichen + $durchgestrichen,$readfont)
Case $hCheckBox3
GUICtrlSetState($hSave,$GUI_ENABLE)
$readsize = GUICtrlRead($hInput)
$readfont = GUICtrlRead($hList)
$readfett = GUICtrlRead($hCheckbox1)
$readkursiv = GUICtrlRead($hCheckbox2)
$readunterstrichen = GUICtrlRead($hCheckbox3)
$readdurchgestrichen = GUICtrlRead($hCheckbox4)
If $readfett = $GUI_CHECKED Then
$width = 900
Else
$width = 400
EndIf
If $readkursiv = $GUI_CHECKED Then
$kursiv = 2
Else
$kursiv = 0
EndIf
If $readunterstrichen = $GUI_CHECKED Then
$unterstrichen = 4
Else
$unterstrichen = 0
EndIf
If $readdurchgestrichen = $GUI_CHECKED Then
$durchgestrichen = 8
Else
$durchgestrichen = 0
EndIf
GUICtrlSetFont($hLabel,$readsize,$width,$kursiv + $unterstrichen + $durchgestrichen,$readfont)
Case $hCheckBox4
GUICtrlSetState($hSave,$GUI_ENABLE)
$readsize = GUICtrlRead($hInput)
$readfont = GUICtrlRead($hList)
$readfett = GUICtrlRead($hCheckbox1)
$readkursiv = GUICtrlRead($hCheckbox2)
$readunterstrichen = GUICtrlRead($hCheckbox3)
$readdurchgestrichen = GUICtrlRead($hCheckbox4)
If $readfett = $GUI_CHECKED Then
$width = 900
Else
$width = 400
EndIf
If $readkursiv = $GUI_CHECKED Then
$kursiv = 2
Else
$kursiv = 0
EndIf
If $readunterstrichen = $GUI_CHECKED Then
$unterstrichen = 4
Else
$unterstrichen = 0
EndIf
If $readdurchgestrichen = $GUI_CHECKED Then
$durchgestrichen = 8
Else
$durchgestrichen = 0
EndIf
GUICtrlSetFont($hLabel,$readsize,$width,$kursiv + $unterstrichen + $durchgestrichen,$readfont)
Case $hList
GUICtrlSetState($hSave,$GUI_ENABLE)
$readsize = GUICtrlRead($hInput)
$readfont = GUICtrlRead($hList)
$readfett = GUICtrlRead($hCheckbox1)
$readkursiv = GUICtrlRead($hCheckbox2)
$readunterstrichen = GUICtrlRead($hCheckbox3)
$readdurchgestrichen = GUICtrlRead($hCheckbox4)
If $readfett = $GUI_CHECKED Then
$width = 900
Else
$width = 400
EndIf
If $readkursiv = $GUI_CHECKED Then
$kursiv = 2
Else
$kursiv = 0
EndIf
If $readunterstrichen = $GUI_CHECKED Then
$unterstrichen = 4
Else
$unterstrichen = 0
EndIf
If $readdurchgestrichen = $GUI_CHECKED Then
$durchgestrichen = 8
Else
$durchgestrichen = 0
EndIf
GUICtrlSetFont($hLabel,$readsize,$width,$kursiv + $unterstrichen + $durchgestrichen,$readfont)
Case $hUpDown
GUICtrlSetState($hSave,$GUI_ENABLE)
$readsize = GUICtrlRead($hInput)
$readfont = GUICtrlRead($hList)
$readfett = GUICtrlRead($hCheckbox1)
$readkursiv = GUICtrlRead($hCheckbox2)
$readunterstrichen = GUICtrlRead($hCheckbox3)
$readdurchgestrichen = GUICtrlRead($hCheckbox4)
If $readfett = $GUI_CHECKED Then
$width = 900
Else
$width = 400
EndIf
If $readkursiv = $GUI_CHECKED Then
$kursiv = 2
Else
$kursiv = 0
EndIf
If $readunterstrichen = $GUI_CHECKED Then
$unterstrichen = 4
Else
$unterstrichen = 0
EndIf
If $readdurchgestrichen = $GUI_CHECKED Then
$durchgestrichen = 8
Else
$durchgestrichen = 0
EndIf
GUICtrlSetFont($hLabel,$readsize,$width,$kursiv + $unterstrichen + $durchgestrichen,$readfont)
Case $hSave
GUICtrlSetState($hSave,$GUI_DISABLE)
$readsize = GUICtrlRead($hInput)
$readfont = GUICtrlRead($hList)
$readfett = GUICtrlRead($hCheckbox1)
$readkursiv = GUICtrlRead($hCheckbox2)
$readunterstrichen = GUICtrlRead($hCheckbox3)
$readdurchgestrichen = GUICtrlRead($hCheckbox4)
If $readfett = $GUI_CHECKED Then
IniWrite("WordEditor.ini","Fett","Fett","900")
Else
IniWrite("WordEditor.ini","Fett","Fett","400")
EndIf
If $readkursiv = $GUI_CHECKED Then
IniWrite("WordEditor.ini","Kursiv","Kursiv","2")
Else
IniWrite("WordEditor.ini","Kursiv","Kursiv","0")
EndIf
If $readunterstrichen = $GUI_CHECKED Then
IniWrite("WordEditor.ini","Unterstrichen","Unterstrichen","4")
Else
IniWrite("WordEditor.ini","Unterstrichen","Unterstrichen","0")
EndIf
If $readdurchgestrichen = $GUI_CHECKED Then
IniWrite("WordEditor.ini","Durchgestrichen","Durchgestrichen","8")
Else
IniWrite("WordEditor.ini","Durchgestrichen","Durchgestrichen","0")
EndIf
IniWrite("WordEditor.ini","Size","Size",$readsize)
IniWrite("WordEditor.ini","Font","Font",$readfont)
EndSwitch
WEnd
GUIDelete($SchriftGUI) ;SchriftGUI wird gelöscht
$inisize = IniRead("WordEditor.ini","Size","Size",0)
$inifont = IniRead("WordEditor.ini","Font","Font",0)
$inifett = IniRead("WordEditor.ini","Fett","Fett",0)
$inikursiv = IniRead("WordEditor.ini","Kursiv","Kursiv",0)
$iniunterstrichen = IniRead("WordEditor.ini","Unterstrichen","Unterstrichen",0)
$inidurchgestrichen = IniRead("WordEditor.ini","Durchgestrichen","Durchgestrichen",0)
GUICtrlSetFont($hEdit,$inisize,$inifett,$inikursiv+$inidurchgestrichen+$iniunterstrichen,$inifont)
EndFunc ;===> _SchriftGUI()
Func _Find()
_GUICtrlEdit_Find($hEdit,True)
EndFunc ;===> _Find)
Func _FileNew()
$read = GUICtrlRead($hEdit)
If $read <> "" Then
$message = MsgBox(35,"Speichern?","Soll die Datei gespeichert werden?")
If $message = "6" Then
$savefile = FileSaveDialog("Speichern",@DesktopDir,"ODT EDITOR OPEN OFFICE COMPATIBLE (*.odt)")
$readtext = GUICtrlRead($hEdit)
FileWrite($savefile&".odt",$readtext)
GUICtrlSetData($hEdit,"")
EndIf
If $message = "7" Then
GUICtrlSetData($hEdit,"")
EndIf
EndIf
_GUICtrlStatusBar_SetText($hStatus,"Unbennant - ODT EDITOR")
EndFunc ;===> _FileNew()
Func _FileOpen()
$openfile = FileOpenDialog("Öffnen",@DesktopDir,"Text-Datei (*.txt)")
$readfile = FileRead($openfile)
GUICtrlSetData($hEdit,$readfile)
_GUICtrlStatusBar_SetText($hStatus,$openfile & " - ODT EDITOR")
EndFunc ;===> _FileOpen()
Func _FileSave()
$savefile = FileSaveDialog("Speichern",@DesktopDir,"ODT EDITOR OPEN OFFICE COMPATIBLE (*.odt)")
$readtext = GUICtrlRead($hEdit)
FileWrite($savefile&".odt",$readtext)
_GUICtrlStatusBar_SetText($hStatus,$savefile & " - ODT EDITOR")
EndFunc ;===> _FileSave()
Func _FileSavexml()
$savefile = FileSaveDialog("Speichern",@DesktopDir,"XML Stylesheet (*.xml)")
$readtext = GUICtrlRead($hEdit)
FileWrite($savefile&".xml",$readtext)
_GUICtrlStatusBar_SetText($hStatus,$savefile & " - ODT EDITOR")
EndFunc ;===> _FileSave()
Func _FileSavetxt()
$savefile = FileSaveDialog("Speichern",@DesktopDir,"Only Text (*.txt)")
$readtext = GUICtrlRead($hEdit)
FileWrite($savefile&".txt",$readtext)
_GUICtrlStatusBar_SetText($hStatus,$savefile & " - ODT EDITOR")
EndFunc ;===> _FileSave()
Func _FileSaveau3()
$savefile = FileSaveDialog("Speichern",@DesktopDir,"AutoIT Script (*.au3)")
$readtext = GUICtrlRead($hEdit)
FileWrite($savefile&".au3",$readtext)
_GUICtrlStatusBar_SetText($hStatus,$savefile & " - ODT EDITOR")
EndFunc ;===> _FileSave()
Func _FileSavebas()
$savefile = FileSaveDialog("Speichern",@DesktopDir,"QBasic / Quick Basic Datei (*.bas)")
$readtext = GUICtrlRead($hEdit)
FileWrite($savefile&".odt",$readtext)
_GUICtrlStatusBar_SetText($hStatus,$savefile & " - ODT EDITOR")
EndFunc ;===> _FileSave()
Func _Delete()
Sleep(100)
Send("{DEL}")
EndFunc ;===> _Delete()
Func _Copy()
Sleep(100)
Send("^c")
EndFunc ;===> _Copy
Func _Cut()
Sleep(100)
Send("^x")
EndFunc ;===> _Cut()
Func _Paste()
Sleep(100)
Send("^v")
EndFunc ;===> _Paste()
Func _Credits()
MsgBox(64,"Über Open ODT Editor","GUI by Bakku; File Compatible by Tempelsoft (.de)")
EndFunc ;===> _Credits()