Anfängerproblem mit einem Script

  • Hallo

    ich bin wirklich sehr unbeleckt im umgang mit Autoit und habe gleich ein par fragen.

    1. ich habe eine kleine gui gebaut in die ich etwas in GUICtrlCreateInput felder eimtragen kann und am ende kann ich das ganze mit einem OK bestätigen.

    ich würde aber gerne auch nur einfach durch drücken von enter an einer beliebigen stelle weiterkommen

    2. möchte ich die so gesammelten informationen in einer textdatei ersetzen.

    z.B. so änlich wie das

    ReplaceTextFile ("<Dateiname>", "<Suchzeichenfolge>", "<Ersatzzeichenfolge>", <Zahl>)

    Ersetzt in der Datei <Dateiname> den Wert <Suchzeichenfolge> durch die <Ersatzzeichenfolge>. Ist <Zahl> 0, so werden alle Vorkommen ersetzt. Ist <Zahl> größer 0, so wird nur das n-te Vorkommen ersetzt. Die Zählung beginnt bei 1.

    Beispiel: ReplaceTextFile ("%App%\Test.txt", "Trisha", "David", 3)


    kann mir da jemand helfen

    besten dank schon mal

    Rechtschreibfehler sind geistiges Eigentum des Verfassers


    Mit freundlichen Grüßen

    Friso

    • Offizieller Beitrag

    Hallo,

    was soll beim betätigen von ENTER genau geschehen, wenn zum beispiel ein bestimmter Button gedrückt werden soll muss nur der style-Wert vom Button entsprechen angepasst werden z.B.:

    Spoiler anzeigen

    ENTER und Alt-O betätigen den OK-Button, mit Alt-B kann man beenden.

    Auf die 2. Frage gibt es mehrere Antworten:

    1. Funktioniert immer
    Die Datei Zeile für Zeile einlesen (FileReadLine) -> gelesene Zeile überprüfen und ändern -> die Zeilen in eine neue Datei zurückschreiben -> wenn allle Zeilen bearbeiet sind die alte Datei löschen und der neuen Datei den alten Namen geben

    2. Für kleine Dateien
    Die komplette Datei in ein Array einlesen -> Änderungen im Array durchführen -> Array wieder in die Datei schreiben

  • hallo

    durch drücken der ENTER Taste in einem InputFeld soll die komplette gui bestätigt werden (wie OK Butten)

    und die geschichte mit FileReadToArray werde ich mir mal ansehen.

    bisher habe ich das geschaft

    #include <GUIConstants.au3>


    $Vorname = RegRead("HKEY_CURRENT_USER\ROUserSetting\OutlookSignatur" ,"Vorname")
    $Nachname = RegRead("HKEY_CURRENT_USER\ROUserSetting\OutlookSignatur" ,"Nachname")
    $Tel = RegRead("HKEY_CURRENT_USER\ROUserSetting\OutlookSignatur" ,"Telefon")
    $Fax = RegRead("HKEY_CURRENT_USER\ROUserSetting\OutlookSignatur","Fax")
    $Mail = RegRead("HKEY_CURRENT_USER\ROUserSetting\OutlookSignatur" ,"eMail")
    $Firma = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "RegisteredOrganization")


    $Form1 = GUICreate("Outlook Signatur", 366, 347, 241, 125)
    GUICtrlCreateLabel("Vorname", 64, 48, 46, 17)
    $Vorname = GUICtrlCreateInput($Vorname, 16, 64, 145, 21)
    GUICtrlCreateLabel("Nachname", 240, 48, 56, 17)
    $Nachname = GUICtrlCreateInput($Nachname, 200, 64, 145, 21)
    $Firma = GUICtrlCreateInput($Firma, 88, 136, 185, 21)
    GUICtrlCreateLabel("Firma", 160, 120, 29, 17)
    $Tel = GUICtrlCreateInput($Tel, 16, 208, 145, 21)
    $Fax = GUICtrlCreateInput($Fax, 200, 208, 145, 21)
    GUICtrlCreateLabel("Rufnummer", 48, 192, 58, 17)
    GUICtrlCreateLabel("Faxnummer", 240, 192, 58, 17)
    GUICtrlCreateLabel("eMail Adresse", 160, 256, 29, 17)
    $Mail = GUICtrlCreateInput($Mail, 88, 272, 185, 21)
    GUICtrlCreateLabel("Bitte aktualiesieren Sie die Felder", 105, 15, 200, 17)

    $OK = GUICtrlCreateButton("OK", 16, 304, 331, 25)

    GUISetState(@SW_SHOW)
    While 1
    $msg = GuiGetMsg()
    Select
    Case $msg = $OK
    ExitLoop

    EndSelect
    WEnd


    ;While 1
    ; $msg = GuiGetMsg()
    ; If $msg = $OK Then ExitLoop
    ;WEnd

    ;MsgBox (4096,"Test",GUICtrlRead($Nachname))

    RegWrite ( "HKEY_CURRENT_USER\ROUserSetting\OutlookSignatur","Vorname", "REG_SZ", GUICtrlRead($Vorname))
    RegWrite ( "HKEY_CURRENT_USER\ROUserSetting\OutlookSignatur" ,"Nachname", "REG_SZ", GUICtrlRead($Nachname) )
    RegWrite ( "HKEY_CURRENT_USER\ROUserSetting\OutlookSignatur" ,"Telefon", "REG_SZ",GUICtrlRead($Tel))
    RegWrite ( "HKEY_CURRENT_USER\ROUserSetting\OutlookSignatur" ,"Fax", "REG_SZ",GUICtrlRead($Fax))
    RegWrite ( "HKEY_CURRENT_USER\ROUserSetting\OutlookSignatur" ,"eMail", "REG_SZ", GUICtrlRead($Mail))


    Exit

    • Offizieller Beitrag

    Hi,

    einfach die Zeile in der der OK-Button erstellt wird, so schreiben: :musik2:

    Code
    $OK = GUICtrlCreateButton("OK", 16, 304, 331, 25, $BS_DEFPUSHBUTTON)

    PS: Benutze bitte die Tags (ohne Leerzeichen) [ C O D E ] und [ / C O D E ] zum darstellen von Codezeilen!!! :rolleyes: