#include #include #include #include #include #include #include $ProgramRegPath = "HKEY_LOCAL_MACHINE\SOFTWARE\MD\DropboxList\" $FileListName = "FileList.txt" $LinkListName = "LinkList.txt" $StatusText = "Parametreleri girdikten sonra oluştur tuşuna basınız." $link = RegRead($ProgramRegPath, "Link") $dir = RegRead($ProgramRegPath, "Folder") $form = GUICreate("Dropbox List", 496, 104) $iLink = GUICtrlCreateInput($link, 96, 16, 329, 21) GUICtrlCreateLabel("Link Başı", 16, 16, 47, 17, $SS_CENTERIMAGE) $iFolder = GUICtrlCreateInput($dir, 96, 48, 297, 21) GUICtrlCreateLabel("Yerel Klasör", 16, 48, 60, 17, $SS_CENTERIMAGE) $Browse = GUICtrlCreateButton("...", 400, 48, 27, 21, BitOR($BS_CENTER, $BS_VCENTER)) $Go = GUICtrlCreateButton("Oluştur", 432, 16, 57, 57, BitOR($BS_CENTER, $BS_VCENTER)) $StatusBar = GUICtrlCreateLabel($StatusText, 2, 82, 492, 22, Default, $WS_EX_STATICEDGE) GUICtrlSetState($Go, $GUI_FOCUS) $charCount = 37 Dim $find[$charCount], $replace[$charCount] $i = 0 $find[$i] = " " $replace[$i] = "%20" $i += 1 $find[$i] = "ü" $replace[$i] = "%C3%BC" $i += 1 $find[$i] = "ğ" $replace[$i] = "%C4%9F" $i += 1 $find[$i] = "ş" $replace[$i] = "%C5%9F" $i += 1 $find[$i] = "ç" $replace[$i] = "%C3%A7" $i += 1 $find[$i] = "ö" $replace[$i] = "%C3%B6" $i += 1 $find[$i] = "Ü" $replace[$i] = "%C3%9C" $i += 1 $find[$i] = "Ğ" $replace[$i] = "%C4%9E" $i += 1 $find[$i] = "İ" $replace[$i] = "%C4%B0" $i += 1 $find[$i] = "Ş" $replace[$i] = "%C5%9E" $i += 1 $find[$i] = "Ç" $replace[$i] = "%C3%87" $i += 1 $find[$i] = "Ö" $replace[$i] = "%C3%96" $i += 1 $find[$i] = ";" $replace[$i] = "%3B" $i += 1 $find[$i] = """" $replace[$i] = "%2C" $i += 1 $find[$i] = "~" $replace[$i] = "%7E" $i += 1 $find[$i] = "@" $replace[$i] = "%40" $i += 1 $find[$i] = "€" $replace[$i] = "%E2%82%AC" $i += 1 $find[$i] = "´" $replace[$i] = "%C2%B4" $i += 1 $find[$i] = "`" $replace[$i] = "%60" $i += 1 $find[$i] = "!" $replace[$i] = "%21" $i += 1 $find[$i] = "'" $replace[$i] = "%27" $i += 1 $find[$i] = "^" $replace[$i] = "%5E" $i += 1 $find[$i] = "+" $replace[$i] = "%2B" $i += 1 $find[$i] = "&" $replace[$i] = "%26" $i += 1 $find[$i] = "(" $replace[$i] = "%28" $i += 1 $find[$i] = ")" $replace[$i] = "%29" $i += 1 $find[$i] = "=" $replace[$i] = "%3D" $i += 1 $find[$i] = "é" $replace[$i] = "%C3%A9" $i += 1 $find[$i] = "£" $replace[$i] = "%C2%A3" $i += 1 $find[$i] = "#" $replace[$i] = "%23" $i += 1 $find[$i] = "$" $replace[$i] = "%24" $i += 1 $find[$i] = "½" $replace[$i] = "%C2%BD" $i += 1 $find[$i] = "{" $replace[$i] = "%7B" $i += 1 $find[$i] = "[" $replace[$i] = "%5B" $i += 1 $find[$i] = "]" $replace[$i] = "%5D" $i += 1 $find[$i] = "}" $replace[$i] = "%7D" $i += 1 GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $iLink RegWrite($ProgramRegPath, "Link", "REG_SZ", GUICtrlRead($iLink)) Case $iFolder RegWrite($ProgramRegPath, "Folder", "REG_SZ", GUICtrlRead($iFolder)) Case $Browse Local $newFolder = FileSelectFolder("Dropbox içindeki Public klasörünü seçiniz", "", Default, @MyDocumentsDir & "\My Dropbox\Public\", $form) If $newFolder <> "" Then GUICtrlSetData($iFolder, $newFolder) RegWrite($ProgramRegPath, "Folder", "REG_SZ", GUICtrlRead($iFolder)) EndIf Case $Go CreateList() EndSwitch WEnd Func DisableEnableGUI($state) GUICtrlSetState($iLink, $state) GUICtrlSetState($iFolder, $state) GUICtrlSetState($Browse, $state) GUICtrlSetState($Go, $state) EndFunc ;==>DisableEnableGUI Func CreateList() Local $Path = GUICtrlRead($iFolder) If $Path == "" Then GUICtrlSetData($StatusBar, "Klasör Giriniz!") Return ElseIf Not FileExists($Path) Then GUICtrlSetData($StatusBar, "Geçersiz Klasör!") Return EndIf Local $preLink = GUICtrlRead($iLink) While StringCompare(StringRight($preLink, 1), "/") == 0 $preLink = StringTrimRight($preLink, 1) WEnd While StringCompare(StringRight($Path, 1), "\") == 0 $Path = StringTrimRight($Path, 1) WEnd DisableEnableGUI($GUI_DISABLE) Local $FileList = $Path & "\" & $FileListName Local $hndlFile = FileOpen($FileList, 2 + 8 + 128) If $hndlFile == -1 Then GUICtrlSetData($StatusBar, "Dosya açılamadı: " & $FileList) DisableEnableGUI($GUI_ENABLE) Return EndIf Local $LinkList = $Path & "\" & $LinkListName Local $hndlLink = FileOpen($LinkList, 2 + 8 + 128) If $hndlLink == -1 Then GUICtrlSetData($StatusBar, "Dosya açılamadı: " & $LinkList) DisableEnableGUI($GUI_ENABLE) Return EndIf Local $FileNo = 0 FileWriteLine($hndlLink, AlignRight(">", 5) & @TAB & "Tarih :" & @TAB & @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & " " & @SEC) FileWriteLine($hndlLink, "") FileWriteLine($hndlFile, AlignRight(">", 5) & @TAB & "Tarih :" & @TAB & @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & " " & @SEC) FileWriteLine($hndlFile, AlignRight(">", 5) & @TAB & "Yol :" & @TAB & $Path) FileWriteLine($hndlFile, "") AdlibEnable("ShowStatus") $StatusText = $Path ShowStatus() FileWriteLine($hndlFile, AlignRight(" ", 5) & @TAB & "Public") List($FileNo, 0, $Path, $preLink, $hndlFile, $hndlLink) $StatusText = "Listeleme tamamlandı." ShowStatus() AdlibDisable() FileClose($hndlFile) FileClose($hndlLink) DisableEnableGUI($GUI_ENABLE) EndFunc ;==>CreateList Func List(ByRef $FileNo, $Depth, $Folder, $preLink, $hndlFile, $hndlLink) ; önce klasörleri bul Local $src = FileFindFirstFile($Folder & "\*") If $src == -1 Then FileWriteLine($hndlFile, AlignRight("x", 5) & @TAB & TreeForm($Folder, $Depth)) Return EndIf While True Local $file = FileFindNextFile($src) If @error == 1 Then ExitLoop If FileExists($Folder & "\" & $file & "\") Then $StatusText = $Folder & "\" & $file & "\" FileWriteLine($hndlFile, AlignRight(" ", 5) & @TAB & TreeForm($file, $Depth)) List($FileNo, $Depth + 1, $Folder & "\" & $file, $preLink & "/" & WebFormat($file), $hndlFile, $hndlLink) EndIf WEnd FileClose($src) ; sonra dosyaları bul $src = FileFindFirstFile($Folder & "\*") If $src == -1 Then FileWriteLine($hndlFile, AlignRight("x", 5) & @TAB & TreeForm("< dosyalar listelenemiyor >", $Depth + 1)) Return EndIf While True Local $file = FileFindNextFile($src) If @error == 1 Then ExitLoop If Not FileExists($Folder & "\" & $file & "\") Then $StatusText = $Folder & "\" & $file $FileNo += 1 FileWriteLine($hndlFile, AlignRight($FileNo, 5) & @TAB & TreeForm($file, $Depth)) FileWriteLine($hndlLink, AlignRight($FileNo, 5) & @TAB & WebFormat($preLink & "/" & $file)) EndIf WEnd FileClose($src) EndFunc ;==>List Func TreeForm($str, $Depth) Local $pre = "| " Local $i = 0 $str = "| -- " & $str For $i = 1 To $Depth Step 1 $str = $pre & $str Next Return $str EndFunc ;==>TreeForm Func WebFormat($str) For $i = $charCount - 1 To 0 Step -1 If StringInStr($str, $find[$i], 1) <> 0 Then $str = StringReplace($str, $find[$i], $replace[$i], 0, 1) EndIf Next Return $str EndFunc ;==>WebFormat Func AlignRight($str, $len) While StringLen($str) < $len $str = " " & $str WEnd Return $str EndFunc ;==>AlignRight Func ShowStatus() GUICtrlSetData($StatusBar, $StatusText) EndFunc ;==>ShowStatus