[Beispiel] Textbausteine verwalten (kleines Update)

  • Hier ein kleines Skript für Vielschreiber: [spoiler_OnEvent-Modus]

    [autoit]

    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_outfile=TextBausteine.exe
    #AutoIt3Wrapper_Compression=4
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include<WindowsConstants.au3>
    #include <GuiComboBox.au3>

    [/autoit][autoit][/autoit][autoit]

    #cs ----------------------------------------------------------------------------

    [/autoit][autoit][/autoit][autoit]

    AutoIt Version: 3.3.6.1
    Author: AutoBert: http://www.autoit.de/index.php?page…4445#post164445

    [/autoit][autoit][/autoit][autoit]

    Skriptbeispiel für den Umgang mit INI-Files und ComboBox und Edit
    #ce ----------------------------------------------------------------------------

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Opt('GUIOnEventMode', 1)

    [/autoit][autoit][/autoit][autoit]

    Const $sElect = "Textbaustein auswählen"
    Global $sTB, $sIni = @ScriptDir & "\TextBausteine.ini"

    [/autoit][autoit][/autoit][autoit]

    If Not FileExists($sIni) Then ;Ini-File vorbelegen
    $sData = "Hilfe=Hier kannst du dir die Hilfe herunterladen." & @CRLF
    $sData &= "Tutorial=Hier gibt es ein Tutorial: http://wiki.autoit.de/wiki/index.php/Tutorial" & @CRLF
    $sData &= "richtigPosten=Autoit-Anfänger Guide / Wie poste ich richtig??" & @CRLF
    $sData &= "Buch peethebee=Sehr hilfreich ist auch das Buch von @peethebee"
    IniWriteSection($sIni, "Bausteine", $sData)
    EndIf

    [/autoit][autoit][/autoit][autoit]

    Global $sTitel = 'Beispiel für wiederkehrende Textbausteine'

    [/autoit][autoit][/autoit][autoit]

    Local $hMainGui = GUICreate($sTitel, 800, 520, 140, 150, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
    ;erzeugt eine GUI die zurückgebebene ID wird in der Variablen $hMainGui gespeichert
    ;die GUI hat BOXen für Mininmieren, Maximieren und ist in der Größe frei änderbar
    GUISetOnEvent($GUI_EVENT_CLOSE, '_End')
    ;Verknüpft dem Event $Gui_Event_Close mit der Funktion _End

    [/autoit][autoit][/autoit][autoit]

    Global $hedtBox = GUICtrlCreateEdit("", 10, 10, 600, 480, BitOR($ES_WANTRETURN, $ES_MULTILINE))
    ;erzeugt ein Edit Steuerelement die zurückgegebe ID wird in der Variablen $hedtBox gespeichert
    GUICtrlSetResizing(-1, $GUI_DOCKBORDERs)
    ;verankert das Inputfield an allen Seiten
    ;beim Resizen bleibt es dadurch auf seiner Position und den Abstand zu den Seiten es ändert lediglich Breite und Höhe

    [/autoit][autoit][/autoit][autoit]

    Global $hcboTB = GUICtrlCreateCombo("", 620, 10, 150, 25)
    GUICtrlSetOnEvent(-1, 'show_Selection')
    ;Verknüpft die Combo (Auswahl) mit der Funktion show_Selection
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    GUICtrlCreateButton("&Hinzufügen Textbaustein", 620, 40, 150, 25)
    GUICtrlSetOnEvent(-1, '_addTB')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    GUICtrlCreateButton("&Löschen Textbaustein", 620, 70, 150, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    GUICtrlSetOnEvent(-1, '_delTB')
    GUICtrlCreateButton("Änderungen &speichern", 620, 100, 150, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    GUICtrlSetOnEvent(-1, '_saveTB')
    GUICtrlCreateButton("&ins ClipBoard", 620, 150, 150, 25)
    GUICtrlSetOnEvent(-1, '_ClipPut')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    GUICtrlCreateButton("&aus ClipBoard", 620, 180, 150, 25)
    GUICtrlSetOnEvent(-1, '_ClipGet')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    $hbtnClear = GUICtrlCreateButton("&Neu (leere EditBox)", 620, 210, 150, 25)
    GUICtrlSetOnEvent(-1, '_Clear')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlCreateButton('Be&enden', 620, 260, 150, 25)
    GUICtrlSetOnEvent(-1, '_END')
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM)

    [/autoit][autoit][/autoit][autoit]

    read_INI()
    GUISetState()

    [/autoit][autoit][/autoit][autoit]

    While 1
    Sleep(1000)
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func _End()
    GUIDelete($hMainGui)
    Exit
    EndFunc ;==>_End

    [/autoit][autoit][/autoit][autoit]

    Func read_INI() ;Ini einlesen
    $list1 = IniReadSection($sIni, "Bausteine")
    If IsArray($list1) Then ;nur wenn Array da ansonsten Absturz
    For $i = 1 To $list1[0][0] ;von 1 bis zum letzen Eintrag im Array
    GUICtrlSetData($hcboTB, $list1[$i][0]) ;in ComboBox eintragen
    Next
    EndIf
    _GUICtrlComboBox_InsertString($hcboTB, $sElect, 0) ;$sElect (= "Textbaustein auswählen") an erster Stelle einfügen
    _GUICtrlComboBox_SetCurSel($hcboTB, 0) ;1 Eintrag selektieren
    EndFunc ;==>read_INI

    [/autoit][autoit][/autoit][autoit]

    Func _addTB() ;Textbaustein hinzfüren
    $write1 = GUICtrlRead($hedtBox)
    If $write1 <> "" Then ;nur wenn im Edit etwas eingetragen
    $write2 = InputBox("Baustein verwalten unter", "Bitte Kurzbegriff eingeben")
    If $write2 <> "" Then ;nur wenn ein Kurzbegrigg eingegeben
    _writeTB($write2) ;Routine zum schreiben aufrufen
    GUICtrlSetData($hcboTB, $write2, $write2) ;in ComboBox eintragen und gleichzeitig selektieren
    EndIf
    EndIf
    show_Selection() ;Routine die die Selektion zeigt aufrufen
    EndFunc ;==>_addTB

    [/autoit][autoit][/autoit][autoit]

    Func _writeTB($sId_TB) ;Routine zum Screiben in INI
    ;hier werdeb die Zeichen @CR (Wagebrücklauf) @LF Zeilenumbruche und @CRLF getauscht
    $write1 = GUICtrlRead($hedtBox)
    $write1 = StringReplace($write1, @CRLF, "_%CRLF%_")
    $write1 = StringReplace($write1, @CR, "_%CR%_")
    $write1 = StringReplace($write1, @LF, "_%LF%_")
    If $write1 <> "" Then IniWrite($sIni, "Bausteine", $sId_TB, $write1) ;wenn nicht leer in INI schreien
    EndFunc ;==>_writeTB

    [/autoit][autoit][/autoit][autoit]

    Func _saveTB() ;Änderungen speichern
    If GUICtrlRead($hcboTB) = $sElect Then
    ;es ist kein Textbaustein selektiert
    GUICtrlSetState($hbtnClear, $GUI_DISABLE)
    GUICtrlSetData($hedtBox, "")
    _addTB() ;
    Else
    $sId_TB = GUICtrlRead($hcboTB) ;Kurzbezeichnung holen
    _writeTB($sId_TB) ;Routine zum Schreiben aufrufen
    EndIf
    EndFunc ;==>_saveTB

    [/autoit][autoit][/autoit][autoit]

    Func _delTB() ;Textbaustein löschen
    $sDel = GUICtrlRead($hcboTB) ;Kurzbezeichnung holen
    IniDelete($sIni, "Bausteine", $sDel) ;aus INI löschen
    GUICtrlSetData($hcboTB, "") ;ComboBox leeren
    read_INI() ;Routine zum INI einlesen aufrufen
    show_Selection() ;Routine zum anzeigen der Selektion aufrufen
    EndFunc ;==>_delTB

    [/autoit][autoit][/autoit][autoit]

    Func _ClipPut() ;Daten ins Clipboard
    ClipPut(GUICtrlRead($hedtBox))
    EndFunc ;==>_ClipPut

    [/autoit][autoit][/autoit][autoit]

    Func _ClipGet() ;Daten aus Clipboard holen EditBox wird mit Clipboard überschrieben
    GUICtrlSetData($hedtBox, ClipGet())
    EndFunc ;==>_ClipGet

    [/autoit][autoit][/autoit][autoit]

    Func show_Selection() ;Selekzion anzeigen
    If GUICtrlRead($hcboTB) = $sElect Then ;es ist kein Textbaustein asgewählt
    GUICtrlSetState($hbtnClear, $GUI_DISABLE) ;Leeren-Button disablen
    GUICtrlSetData($hedtBox, "") ;also EDIT leeren
    Else
    GUICtrlSetState($hbtnClear, $GUI_ENABLE) ;Leeren-Button enablen
    $sId_TB = GUICtrlRead($hcboTB) ;Kurzbezeichnng holen
    ;ConsoleWrite("ausgewählt: " & $sId_TB & @CRLF) ;Kontrolausgabe in Console
    $write1 = IniRead($sIni, "Bausteine", $sId_TB, "") ;Baustein aus INI lesen
    ;hier werdeb die Zeichen für @CR (Wagebrücklauf) @LF Zeilenumbruche und @CRLF zurück getauscht
    $write1 = StringReplace($write1, "_%CRLF%_", @CRLF) ;
    $write1 = StringReplace($write1, "_%CR%_", @CR)
    $write1 = StringReplace($write1, "_%LF%_", @LF)

    [/autoit][autoit][/autoit][autoit]

    GUICtrlSetData($hedtBox, $write1) ;Baustein in Edit-Box anzeigen
    EndIf
    EndFunc ;==>show_Selection

    [/autoit][autoit][/autoit][autoit]

    Func _Clear()
    GUICtrlSetData($hcboTB, $sElect, $sElect)
    show_Selection()
    EndFunc ;==>_Clear

    [/autoit]

    [/spoiler]

    GuiGetMsg-Modus
    [autoit]

    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_outfile=TextBausteine.exe
    #AutoIt3Wrapper_Compression=4
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include<WindowsConstants.au3>
    #include <GuiComboBox.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #cs ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    AutoIt Version: 3.3.6.1
    Author: AutoBert: http://www.autoit.de/index.php?page…4445#post164445

    [/autoit] [autoit][/autoit] [autoit]

    Skriptbeispiel für den Umgang mit INI-Files und ComboBox und Edit
    #ce ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Const $sElect = "Textbaustein auswählen"
    Global $sTB, $sIni = @ScriptDir & "\TextBausteine.ini"

    [/autoit] [autoit][/autoit] [autoit]

    If Not FileExists($sIni) Then ;Ini-File vorbelegen
    $sData = "Hilfe=Hier kannst du dir die Hilfe herunterladen." & @CRLF
    $sData &= "Tutorial=Hier gibt es ein Tutorial: http://wiki.autoit.de/wiki/index.php/Tutorial" & @CRLF
    $sData &= "richtigPosten=Autoit-Anfänger Guide / Wie poste ich richtig??" & @CRLF
    $sData &= "Buch peethebee=Sehr hilfreich ist auch das Buch von @peethebee"
    IniWriteSection($sIni, "Bausteine", $sData)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Global $sTitel = 'Beispiel für wiederkehrende Textbausteine'

    [/autoit] [autoit][/autoit] [autoit]

    Local $hMainGui = GUICreate($sTitel, 800, 520, 140, 150, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
    ;erzeugt eine GUI die zurückgebebene ID wird in der Variablen $hMainGui gespeichert
    ;die GUI hat BOXen für Mininmieren, Maximieren und ist in der Größe frei änderbar

    [/autoit] [autoit][/autoit] [autoit]

    Global $hedtBox = GUICtrlCreateEdit("", 10, 10, 600, 480, BitOR($ES_WANTRETURN, $ES_MULTILINE))
    ;erzeugt ein Edit Steuerelement die zurückgegebe ID wird in der Variablen $hedtBox gespeichert
    GUICtrlSetResizing(-1, $GUI_DOCKBORDERs)
    ;verankert das Inputfield an allen Seiten
    ;beim Resizen bleibt es dadurch auf seiner Position und den Abstand zu den Seiten es ändert lediglich Breite und Höhe

    [/autoit] [autoit][/autoit] [autoit]

    Global $hcboTB = GUICtrlCreateCombo("", 620, 10, 150, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    $hbtnAdd = GUICtrlCreateButton("&Hinzufügen Textbaustein", 620, 40, 150, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    $hbtnDel = GUICtrlCreateButton("&Löschen Textbaustein", 620, 70, 150, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    $hbtnSave = GUICtrlCreateButton("Änderungen &speichern", 620, 100, 150, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    $hbtnToClip = GUICtrlCreateButton("&ins ClipBoard", 620, 150, 150, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    $hbtnFromClip = GUICtrlCreateButton("&aus ClipBoard", 620, 180, 150, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)
    $hbtnClear = GUICtrlCreateButton("&Neu (leere EditBox)", 620, 210, 150, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKTOP)

    [/autoit] [autoit][/autoit] [autoit]

    $hbtnExit = GUICtrlCreateButton('Be&enden', 620, 260, 150, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKSIZE + $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM)

    [/autoit] [autoit][/autoit] [autoit]

    read_INI()
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $hbtnExit
    GUIDelete($hMainGui)
    Exit
    Case $hcboTB ;ComboBoxauswahl wurde geändert
    show_Selection()
    Case $hbtnAdd ;Hinzufügen Textbaustein"
    _addTB()
    Case $hbtnDel ;"&Löschen Textbaustein"
    $sDel = GUICtrlRead($hcboTB) ;Kurzbezeichnung holen
    IniDelete($sIni, "Bausteine", $sDel) ;aus INI löschen
    GUICtrlSetData($hcboTB, "") ;ComboBox leeren
    read_INI() ;Routine zum INI einlesen aufrufen
    show_Selection() ;Routine zum anzeigen der Selektion aufrufen
    Case $hbtnSave ;"Änderungen &speichern"
    If GUICtrlRead($hcboTB) = $sElect Then
    ;es ist kein Textbaustein selektiert
    GUICtrlSetState($hbtnClear, $GUI_DISABLE)
    GUICtrlSetData($hedtBox, "")
    _addTB() ;
    Else
    $sId_TB = GUICtrlRead($hcboTB) ;Kurzbezeichnung holen
    _writeTB($sId_TB) ;Routine zum Schreiben aufrufen
    EndIf
    Case $hbtnToClip ;"&ins ClipBoard"
    ClipPut(GUICtrlRead($hedtBox))
    Case $hbtnFromClip ;"&aus ClipBoard"
    ;Daten aus Clipboard holen EditBox wird mit Clipboard überschrieben
    GUICtrlSetData($hedtBox, ClipGet())
    Case $hbtnClear ;"&Neu (leere EditBox)"
    GUICtrlSetData($hcboTB, $sElect,$sElect)
    show_Selection() ;Routine zum anzeigen der Selektion aufrufen
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func read_INI() ;Ini einlesen
    $list1 = IniReadSection($sIni, "Bausteine")
    If IsArray($list1) Then ;nur wenn Array da ansonsten Absturz
    For $i = 1 To $list1[0][0] ;von 1 bis zum letzen Eintrag im Array
    GUICtrlSetData($hcboTB, $list1[$i][0]) ;in ComboBox eintragen
    Next
    EndIf
    _GUICtrlComboBox_InsertString($hcboTB, $sElect, 0) ;$sElect (= "Textbaustein auswählen") an erster Stelle einfügen
    _GUICtrlComboBox_SetCurSel($hcboTB, 0) ;1 Eintrag selektieren
    EndFunc ;==>read_INI

    [/autoit] [autoit][/autoit] [autoit]

    Func _addTB()
    $write1 = GUICtrlRead($hedtBox)
    If $write1 <> "" Then ;nur wenn im Edit etwas eingetragen
    $write2 = InputBox("Baustein verwalten unter", "Bitte Kurzbegriff eingeben")
    If $write2 <> "" Then ;nur wenn ein Kurzbegrigg eingegeben
    _writeTB($write2) ;Routine zum schreiben aufrufen
    GUICtrlSetData($hcboTB, $write2, $write2) ;in ComboBox eintragen und gleichzeitig selektieren
    EndIf
    EndIf
    show_Selection() ;Routine die die Selektion zeigt aufrufen
    EndFunc ;==>_addTB

    [/autoit] [autoit][/autoit] [autoit]

    Func _writeTB($sId_TB) ;Routine zum Screiben in INI
    ;hier werdeb die Zeichen @CR (Wagebrücklauf) @LF Zeilenumbruche und @CRLF getauscht
    $write1 = GUICtrlRead($hedtBox)
    $write1 = StringReplace($write1, @CRLF, "_%CRLF%_")
    $write1 = StringReplace($write1, @CR, "_%CR%_")
    $write1 = StringReplace($write1, @LF, "_%LF%_")
    If $write1 <> "" Then IniWrite($sIni, "Bausteine", $sId_TB, $write1) ;wenn nicht leer in INI schreien
    EndFunc ;==>_writeTB

    [/autoit] [autoit][/autoit] [autoit]

    Func show_Selection() ;Selekzion anzeigen
    If GUICtrlRead($hcboTB) = $sElect Then ;es ist kein Textbaustein asgewählt
    GUICtrlSetState($hbtnClear, $GUI_DISABLE) ;Leeren-Button disablen
    GUICtrlSetData($hedtBox, "") ;also EDIT leeren
    Else
    GUICtrlSetState($hbtnClear, $GUI_ENABLE) ;Leeren-Button enablen
    $sId_TB = GUICtrlRead($hcboTB) ;Kurzbezeichnng holen
    ;ConsoleWrite("ausgewählt: " & $sId_TB & @CRLF) ;Kontrolausgabe in Console
    $write1 = IniRead($sIni, "Bausteine", $sId_TB, "") ;Baustein aus INI lesen
    ;hier werdeb die Zeichen für @CR (Wagebrücklauf) @LF Zeilenumbruche und @CRLF zurück getauscht
    $write1 = StringReplace($write1, "_%CRLF%_", @CRLF) ;
    $write1 = StringReplace($write1, "_%CR%_", @CR)
    $write1 = StringReplace($write1, "_%LF%_", @LF)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlSetData($hedtBox, $write1) ;Baustein in Edit-Box anzeigen
    EndIf
    EndFunc ;==>show_Selection

    [/autoit]

    ScreenShot:
    autoit.de/wcf/attachment/9828/

    Viel Spass damit,

    Edit1: Skript ausgetauscht: @CRLF, @CR und @LF bleiben jetzt erhalten
    Edit2: ScreenShot angehängt
    Edit3: hoffentlich letzten Rechtschreibfehler gefunden
    Edit4: besser auskommentiert
    Edit5: 2. Skript im GuiGetMsg-Modus angefügt

    mfg (Auto)Bert

  • Nun ja, das Script fehlt i-wie :rolleyes:

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • Sehr schön :)

    Ps: Bei der Drop-Box heisst es "Textbaustein auswählen"

    Edit:

    Der Name der .exe Datei hat den selben Schreibfehler wie in der Drop-Box.
    Mir ist noch aufgefallen, dass Text mit Zeilenumbruch und Enter nach der Speicherung nicht mehr richtig dargestellt wird.

    Einmal editiert, zuletzt von Fabian (23. Mai 2010 um 22:37)

  • Sehr schön :)

    Ps: Bei der Drop-Box heisst es "Textbaustein auswählen"

    Edit:

    Der Name der .exe Datei hat den selben Schreibfehler wie in der Drop-Box.
    Mir ist noch aufgefallen, dass Text mit Zeilenumbruch und Enter nach der Speicherung nicht mehr richtig dargestellt wird.

    Ich ersetze die Zeilenumbrüche mit Tab, da es sonst Probleme in der INI-Datei gibt. Bin am Überlegen ob ich die Textbausteine aus der INI nehme und als echte Textdateien speichere, dann wäre das Problem gelöst. So muss man halt seine Text evtl. noch nachformatieren, aber immer noch besser als es immer von Hand einzugeben. Die Schreibfehler werden beim nächsten Update korrigiert (Meine "U-Taste" verweigert leider sehr oft den Dienst)

    Edit: Skript in Post #1 ausgetauscht: @CRLF, @CR und @LF bleiben jetzt erhalten und hoffentlich habe ich auch alle fehlenden U's gefunden,

    mfg (Auto)Bert

    Einmal editiert, zuletzt von AutoBert (24. Mai 2010 um 01:00)

  • Stimmt, der Text bzw. die @CRLF usw. bleiben jetzt erhalten :thumbup:

    Ps: Ein "u" hast du bei "Löschen Textbaustein" noch vergessen ;)