kolinrp24 Posted July 6, 2005 Share Posted July 6, 2005 (edited) i made this over night, it has checkboxes so u can delete comments like.... ;one comment example #comments-start this is example 2 #comments-end #cs example number 3 #ce it can also delete whitespaces plz check it out -kolin p.s. if anyone wants one with comments describing everything, ask and i'll post it expandcollapse popup#include <GuiConstants.au3> #include <file.au3> GUICreate("Comment Deleter", 371, 161, (@DesktopWidth-371)/2, (@DesktopHeight-161)/2 , $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS) $Chec1 = GUICtrlCreateCheckbox("Delete comments begining with a semicolon? (;)", 10, 40, 250, 20) GUICtrlSetState(-1,IniRead(@scriptdir&"\comdel.ini","Options","chec1",1)) $Chec2 = GUICtrlCreateCheckbox("Delete comments in the form: #comments-start.....#comments-end ?", 10, 60, 350, 20) GUICtrlSetState(-1,IniRead(@scriptdir&"\comdel.ini","Options","chec2",1)) $Chec3 = GUICtrlCreateCheckbox("Delete comments in the form: #cs...#ce ?", 10, 80, 350, 20) GUICtrlSetState(-1,IniRead(@scriptdir&"\comdel.ini","Options","chec3",1)) $Chec4 = GUICtrlCreateCheckbox("Delete blank lines?", 10, 100, 250, 20) GUICtrlSetState(-1,IniRead(@scriptdir&"\comdel.ini","Options","chec4",1)) $Continue = GUICtrlCreateButton("Continue...", 10, 130, 90, 20,$BS_DEFPUSHBUTTON ) $Exit = GUICtrlCreateButton("Exit", 140, 130, 90, 20) $About = GUICtrlCreateButton("About", 270, 130, 90, 20) $Header = GUICtrlCreateLabel("Comment Deleter v2", 10, 0, 350, 40) GUICtrlSetFont(-1,25) GUISetState() While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg=$Continue GUISetState(@SW_DISABLE,"Comment Deleter") IniWrite(@scriptdir&"\comdel.ini","Options","chec1",GUICtrlRead($Chec1)) IniWrite(@scriptdir&"\comdel.ini","Options","chec2",GUICtrlRead($Chec2)) IniWrite(@scriptdir&"\comdel.ini","Options","chec3",GUICtrlRead($Chec3)) IniWrite(@scriptdir&"\comdel.ini","Options","chec4",GUICtrlRead($Chec4)) Dim $comstart,$csce,$cscedel,$comstartdel,$whitedel,$delcom If $CmdLine[0] = 1 Then $file = $CmdLine[1] Else $file = FileOpenDialog("Open...", @MyDocumentsDir, "Text or autoit (*.txt;*.au3)", 1 + 2) EndIf If @error Then Exit $linenum = _FileCountLines($file) $tempfile = @TempDir & "\commentdeleter.au3" _FileCreate($tempfile) While 1 ProgressOn("Comment Deleter", "0% completed. Working...", "0 lines out of " & $linenum & " processed.",326,326, 16) WinActivate("Comment Deleter","0% completed. Working...") For $i = 1 To $linenum $line = FileReadLine($file, $i) If @error = -1 Then ExitLoop Else $lineclear = StringStripWS($line, 8) Select Case StringIsSpace($line)=1 OR $line="" AND GUICtrlRead($Chec4)=1 $whitedel=$whitedel+1 Case StringLeft($lineclear,1)=";" AND GUICtrlRead($Chec1)=1 $delcom=$delcom+1 Case StringLeft($lineclear,15)="#comments-start" OR $comstart=1 AND GUICtrlRead($Chec2)=1 $comstart=1 $comstartdel=$comstartdel+1 If StringInStr($lineclear,"#comments-end")>0 Then $comstart=0 Case StringLeft($lineclear,3)="#cs" OR $csce=1 AND GUICtrlRead($Chec3)=1 $csce=1 $cscedel=$cscedel+1 If StringInStr($lineclear,"#ce")>0 Then $csce=0 Case Else FileWriteLine($tempfile, $line) EndSelect EndIf $per = Round(100 * $i / $linenum, 0) ProgressSet($per, $i & " lines out of " & $linenum & " processed.", $per & "% completed. Working...") Next ProgressSet("100",$linenum&" lines processed.", "100% completed.") Sleep(500) ProgressOff() Dim $a,$b,$c,$d _PathSplit ($file,$a,$b,$c,$d) MsgBox(0,"",$delcom+0&" comments deleted from script."&@CRLF&$comstartdel+0&" #comments-start...#comments-end comments deleted from script."&@CRLF&$cscedel+0&" #cs...#ce comments deleted from script."&@CRLF&$whitedel+0&" empty lines deleted from script.") $newfile=FileSaveDialog("Save edited script as...",$a&$b,"Text or Au3 (*.txt;*.au3)",16,$c&$d) FileCopy($tempfile,$newfile,1) Exit WEnd Case $msg=$About MsgBox(8256,"About","Comment Deleter v2" & @CRLF & "By Kolin Paulk" & @CRLF & "Tuesday, July 5, 2005") Case $msg=$Exit Exit EndSelect WEnd Exit Edited July 6, 2005 by kolinrp24 Link to comment Share on other sites More sharing options...
jdickens Posted July 13, 2005 Share Posted July 13, 2005 Adios, pesky comments. (sorry, had to) J If I am too verbose, just say so. You don't need to run on and on. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now