au3 Kommentar Remover

  • Hey Community,
    habe da mal , mit ein wenig Hilfe, einen .au3 Kommentar Remover geschrieben.
    Wollte mal hören was ihr dazu sagt und was ihr besser machen würdet.
    Also ich finde das Programm halbwegs sinvoll :P So kann man die Kommentare ( beispielsweise vom Sourecode eines Tutorials ) leicht löschen und muss nicht alles von Hand löschen.
    Viel Spaß.

    Download
    Ftp Download
    File-Upload Download

    Sourecode

    Spoiler anzeigen
    [autoit]


    #NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=103 - Icon-A-Day (Recycle Full).ico
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <GUIConstants.au3>
    AdlibEnable("_Checkbox", 100)
    #Region ### START Koda GUI section ### Form=
    If WinExists("au3 Kommentar Remover") Then
    MsgBox(0, "", "au3 Kommentar Remover läuft bereits", 3)
    Exit
    EndIf
    $Form1 = GUICreate("au3 Kommentar Remover", 358, 84, @DesktopHeight / 2, 0)
    $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 ###
    Func _Checkbox()
    If GUICtrlRead($Checkbox1) = 4 Then
    GUICtrlSetData($input2, "")
    GUICtrlSetState($input2, $GUI_DISABLE)
    GUICtrlSetState($Button2, $GUI_DISABLE)
    Else
    GUICtrlSetState($input2, $GUI_ENABLE)
    GUICtrlSetState($Button2, $GUI_ENABLE)
    EndIf
    EndFunc ;==>_Checkbox
    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
    $file = FileOpen($datei, 0)
    $text1 = FileRead($file)
    FileClose($file)
    $text = StringRegExpReplace($text1, ';.*', '')
    FileOpen($datei, 2)
    If GUICtrlRead($Checkbox1) = 1 Then
    $Temp = StringSplit($datei, "\")
    $Temp2 = $Temp[0]
    $TempName = $Temp[$Temp2]
    $BackUp = "backup_" & $TempName
    FileWrite(GUICtrlRead($input2) & "\" & $BackUp, $text1)
    EndIf
    FileWrite($file, $text)
    FileClose($file)
    EndSwitch
    WEnd

    [/autoit]

    Ist auch in meinem FTP-Checker zu finden!

  • Zitat

    Ist auch in meinem FTP-Checker zu finden!

    würdest Du mir einen gefallen tun?
    Informier Dich bitte nochmal, was genau der Unterschied zwischen FTP und HTTP ist. Das scheinst Du immer noch nicht verstanden zu haben!
    Da Deine Scripte hier im Forum überall zu finden sind und überall falsch mit "FTP" deklariert sind, verwirrt das nur Anfänger oder andere, die einen echten FTP checker suchen. Deins ist einfach keiner...

    schönen Dank ! :rolleyes:

    ---
    In "Independence Day" konnten die Windows-Erdcomputer problemlos mit denen der Außerirdischen kommunizieren. Was sagt uns das über unseren lieben Bill Gates? :D
    ---

    • Offizieller Beitrag

    Deine Funktion entfernt aber nicht nur Kommentare, sondern einfach alles was nach einem Semikolon kommt. ;(
    Wenn ich z.B. eine DLL-Struktur erstelle, ist das hinterher nur noch Schrott:

    [autoit]

    ; vorher:
    $struc = "int var1;ubyte var2;uint var3;char var4[128]"

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

    ; hinterher:
    $struc = "int var1

    [/autoit]
    • Offizieller Beitrag

    Das schlimmste an dem Script ist, die fehlenden Fehlerabfragen. Wenn man z.B.die Backup erstellen Checkbox aktiviert und keinen Speicherpfad angibt, dann wird es in das Scriptverzeichnis geschrieben . 2 mal auf Build drücken und schon ist der Ursprüngliche Quelltext futsch . Sonst kann ich mich nur meinen Vorrednern anschließen.

    !!!!!!!! Also, an alle die das Script trotzdem probieren wollen, vorher Sicherung der Ursprungsdatei anlegen. !!!!
    !!!!!!!! Nicht auf die Sicherungsfunktion des Scriptes vertrauen !!!!!!!

    Edit: Die Backupdatei wird ohne Speicherpfad ins Verzeichnis der Ursprungsdatei geschrieben. Und nur durch einen Fehler im Script wird die Backupdatei nicht überschieben ,wenn mehrmals Build gedrückt wird . Der abgewandelte Text wird aber an die Backupdatei angehängt.