Einzelne Zeile in einem Edit ersetzen

  • Und schon wieder eine Frage: :D ^^:rolleyes:

    Wie kann ich eine einzelne Zeile in einem Edit ersetzen ?( :?:

    Dankeschön für jede Antwort! (So langsam kann ich mir das mit in die Signatur schreiben :) )

    Einmal editiert, zuletzt von MatthiasG. (14. Februar 2009 um 09:44)

  • was meinst Du mit "in einem Edit ersetzen" ?(

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...

  • Meinst Du in etwa so ... ???

    Spoiler anzeigen
    [autoit]

    #include <Constants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 633, 447, 193, 125)
    $IDC_EDIT = GUICtrlCreateEdit('Anton'&@crlf&'Bertie'&@crlf&'Det'&@crlf, 56, 72, 473, 257)
    $IDC_BUTTON = GUICtrlCreateButton ('OK', 20, 400, 80)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $IDC_BUTTON
    GUICtrlSetData ($IDC_EDIT, _
    StringReplace (GUICtrlRead ($IDC_EDIT), 'Bertie', 'Ersatztext'))

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

    EndSwitch
    WEnd

    [/autoit]


    LG
    Greenhorn


    • Offizieller Beitrag

    Da ich gerade langweile hatte, habe ich dir mal ein Beispiel geschrieben. Ich denke das macht das was du suchst.

    Spoiler anzeigen
    [autoit]

    #include <GuiEdit.au3>
    #include <GuiConstantsEx.au3>

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

    Opt('MustDeclareVars', 1)

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

    _Main()

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

    Func _Main()
    Local $hEdit, $hInput1, $hInput2, $hButton, $nMsg, $sSource, $sDest, $iZeile
    Local $sFile = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt", "InstallDir") & "\include\changelog.txt"

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

    ; Create GUI
    GUICreate("Edit Get Line", 400, 400)
    $hEdit = GUICtrlCreateEdit("", 2, 2, 394, 268)
    GUICtrlCreateLabel("Welche Zeile soll ausgetauscht werden ?", 2, 290, 200, 17)
    $hInput1 = GUICtrlCreateInput("", 2, 310, 20, 17)
    GUICtrlCreateLabel("Ersatztext", 2, 330, 200, 17)
    $hInput2 = GUICtrlCreateInput("", 2, 350, 380, 17)
    GUISetState()
    $hButton = GUICtrlCreateButton("Ersetzen", 2, 370, 100, 17)
    _GUICtrlEdit_SetText($hEdit, FileRead($sFile))

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hButton
    $iZeile = GUICtrlRead($hInput1)
    If StringIsInt($iZeile) Then
    $sSource = _GUICtrlEdit_GetLine($hEdit, $iZeile - 1)
    $sDest = GUICtrlRead($hInput2)
    GUICtrlSetData($hEdit, StringReplace(GUICtrlRead($hEdit), $sSource, $sDest))
    Else
    MsgBox(0,"Info","Zeilenauswahl ist keine Nummer ")
    ContinueLoop
    EndIf
    EndSwitch
    WEnd
    GUIDelete()
    EndFunc ;==>_Main

    [/autoit]
  • Hab auch mal schnell was zusammengeschrieben.
    Vielleicht kannst hilft es dir ja auf die Sprünge :D

    Spoiler anzeigen
    [autoit]

    #include <GuiEdit.au3>
    #include <GUIConstantsEx.au3>

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

    $sFile = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt", "InstallDir") & "\include\changelog.txt"

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

    ; Create GUI
    GUICreate("Edit Get Line", 400, 300)
    $hEdit = GUICtrlCreateEdit("", 2, 2, 394, 268)

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

    $zeile = 0 ;Zeilennummer

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

    GUISetState()
    _GUICtrlEdit_SetText($hEdit, FileRead($sFile))

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

    _GUICtrlEdit_BeginUpdate($hEdit)
    $count = _GUICtrlEdit_GetLineCount($hEdit)
    ConsoleWrite($count & @CRLF)

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

    $index = _GUICtrlEdit_LineIndex($hEdit, $zeile)
    $index2 = _GUICtrlEdit_LineIndex($hEdit, $zeile+1) - 2
    ConsoleWrite($index & @CRLF)
    ConsoleWrite($index2 & @CRLF)
    Sleep(2000)
    _GUICtrlEdit_SetSel($hEdit, $index, $index2)
    _GUICtrlEdit_ReplaceSel($hEdit, "Hallo ich bin der Neue hier")
    _GUICtrlEdit_EndUpdate($hEdit)

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

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()

    [/autoit]
    • Offizieller Beitrag

    So geht es auch :

    Spoiler anzeigen
    [autoit]

    #include <GuiEdit.au3>
    #include <GUIConstantsEx.au3>

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

    $sFile = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt", "InstallDir") & "\include\changelog.txt"

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

    ; Create GUI
    GUICreate("Edit Get Line", 400, 300)
    $hEdit = GUICtrlCreateEdit("", 2, 2, 394, 268)

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

    $zeile = 2 ;Zeilennummer

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

    GUISetState()
    _GUICtrlEdit_SetText($hEdit, FileRead($sFile))

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

    _GUICtrlEdit_BeginUpdate($hEdit)
    $count = _GUICtrlEdit_GetLineCount($hEdit)
    ConsoleWrite($count & @CRLF)

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

    $index = _GUICtrlEdit_LineIndex($hEdit, $zeile)
    $index2 = _GUICtrlEdit_LineLength ($hEdit, $zeile)
    ConsoleWrite($index & @CRLF)
    ConsoleWrite($index2 & @CRLF)
    Sleep(2000)
    _GUICtrlEdit_SetSel($hEdit, $index, $index + $index2)
    _GUICtrlEdit_ReplaceSel($hEdit, "Hallo ich bin der Neue hier")
    _GUICtrlEdit_EndUpdate($hEdit)

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

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()

    [/autoit]


    :D