csaki

Untitled

Feb 26th, 2013
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
  2. #AutoIt3Wrapper_Icon=..\..\Downloads\Ariil-Alphabet-Letter-N.ico
  3. #AutoIt3Wrapper_Outfile=Nevatalakito v03.exe
  4. #AutoIt3Wrapper_Add_Constants=n
  5. #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
  6. #EndRegion ** Directives created by AutoIt3Wrapper_GUI ****
  7.     #include <Array.au3>
  8.     #include <File.au3>
  9.     #include <ButtonConstants.au3>
  10.     #include <WindowsConstants.au3>
  11.     #include <EditConstants.au3>
  12.     #include <GUIConstantsEx.au3>
  13.     #include <StaticConstants.au3>
  14.  
  15.     $ablak = GUICreate("Névátalakító v0.3", 487, 271, 254, 123)
  16.     GUISetFont(9, 400, 0, "Microsoft New Tai Lue")
  17.  
  18.     $start = GUICtrlCreateButton("Indítás", 288, 64, 185, 49)
  19.     $mappatis = GUICtrlCreateCheckbox("Almappákat is vizsgáljon", 296, 120, 161, 17)
  20.     $folyamatban = GUICtrlCreateLabel("Kattints a Tallózás vagy a Munkakönyvtár gombra!", 8, 8, 473, 25, $SS_CENTER)
  21.     GUICtrlSetFont(-1, 12, 400, 0, "Microsoft New Tai Lue")
  22.     $tallozas = GUICtrlCreateButton("Tallózás", 8, 168, 75, 25)
  23.     $label = GUICtrlCreateLabel("", 115, 168, 360, 43, $WS_BORDER)
  24.     $mirol = GUICtrlCreateInput("_", 216, 48, 41, 23)
  25.     $mire = GUICtrlCreateInput(" ", 216, 72, 41, 23)
  26.     $keresendo = GUICtrlCreateLabel("Keresendő és cserélendő karakter(ek):", 8, 50, 202, 19, $SS_CENTER)
  27.     $beillesztendo = GUICtrlCreateLabel("A helyükre beillesztendő karakter(ek):", 9, 75, 201, 19)
  28.     $mp3_csekk = GUICtrlCreateCheckbox(".mp3", 16, 112, 49, 17)
  29.     $wav_csekk = GUICtrlCreateCheckbox(".wav", 16, 128, 49, 17)
  30.     $avi_csekk = GUICtrlCreateCheckbox(".avi", 70, 112, 49, 17)
  31.     $wmv_csekk = GUICtrlCreateCheckbox(".wmv", 70, 128, 49, 17)
  32.     $txt_csekk = GUICtrlCreateCheckbox(".txt", 126, 112, 49, 17)
  33.     $doc_csekk = GUICtrlCreateCheckbox(".doc", 126, 128, 49, 17)
  34.     $egyeni_csekk = GUICtrlCreateCheckbox("Egyéni:", 195, 110, 53, 19)
  35.     ;$egyeni = GUICtrlCreateLabel("Egyéni:", 200, 112, 42, 19)
  36.     $sajat_input = GUICtrlCreateInput(".xxx", 200, 128, 49, 23)
  37.     $nevjegy = GUICtrlCreateLabel("csakii && AlPeR061 project", 304, 253, 178, 16)
  38.     GUICtrlSetFont(-1, 16, 800, 0, "Microsoft Himalaya")
  39.     GUICtrlSetColor(-1, 0x0040F0)
  40.     ;$magyarazat = GUICtrlCreateLabel("- ezzel a funkcióval az a mappa lesz betallózva, ahonnan a program fut", 104, 216, 373, 19)
  41.     $workdir = GUICtrlCreateButton("Munkakönyvtár", 8, 194, 91, 17)
  42.     GUICtrlSetTip(-1, "Ezzel a funkcióval az a mappa lesz betallózva, ahonnan a program fut")
  43.     $group = GUICtrlCreateGroup("", 8, 93, 252, 65)
  44.     GUICtrlCreateGroup("", -99, -99, 1, 1)
  45.     GUISetBkColor(0xA5BFCE)
  46.     GUISetState(@SW_SHOW)
  47.  
  48.  
  49.     Dim $zene = ObjCreate("System.Collections.ArrayList")
  50.     Dim $tomb_csekk = ObjCreate("System.Collections.ArrayList")
  51.     Dim $zenek
  52.     Dim $ideiglenes
  53.     Dim $FileCount
  54.     Dim $temp
  55.     Dim $egy
  56.     Dim $ketto
  57.     Dim $checkbox_temp
  58.     Dim $radio_elso_temp
  59.     Dim $radio_masodik_temp
  60.     Dim $csekkboxok
  61.  
  62.     GUICtrlSetData($folyamatban, "Kattints a Tallózás vagy a Munkakönyvtár gombra!")
  63.     While 1
  64.         Switch(GUIGetMsg())
  65.             Case -3
  66.                 Exit
  67.             Case $start
  68.                 GUICtrlSetData($folyamatban, "Ellenőrzés..")
  69.                 Ellenoriz()
  70.             Case $tallozas
  71.                 If $ideiglenes <> "" Then
  72.                     $temp = $ideiglenes
  73.                 EndIf
  74.                 $ideiglenes = FileSelectFolder("Kattints a Tallózás vagy a Munkakönyvtár gombra!", "") ; "" <- alapútvonal, ha meg akarod adni
  75.                 If $ideiglenes = "" Then
  76.                     $ideiglenes = $temp
  77.                 EndIf
  78.                 GUICtrlSetData($label, $ideiglenes)
  79.             Case $workdir
  80.                 $ideiglenes = @WorkingDir
  81.                 GUICtrlSetData($label, $ideiglenes)
  82.         EndSwitch
  83.     WEnd
  84.  
  85.  
  86.  
  87.  
  88.     Func Ellenoriz() ; ########################## [1] #############################
  89.  
  90.     If StringLen(GUICtrlRead($mirol)) = 0 or StringLen(GUICtrlRead($mire)) = 0 Then
  91.             MsgBox(0, "Hiba (02)", "Nincs a keresendő és/vagy a beillesztendő beállítva!")
  92.             GUICtrlSetData($folyamatban, "Kattints a Tallózás vagy a Munkakönyvtár gombra!")
  93.             Return 0
  94.     EndIf
  95.     If GUICtrlRead($egyeni_csekk) = $GUI_CHECKED and (StringLen(GUICtrlRead($sajat_input)) < 2 or StringLen(GUICtrlRead($sajat_input)) > 5)  Then
  96.         MsgBox(0, "Hiba (03)", "Az egyéni érték ki van pipálva, de az értéke nem megfelelő! (.xx-től .xxxxx-ig.)")
  97.     EndIf
  98.  
  99.     If GUICtrlRead($sajat_input) = ".dll" Then
  100.         MsgBox(0, "Hiba (06)", "A .dll fájlok átnevezése biztonsági okokból nem engedélyezett.")
  101.         GUICtrlSetData($sajat_input, ".xxx")
  102.         Return 0
  103.         EndIf
  104.  
  105.     If $ideiglenes = "" Then
  106.         If MsgBox(4, "Hiba (01)", "Nincs könyvtár választva! Szeretnéd hogy az a könyvtár legyen vizsgálva, ahol a program fut? (Ha nemet nyomsz, nem csinál a program semmit.)") = 6 Then
  107.             $ideiglenes = @WorkingDir
  108.             GUICtrlSetData($label, $ideiglenes)
  109.             GUICtrlSetData($folyamatban, "Folyamatban...")
  110.             Atalakit() ; ############ [2] ############
  111.         EndIf
  112.     Else
  113.         GUICtrlSetData($folyamatban, "Folyamatban...")
  114.         Atalakit() ; ############ [2] ############
  115.     EndIf
  116.     GUICtrlSetData($folyamatban, "Kész!")
  117.  
  118.     ;$zene.Remove($FileCount-1)
  119.     ;MsgBox(0, "obj c rem", $zene.Count)
  120.     ;$zene = ObjCreate("System.Collections.ArrayList")
  121.     ;MsgBox(0, "obj c redec", $zene.Count)
  122.     ;MsgBox(0, "tomb length", UBound($zenek))
  123.     $zene.Clear
  124.     ;MsgBox(0, "obj count", $zene.Count)
  125.     $zenek = $zene.ToArray
  126.     ;MsgBox(0, "toarray utan", UBound($zenek)) ; 0 a tömb nagysága (??? ha itt 0 az érték, akkor miért tartja meg az előző sorokat a tömbben?!)
  127.     $tomb_csekk.Clear
  128.     $FileCount = 0
  129.     EndFunc
  130.  
  131.  
  132.  
  133.  
  134.     Func Atalakit() ; ########################## [2] #############################
  135.         $egy = GUICtrlRead($mirol)
  136.         $ketto = GUICtrlRead($mire)
  137.         $checkbox_temp = GUICtrlRead($mappatis)
  138.         $sajat = GUICtrlRead($sajat_input)
  139.  
  140.  
  141.         If GUICtrlRead($avi_csekk) = $GUI_CHECKED Then
  142.         $tomb_csekk.Add(".avi")
  143.         EndIf
  144.         If GUICtrlRead($mp3_csekk) = $GUI_CHECKED Then
  145.         $tomb_csekk.Add(".mp3")
  146.         EndIf
  147.         If GUICtrlRead($wmv_csekk) = $GUI_CHECKED Then
  148.         $tomb_csekk.Add(".wmv")
  149.         EndIf
  150.         If GUICtrlRead($doc_csekk) = $GUI_CHECKED Then
  151.         $tomb_csekk.Add(".doc")
  152.         EndIf
  153.         If GUICtrlRead($txt_csekk) = $GUI_CHECKED Then
  154.         $tomb_csekk.Add(".txt")
  155.         EndIf
  156.         If GUICtrlRead($wav_csekk) = $GUI_CHECKED Then
  157.         $tomb_csekk.Add(".wav")
  158.         EndIf
  159.         If GUICtrlRead($egyeni_csekk) = $GUI_CHECKED Then
  160.         $tomb_csekk.Add($sajat)
  161.         EndIf
  162.  
  163.         $csekkboxok = $tomb_csekk.ToArray
  164.         ;_ArrayDisplay($csekkboxok)
  165.         ScanFolder($ideiglenes) ; ######## [3] ##########
  166.  
  167.         GuiCtrlSetData($folyamatban, "(A fájlok száma: " & $FileCount & ")")
  168.         Sleep(500)
  169.         GuiCtrlSetData($folyamatban, "Átalakítás..")
  170.  
  171.         Dim $zenek = $zene.ToArray
  172.     ;   _ArrayDisplay($zenek, "$zenek: ")
  173.  
  174.         Kicserel() ; ######## [4] ##########
  175.     EndFunc
  176.  
  177.  
  178.  
  179.  
  180.  
  181.     Func Kicserel() ; ########################## [4] #############################
  182.  
  183.     For $i = 0 to UBound($zenek, 1) -1
  184.     $eleresiut = Darabol($zenek[$i], 2) ; ######## [5] ##########
  185.     $filenev = Darabol($zenek[$i], 3) ; ######## [5] ##########
  186.     $ujfajlnev = StringReplace($filenev, $egy, $ketto)
  187.     $ujeleresiut_fajlnev = $eleresiut & $ujfajlnev
  188.     ; MsgBox(0, "Éppen ez zajlik..", "Átnevezés " & $filenev & "erre: " & $ujfajlnev)
  189.     FileMove($zenek[$i], $ujeleresiut_fajlnev)
  190.     Next
  191.     EndFunc
  192.  
  193.  
  194. ; ########################## [5] #############################
  195.     Func Darabol($SBPath, $SBType);$SBpath = file path to evaluate , $SBType = 1 for Drive, 2 for Path, 3 for File name, 4 for extension, 5 for drive letter only
  196.         Local $SBfile, $SBSplit, $SBdrive, $SBfilepath, $SBnumber
  197.         $SBSplit = StringSplit($SBPath, "\"); split into array
  198.         $SBnumber = $SBSplit[0]; the number of strings returned
  199.         $SBfilepath = ""
  200.         for $1 = 1 to $SBnumber -1
  201.             $SBfilepath = $SBfilepath & $SBSplit[$1] & "\"; path
  202.         Next
  203.         $SBfile = $SBSplit[($SBsplit[0])]; file
  204.         $SBdrive = $SBSplit[1]; drive
  205.         $SBfs = StringSplit($SBPath, "."); split into array
  206.     ;MsgBox(4096, "Path", $SBSfs[0])
  207.         if $SBfs[0] = 1 then
  208.             $SBExt = ""; no extension found
  209.         Else
  210.             $SBExt = $SBfs[($SBfs[0])]; last . extentsion
  211.         EndIf
  212.  
  213.         If $SBType = 1 then Return $SBdrive
  214.         If $SBType = 2 then Return $SBfilepath
  215.         If $SBType = 3 then Return $SBfile
  216.         If $SBType = 4 then Return $SBExt
  217.         If $SBType = 5 then Return StringLeft($SBdrive, 1)
  218.     EndFunc
  219.  
  220.  
  221.     Func ScanFolder($SourceFolder) ; ########################## [3] #############################
  222.     Local $Search
  223.     Local $File
  224.     Local $FileAttributes
  225.     Local $FullFilePath
  226.  
  227.     $Search = FileFindFirstFile($SourceFolder & "\*.*")
  228.     While 1
  229.     If $Search = -1 Then
  230.         ExitLoop
  231.     EndIf
  232.  
  233.     $File = FileFindNextFile($Search)
  234.     If @error Then ExitLoop
  235.  
  236.         $FullFilePath = $SourceFolder & "\" & $File
  237.         $FileAttributes = FileGetAttrib($FullFilePath)
  238.  
  239.         If StringInStr($FileAttributes,"D") Then
  240.             If $checkbox_temp = $GUI_CHECKED Then
  241.                 ScanFolder($FullFilePath)
  242.             EndIf
  243.         Else
  244.  
  245.             For $i = 0 to Ubound($csekkboxok, 1) -1
  246.                 If StringInStr($FullFilePath, $csekkboxok[$i]) Then
  247.                     LogFile($FullFilePath)
  248.                 EndIf
  249.             Next
  250.         EndIf
  251.  
  252.     WEnd
  253.  
  254.     FileClose($Search)
  255.     EndFunc
  256.  
  257. ; ########################## [7] #############################
  258.     Func LogFile($FileName)
  259.     $zene.Add($FileName)
  260.     $FileCount += 1
  261.     ;MsgBox(0, "filecount", $FileCount)
  262.     EndFunc
Advertisement
Add Comment
Please, Sign In to add comment