Alles nach ";" löschen in einer Datei

  • hey Community,
    wie kann ich in einer Datei alles nach einem ";" löschen lassen?
    Wollte einen Auto-Kommentar-Remover für .au3 Dateien schreiben.

    Einmal editiert, zuletzt von r1fLeX (28. Dezember 2008 um 16:30)

  • Warum wird bei diesem Code wenn man auf Button3 drückt immer die Anzahl der Klicks auf diesen in der MsgBox angezeigt? oO

    [autoit]

    #cs
    $datei = FileOpenDialog("Datei Auswahl",@ScriptDir,"Autoit (*.au3)") ;hallo
    $datei2 = FileOpen ($datei,0)
    $text = FileRead ($datei2)
    $text = StringRegExpReplace($text, ';.*', '')
    #ce

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

    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate(".au3 Kommentar Remover", 358, 84, 193, 125)
    $input1 = GUICtrlCreateInput("", 70, 0, 263, 21)
    $Button1 = GUICtrlCreateButton("...", 334, 0, 23, 21, 0)
    $Label1 = GUICtrlCreateLabel("Autoit Datei", 8, 6, 59, 17)
    $input2 = GUICtrlCreateInput("", 70, 30, 263, 21)
    $Button2 = GUICtrlCreateButton("...", 334, 30, 23, 21, 0)
    $Label2 = GUICtrlCreateLabel("Speicherpfad", 0, 38, 67, 17)
    $Checkbox1 = GUICtrlCreateCheckbox("BackUp erstellen", 0, 66, 97, 17)
    $Button3 = GUICtrlCreateButton("Build", 282, 62, 75, 21, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $datei = FileOpenDialog("Datei Auswahl", @ScriptDir, "Autoit (*.au3)")
    GUICtrlSetData($input1, $datei)
    Case $Button2
    $datei2 = FileSelectFolder("Speicherpfad wählen", "")
    GUICtrlSetData($input2, $datei2)
    Case $Button3
    If GUICtrlRead($input1) = "" Or GUICtrlRead($input2) = "" Then
    MsgBox(0, "Fehler", "Bitte fülle beide Felder aus")
    Else
    $text1 = FileOpen(GUICtrlRead($input1), 0)
    $text = StringRegExpReplace($text1, ';.*', '')
    MsgBox(0, "", $text)
    EndIf
    EndSwitch
    WEnd

    [/autoit]
    • Offizieller Beitrag

    Wenn man auf den Build Button klickt kommt doch gar keine MSGBOX mit der ausgabe der klicks. Weiß ja nicht warum des bei dir so ist . Wird "Bitte fülle beide Felder aus" angezeigt wie es soll .

    • Offizieller Beitrag

    Probier mal das .

    Spoiler anzeigen
    [autoit]

    #cs
    $datei = FileOpenDialog("Datei Auswahl",@ScriptDir,"Autoit (*.au3)") ;hallo
    $datei2 = FileOpen ($datei,0)
    $text = FileRead ($datei2)
    $text = StringRegExpReplace($text, ';.*', '')
    #ce

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

    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate(".au3 Kommentar Remover", 358, 84, 193, 125)
    $input1 = GUICtrlCreateInput("", 70, 0, 263, 21)
    $Button1 = GUICtrlCreateButton("...", 334, 0, 23, 21, 0)
    $Label1 = GUICtrlCreateLabel("Autoit Datei", 8, 6, 59, 17)
    $input2 = GUICtrlCreateInput("", 70, 30, 263, 21)
    $Button2 = GUICtrlCreateButton("...", 334, 30, 23, 21, 0)
    $Label2 = GUICtrlCreateLabel("Speicherpfad", 0, 38, 67, 17)
    $Checkbox1 = GUICtrlCreateCheckbox("BackUp erstellen", 0, 66, 97, 17)
    $Button3 = GUICtrlCreateButton("Build", 282, 62, 75, 21, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $datei = FileOpenDialog("Datei Auswahl", @ScriptDir, "Autoit (*.au3)")
    GUICtrlSetData($input1, $datei)
    Case $Button2
    $datei2 = FileSelectFolder("Speicherpfad wählen", "")
    GUICtrlSetData($input2, $datei2)
    Case $Button3
    If GUICtrlRead($input1) = "" Or GUICtrlRead($input2) = "" Then
    MsgBox(0, "Fehler", "Bitte fülle beide Felder aus")
    Else
    $file = FileOpen($datei, 0)
    $text1 = FileRead($file)
    $text = StringRegExpReplace($text1, ';.*', '')
    FileClose($file)
    If Not @error Then MsgBox(0, "", $text)
    EndIf
    EndSwitch
    WEnd

    [/autoit]