csaki

névátalakító

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