Ultima modifica:
Ciao a tutti, ci ho lavorato un po' (non molto xd 4 giorni) ed è saltato fuori uno pseudo client FTP non bruttissimo, vi posto qualche screen:
Tra le sue funzioni vi sono:
xD direi che è tutto, e come direbbero questi amorevoli figliuoli:
[align=center]
[/align]
Commentate pure se volete, e naturalmente scaricate
[size=large][align=center]DOWNLOAD[/align][/size]
Ed ecco per i più maliziosi (e saggi secondo me ) la scansione:
Risultato 1/40
Edit, oggi visto che non sapevo che fare ho deciso di postare il source completo del programma.... bè si ammetto che è scritto in modo piuttosto disordinato e alcune funzioni le potevo strutturare meglio.... ma è il mio stile (purtroppo)
Ecco a voi:
Sò già che è inutile ma lo scrivo lo stesso.... a questo programma ho lavorato quasi una settimana quindi gradirei che non venisse allegaramenente leechato
Commentate pure
Tra le sue funzioni vi sono:
- Elenco file con relative icone
- possibilità di creare directory
- possibilità di cancellare directory
- possibilità di uploadare files
- possibilità di rinominare files
- possibilità di cancellare files
- possibilità di ottenere molte info sui files (screen)
- possibilità di scaricare un qualunque file
- possibilità di salvare i dati di login
xD direi che è tutto, e come direbbero questi amorevoli figliuoli:
[align=center]
Commentate pure se volete, e naturalmente scaricate
[size=large][align=center]DOWNLOAD[/align][/size]
Ed ecco per i più maliziosi (e saggi secondo me ) la scansione:
Risultato 1/40
Codice:
a-squared 4.5.0.50 2010.05.10 -
AhnLab-V3 2010.05.12.01 2010.05.12 -
AntiVir 8.2.1.236 2010.05.12 -
Antiy-AVL 2.0.3.7 2010.05.12 -
Authentium 5.2.0.5 2010.05.12 -
Avast 4.8.1351.0 2010.05.12 -
Avast5 5.0.332.0 2010.05.12 -
AVG 9.0.0.787 2010.05.12 -
BitDefender 7.2 2010.05.12 -
CAT-QuickHeal 10.00 2010.05.12 -
ClamAV 0.96.0.3-git 2010.05.12 -
Comodo 4828 2010.05.12 -
DrWeb 5.0.2.03300 2010.05.12 -
eSafe 7.0.17.0 2010.05.11 -
eTrust-Vet 35.2.7483 2010.05.12 -
F-Prot 4.5.1.85 2010.05.12 -
F-Secure 9.0.15370.0 2010.05.12 Suspicious:W32/Malware!Gemini
Fortinet 4.1.133.0 2010.05.12 -
GData 21 2010.05.12 -
Ikarus T3.1.1.84.0 2010.05.12 -
Jiangmin 13.0.900 2010.05.12 -
Kaspersky 7.0.0.125 2010.05.12 -
McAfee 5.400.0.1158 2010.05.12 -
McAfee-GW-Edition 2010.1 2010.05.12 -
Microsoft 1.5703 2010.05.12 -
NOD32 5108 2010.05.12 -
Norman 6.04.12 2010.05.12 -
nProtect 2010-05-12.01 2010.05.12 -
Panda 10.0.2.7 2010.05.11 -
PCTools 7.0.3.5 2010.05.12 -
Rising 22.47.02.04 2010.05.12 -
Sophos 4.53.0 2010.05.12 -
Sunbelt 6294 2010.05.12 -
Symantec 20101.1.0.89 2010.05.12 -
TheHacker 6.5.2.0.279 2010.05.11 -
TrendMicro 9.120.0.1004 2010.05.12 -
TrendMicro-HouseCall 9.120.0.1004 2010.05.12 -
VBA32 3.12.12.4 2010.05.12 -
ViRobot 2010.5.12.2312 2010.05.12 -
VirusBuster 5.0.27.0 2010.05.12 -
Edit, oggi visto che non sapevo che fare ho deciso di postare il source completo del programma.... bè si ammetto che è scritto in modo piuttosto disordinato e alcune funzioni le potevo strutturare meglio.... ma è il mio stile (purtroppo)
Ecco a voi:
Codice:
;~ ================================================================================
;~ Program Name: Tidy FTP -FTP CLIENT-
;~ Author: Zyrel
;~ Distribuited on: Unfair-Gamers.com
;~ Version: 1.0.0
;~ Language: Italian
;~ Thanks to the creator of the <FTPEx.au3> header
;~ Thanks to MSDN.com
;~ PLEASE DON'T LEECH, IF YOU USE OR POSTS THIS SOURCE REPORT CREDITS OF AUTHOR.
;~ ===============================================================================
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <FTPEx.au3>
#include <Array.au3>
#include <GuiHeader.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>
#include <WindowsConstants.au3>
#include <GUIMenu.au3>
#include <ProgressConstants.au3>
#include <AVIConstants.au3>
#include <Sound.au3>
#RequireAdmin
#AutoIt3Wrapper_Run_Obfuscator=y
FileInstall("C:\Users\*****\Desktop\AVI.avi",@ScriptDir&"\AVI.avi")
FileInstall("C:\Users\*****\Desktop\shutdown.wav",@ScriptDir&"\shutdown.wav")
FileInstall("C:\Users\*****\Desktop\startup.wav",@ScriptDir&"\startup.wav")
FileInstall("C:\Users\*****\Desktop\ico.ico",@ScriptDir&"\ico.ico")
Local $hIcons[2]
local $Control,$Text,$Row,$Col,$Type
$hIcons[0] = _WinAPI_LoadShell32Icon (23)
$hIcons[1] = _WinAPI_LoadShell32Icon (40)
Local $hImage
Local $First_r = True
Global Enum $idOpen = 1000, $idSave, $idInfo, $idDir
Local $First_Run = True
Local $press = False
$f_server = IniRead(@HomeDrive&"\sig.ini","INFO","Server","")
$f_id = IniRead(@HomeDrive&"\sig.ini","INFO","Id","")
$f_pass = IniRead(@HomeDrive&"\sig.ini","INFO","Pwd","")
$f_porta = IniRead(@HomeDrive&"\sig.ini","INFO","Porta","21")
#Region ### START Koda GUI section ### Form=c:\users\lagalla\desktop\unknown_pk\koda_1.7.2.8_b247_2010-04-15\forms\form1.kxf
$Form1_1 = GUICreate("TidyFtp - FTP CLIENT BY ZYREL -", 617, 380, 192, 124)
GUISetIcon(@ScriptDir&"\ico.ico")
$gen = GuiCtrlCreateMenu("General")
$conn_m = GUICtrlCreateMenuItem("Login",$gen)
$refr = GUICtrlCreateMenuItem("Refresh",$gen)
$save = GUICtrlCreateMenuItem("Salva Dati Accesso",$gen)
$del1 = GUICtrlCreateMenuItem("Elimina Dati Accesso",$gen)
$opt = GuiCtrlCreateMenu("Azioni")
$scarica = GUICtrlCreateMenuItem("Scarica",$opt)
$set_dir = GUICtrlCreateMenuItem("Set Directory",$opt)
$info = GUICtrlCreateMenuItem("Info",$opt)
$cred = GuictrlCreateMenu("Credits")
$aut = GUICtrlCreateMenuItem("Creator",$cred)
$StatusBar1 = _GUICtrlStatusBar_Create($Form1_1, -1, "", BitOR($SBARS_TOOLTIPS,$WS_VISIBLE,$WS_CHILD))
Dim $StatusBar1_PartsWidth[3] = [100, 350, -1]
_GUICtrlStatusBar_SetParts($StatusBar1, $StatusBar1_PartsWidth)
_GUICtrlStatusBar_SetText($StatusBar1, "Status: Offline", 0)
_GUICtrlStatusBar_SetIcon($StatusBar1, 0 , _WinAPI_LoadShell32Icon (13))
_GUICtrlStatusBar_SetText($StatusBar1, "Operation: Not Correctly Done", 1)
_GUICtrlStatusBar_SetText($StatusBar1, @TAB & @TAB & "Distribuited By: Unfair-Gamers.com By Zyrel ", 2)
_GUICtrlStatusBar_SetMinHeight($StatusBar1, 17)
$Group1 = GUICtrlCreateGroup("", 0, -8, 616, 57)
$Label1 = GUICtrlCreateLabel("Server:", 8, 16, 38, 17)
$ftp = GUICtrlCreateInput($f_server, 48, 14, 81, 21)
$Label2 = GUICtrlCreateLabel("UserName:", 136, 16, 57, 17)
$Input1 = GUICtrlCreateInput($f_id, 192, 14, 81, 21)
$Label3 = GUICtrlCreateLabel("Password:", 280, 16, 53, 17)
$Input2 = GUICtrlCreateInput($f_pass, 340, 14, 81, 21,BitOR($GUI_SS_DEFAULT_INPUT,$ES_PASSWORD))
$Label4 = GUICtrlCreateLabel("Porta:", 432, 16, 32, 17)
$Input3 = GUICtrlCreateInput($f_porta, 464, 14, 81, 21)
$Button1 = GUICtrlCreateButton("LOGIN", 552, 13, 57, 22)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$list = _GUICtrlListView_Create($Form1_1, "", 10, 55, 367, 255)
_GUICtrlListView_SetExtendedListViewStyle($list, BitOR($WS_BORDER ,$LVS_SORTDESCENDING,$LVS_NOSCROLL, $LVS_EX_SUBITEMIMAGES,$LVS_EX_UNDERLINEHOT ,$LVS_EX_BORDERSELECT ,$LVS_NOSORTHEADER ,$LVS_NOSCROLL ,$LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES))
$hImage = _GUIImageList_Create()
_GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($list, 0xFF0000, 16, 16))
_GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($list, 0x00FF00, 16, 16))
_GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", -3)
_GUICtrlListView_SetImageList($list ,$hImage, 1)
;_GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 116)
;_GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 115)
_GUICtrlListView_InsertColumn($list, 0, "File Name", 170)
_GUICtrlListView_InsertColumn($list, 1, "File Attributes", 60)
_GUICtrlListView_InsertColumn($list, 2, "File Size", 60)
_GUICtrlListView_InsertColumn($list, 3, "Last Edit", 77)
GUICtrlCreateLabel("Directory:",380,57)
$directory = GUICtrlCreateInput("/",430,55,120,17)
$refresh = GuiCtrlCreateButton("SET",555,52,58,21)
$Group_up = GUICtrlCreateGroup("Files Upload",378,85,240,75)
GUICtrlCreateLabel("File:", 387, 108)
$up = GuictrlCreateInput("",410,105,175,21)
$up_open = GUICtrlCreateButton("...",585,105,30,21)
$up_go = GuictrlcreateButton("UPLOAD",460, 130, 75, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group_dir = GuictrlCreateGroup("Directory E Files Manager:",378,165,240,145)
GUICtrlCreateLabel("Create Dir:", 387, 187)
$makedir_txt = GuictrlCreateInput("Name", 455, 185, 100, 21)
$make_dir_do = GUICtrlCreateButton("CREATE",563,185,50,21)
GUICtrlCreateLabel("Delete Dir" , 387 , 215, -1 , 21)
$del_dir_txt = GUICtrlCreateInput("Name", 455, 212 , 100, 21)
$del_dir = GUICtrlCreateButton("DELETE", 563, 214, -1 , 21)
GUICtrlCreateLabel("Rename File:" , 387 , 244, -1 , 21)
$file_rn = GUICtrlCreateInput("New Name", 455, 242, 100, 21)
$file_rn_do = GUICtrlCreateButton("CREATE", 563 , 242, -1 , 21)
GUICtrlCreateLabel("Delete File:" , 387 , 276 , -1 , 21)
$file_del = GUICtrlCreateInput("Name", 455 , 274 , 100 , 21)
$file_del_do = GUICtrlCreateButton("DELETE", 563 , 273 , -1 , 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$UG = GUICtrlCreateLabel("http://unfair-gamers.com/forum/index.php", 10, 315, 250, 17)
GUICtrlSetFont(-1, 10, 400, 4, "MS Serif")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor (-1, 0)
$Rate = GUICtrlCreateLabel("Rate Me", 565, 315, 80, 17)
GUICtrlSetFont(-1, 10, 400, 4, "MS Serif")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor (-1, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
_GUICtrlListView_SetItemImage($list, 1, 1, 1)
$cont = 0
Func Check()
$col0 = _GUICtrlListView_GetColumnWidth($list,0)
If $col0 > 170 Then
_GUICtrlListView_SetColumnWidth($list,0,170)
EndIf
$col1 = _GUICtrlListView_GetColumnWidth($list,1)
If $col1 > 60 Then
_GUICtrlListView_SetColumnWidth($list,1,60)
EndIf
$col2 = _GUICtrlListView_GetColumnWidth($list,2)
If $col2 > 60 Then
_GUICtrlListView_SetColumnWidth($list,2,60)
EndIf
$col3 = _GUICtrlListView_GetColumnWidth($list,3)
If $col3 > 77 Then
_GUICtrlListView_SetColumnWidth($list,3,77)
EndIf
_GUICtrlListView_SetColumnWidth($list,3,77)
EndFunc
$over = 0
While 1
$win = WinGetPos($Form1_1,"")
$m_pos = MouseGetPos()
If $m_pos[0] >= $win[0] And $m_pos[0] <= $win[0] + $win[2] And $m_pos[1] >= $win[1] And $m_pos <= $win[1] + $win[3] Then
$over = 0
If $m_pos[0] >= $win[0] + 10 And $m_pos[0] <= $win[0] + 377 And $m_pos[1] >= $win[1] + 115 And $m_pos[1] <= $win[1] + 368 Then
$over = 1
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
GUIRegisterMsg($WM_CONTEXTMENU, "WM_CONTEXTMENU")
Else
$over = 0
EndIf
Else
$over = 0
EndIf
;Check()
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $save
IniWrite(@HomeDrive&"\sig.ini","INFO","Server",GuiCtrlread($ftp))
IniWrite(@HomeDrive&"\sig.ini","INFO","Id",GuiCtrlread($Input1))
IniWrite(@HomeDrive&"\sig.ini","INFO","Pwd",GuiCtrlread($Input2))
IniWrite(@HomeDrive&"\sig.ini","INFO","Porta",GuiCtrlread($Input3))
Case $del1
IniWrite(@HomeDrive&"\sig.ini","INFO","Server", "")
IniWrite(@HomeDrive&"\sig.ini","INFO","Id","")
IniWrite(@HomeDrive&"\sig.ini","INFO","Pwd","")
IniWrite(@HomeDrive&"\sig.ini","INFO","Porta","21")
Case $conn_m
_GUICtrlListView_DeleteAllItems($list)
$Net = Conn()
Find(GuictrlRead($directory))
$press = True
Case $Button1
_GUICtrlListView_DeleteAllItems($list)
$Net = Conn()
Find(GuictrlRead($directory))
$OpenS = _SoundOpen(@ScriptDir&"\"&$Net[6]&".wav")
_SoundPlay ($OpenS,0)
$press = True
Case $refr
Conn()
If $press = True Then
_GUICtrlListView_DeleteAllItems($list)
Find(GuictrlRead($directory))
$First_Run = False
If $First_Run = False Then GUiCtrlSetData($refresh,"REFRESH")
Else
$case = MsgBox(2,"ERRORE","DEVI PRIMA EFFETTUARE IL LOGIN")
If $case = 3 Then Exit
If $case = 10 Then Sleep(20)
If $case = 5 Then Sleep(30)
EndIf
FinD1()
Case $refresh
Conn()
If $press = True Then
_GUICtrlListView_DeleteAllItems($list)
;Find(GuictrlRead($directory))
$First_Run = False
If $First_Run = False Then GUiCtrlSetData($refresh,"REFRESH")
Else
$case = MsgBox(2,"ERRORE","DEVI PRIMA EFFETTUARE IL LOGIN")
If $case = 3 Then Exit
If $case = 10 Then Sleep(20)
If $case = 5 Then Sleep(30)
EndIf
FinD1()
Case $scarica
Scarica()
Case $info
FindV()
FinD1()
Case $set_dir
$dir1 = Inputbox("Set Directory","Inserire la nuova directory:","/dir")
GuiCtrlsetData($directory,$dir1)
If $press = True Then
_GUICtrlListView_DeleteAllItems($list)
Find($dir1)
$First_Run = False
If $First_Run = False Then GUiCtrlSetData($refresh,"REFRESH")
Else
$case = MsgBox(2,"ERRORE","DEVI PRIMA EFFETTUARE IL LOGIN")
If $case = 3 Then Exit
If $case = 10 Then Sleep(20)
If $case = 5 Then Sleep(30)
EndIf
Case $up_open
$loc_up = FileOpenDialog("Carica...",@DesktopDir,"All Formats (*.*)",2)
GuiCtrlsetData($up,$loc_up)
$split = StringSplit($loc_up,"\")
$max = _ArrayMax($split)
FileWrite(@TempDir&"\tmp1.txt",$split[$max])
Case $up_go
If $press = True Then
$Net = Conn()
Find1()
$dir2 = GuictrlRead($up)
$dir3 = GuiCtrlRead($directory)
If $dir3 = "/" Then
$dir3 = "/"
Else
$dir3 = GuiCtrlRead($directory)&"/"
EndIf
$red = FileRead(@TempDir&"\tmp1.txt")
$put = _FtpPutFile($Net[4],$dir2,$dir3&$red)
MsgBox(64,"INFORMATION","L' operazione è andata a buon fine"&@CR&"potrebbe essere necessario effettuare unrefresh per vedere le modifiche")
Else
$case = MsgBox(2,"ERRORE","DEVI PRIMA EFFETTUARE IL LOGIN")
If $case = 3 Then Exit
If $case = 10 Then Sleep(20)
If $case = 5 Then Sleep(30)
EndIf
FileDelete(@TempDir&"\tmp1.txt")
Case $make_dir_do
$Net = Conn()
If $press = True Then
$make = _FTPMakeDir($Net[4],Guictrlread($directory)&"/"&GuiCtrlRead($makedir_txt))
MsgBox(64,"INFORMATION","L' operazione è andata a buon fine"&@CR&"potrebbe essere necessario effettuare unrefresh per vedere le modifiche")
Else
$case = MsgBox(2,"ERRORE","DEVI PRIMA EFFETTUARE IL LOGIN")
If $case = 3 Then Exit
If $case = 10 Then Sleep(20)
If $case = 5 Then Sleep(30)
EndIf
Case $del_dir
If $press = True Then
$Net = Conn()
$dir3 = GuiCtrlRead($directory)
If $dir3 = "/" Then
$dir3 = "/"
Else
$dir3 = GuiCtrlRead($directory)&"/"
EndIf
_FTPDelDir($Net[4],$dir3&GuiCtrlRead($del_dir_txt))
MsgBox(64,"INFORMATION","L' operazione è andata a buon fine"&@CR&"potrebbe essere necessario effettuare unrefresh per vedere le modifiche")
Else
$case = MsgBox(2,"ERRORE","DEVI PRIMA EFFETTUARE IL LOGIN")
If $case = 3 Then Exit
If $case = 10 Then Sleep(20)
If $case = 5 Then Sleep(30)
EndIf
Case $file_rn_do
If $press = True Then
$Net = Conn()
$findv = FindV1()
_FTPRenameFile($Net[4],$findv[0],GuictrlRead($file_rn))
MsgBox(64,"INFORMATION","L' operazione è andata a buon fine"&@CR&"potrebbe essere necessario effettuare unrefresh per vedere le modifiche")
Else
$case = MsgBox(2,"ERRORE","DEVI PRIMA EFFETTUARE IL LOGIN")
If $case = 3 Then Exit
If $case = 10 Then Sleep(20)
If $case = 5 Then Sleep(30)
EndIf
Case $file_del_do
If $press = True Then
$Net = Conn()
$findv = FindV1()
$dir3 = GuiCtrlRead($directory)
If $dir3 = "/" Then
$dir3 = "/"
Else
$dir3 = GuiCtrlRead($directory)&"/"
EndIf
_FTPDelFile($Net[4],$dir3&GuictrlRead($file_del))
MsgBox(64,"INFORMATION","L' operazione è andata a buon fine"&@CR&"potrebbe essere necessario effettuare unrefresh per vedere le modifiche")
Else
$case = MsgBox(2,"ERRORE","DEVI PRIMA EFFETTUARE IL LOGIN")
If $case = 3 Then Exit
If $case = 10 Then Sleep(20)
If $case = 5 Then Sleep(30)
EndIf
Case $UG
ShellExecute("http://unfair-gamers.com/forum/index.php")
Case $Rate
ShellExecute("http://www.unfair-gamers.com/forum/reputation.php?action=add&uid=390")
Case $aut
Msgbox(65,"CREDITS",StringFormat("Il seguente client FTP è stato interamente realizzato da Zyrel\r\nnickname di Marco Lagalla, e ditribuito gratuitamente solo sul sito \r\nunfair-gamers.com, vietata con la seguente la vendita di tale programma.\r\nRilasciato sotto licenza GNU-GPL.\r\nVi auguro un buon uso del programma"))
EndSwitch
WEnd
_SoundClose($OpenS)
_FTP_Close($Net[4])
FileDelete(@TempDir&"\tmp1.txt")
FileDelete(@TempDir&"\tmp.txt")
Func Scarica()
$Net = Conn()
$dir = GuiCtrlRead($directory)
Dim $handle
Dim $DllRect
Dim $array
$cont = 0
$FileInfo = _FTPFileFindFirst($Net[4],$dir,$handle,$DllRect)
If $FileInfo[0] Then
Do
$txt = _GUICtrlListView_GetItemText($list,$cont)
$focus = _GUICtrlListView_GetItemState($list,$cont,$LVIS_FOCUSED)
If $FileInfo[10] = $txt And $focus = 1 Then
FileWrite(@TempDir&"\tmp.txt",$FileInfo[10])
$splitted = StringSplit($txt,".")
$Max_split = _ArrayMax($splitted)
$ftp_conn_string = "ftp://" & $Net[0] & ":" & $Net[1] & "@" & $Net[5] & $dir & $FileInfo[10]
_Scarica($ftp_conn_string,$splitted[$Max_split])
_FtpFileFindClose($handle, $DllRect)
EndIf
$FileInfo = _FtpFileFindNext($handle, $DllRect)
$cont = $cont + 1
Until Not $FileInfo[0]
EndIf
EndFunc
Func Find($dir)
$Net = Conn()
$dir = GuiCtrlRead($directory)
_FTP_DirSetCurrent($Net[4],$dir)
Dim $handle
Dim $DllRect
Dim $array
$cont = 0
$FileInfo = _FTPFileFindFirst($Net[4],$dir,$handle,$DllRect)
If $FileInfo[0] Then
Do
$dl_file = $FileInfo[10]
$riga = Add_Riga($list,$dl_File)
Add_Sub($list,$cont,1,$FileInfo[1])
Add_Sub($list,$cont,2,Round($FileInfo[9]/1024)&"KB")
Add_Sub($list,$cont,3,$FileInfo[7])
If $FileInfo[1] = "128" Then
$split3 = StringSplit($FileInfo[10],".")
$Max_split3 = _ArrayMax($split3)
If $split3[$Max_split3] = "txt" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 70), 0)
If $split3[$Max_split3] = "html" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 220), 0)
If $split3[$Max_split3] = "htm" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 220), 0)
If $split3[$Max_split3] = "gif" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "ico" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "jpg" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "jpeg" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "png" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "php" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 73), 0)
If $split3[$Max_split3] = "js" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 91), 0)
If $split3[$Max_split3] = "css" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 69), 0)
If $split3[$Max_split3] = "exe" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", -3), 0)
If $split3[$Max_split3] <> "txt" And $split3[$Max_split3] <> "html" And $split3[$Max_split3] <> "htm" And $split3[$Max_split3] <> "gif" And $split3[$Max_split3] <> "jpg" And $split3[$Max_split3] <> "jepg" And $split3[$Max_split3] <> "png" And $split3[$Max_split3] <> "ico" And $split3[$Max_split3] <> "php" And $split3[$Max_split3] <> "js" And $split3[$Max_split3] <> "css" And $split3[$Max_split3] <> "exe" Then
_GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 224), 0)
EndIf
EndIf
If $FileInfo[1] = "16" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 3), 0)
$FileInfo = _FtpFileFindNext($handle, $DllRect)
$cont = $cont + 1
Until Not $FileInfo[0]
EndIf
EndFunc
Func FinD1()
$Net = Conn()
$dir = GuiCtrlRead($directory)
Dim $handle
Dim $DllRect
Dim $array
$cont = 0
$FileInfo = _FTPFileFindFirst($Net[4],$dir,$handle,$DllRect)
If $FileInfo[0] Then
Do
$dl_file = $FileInfo[10]
$riga = Add_Riga($list,$dl_File)
Add_Sub($list,$cont,1,$FileInfo[1])
Add_Sub($list,$cont,2,Round($FileInfo[9]/1024)&"KB")
Add_Sub($list,$cont,3,$FileInfo[7])
$split3 = StringSplit($FileInfo[10],".")
$Max_split3 = _ArrayMax($split3)
If $split3[$Max_split3] = "txt" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 70), 0)
If $split3[$Max_split3] = "html" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 220), 0)
If $split3[$Max_split3] = "htm" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 220), 0)
If $split3[$Max_split3] = "gif" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "ico" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "jpg" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "jpeg" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "png" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "php" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 73), 0)
If $split3[$Max_split3] = "js" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 91), 0)
If $split3[$Max_split3] = "css" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 69), 0)
If $split3[$Max_split3] = "exe" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", -3), 0)
If $split3[$Max_split3] <> "txt" And $split3[$Max_split3] <> "html" And $split3[$Max_split3] <> "htm" And $split3[$Max_split3] <> "gif" And $split3[$Max_split3] <> "jpg" And $split3[$Max_split3] <> "jepg" And $split3[$Max_split3] <> "png" And $split3[$Max_split3] <> "ico" And $split3[$Max_split3] <> "php" And $split3[$Max_split3] <> "js" And $split3[$Max_split3] <> "css" And $split3[$Max_split3] <> "exe" Then
_GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 224), 0)
EndIf
If $FileInfo[1] = "16" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 3), 0)
$FileInfo = _FtpFileFindNext($handle, $DllRect)
$cont = $cont + 1
Until Not $FileInfo[0]
EndIf
EndFunc
Func FindV()
$Net = Conn()
$dir = GuiCtrlRead($directory)
Dim $handle
Dim $DllRect
Dim $array
$cont = 0
$FileInfo = _FTPFileFindFirst($Net[4],$dir,$handle,$DllRect)
If $FileInfo[0] Then
Do
$txt = _GUICtrlListView_GetItemText($list,$cont)
$focus = _GUICtrlListView_GetItemState($list,$cont,$LVIS_FOCUSED)
If $FileInfo[10] = $txt And $focus = 1 Then
MsgBox(0, "Find Infomations", "File Attributes: "&$FileInfo[1] & @CR & "Creation Time Low: "&$FileInfo[2] & @CR & "Creation Time High: "&$FileInfo[3] & @CR & "Access Time Low: "&$FileInfo[4] & @CR & "Access Time High: "&$FileInfo[5] & @CR & "Last Write Low: "&$FileInfo[6] & @CR & "Last Write High: "&$FileInfo[7] & @CR & "File Size High: "&$FileInfo[8] & @CR & "File Size Low: "&$FileInfo[9]&"KB" & @CR & "File Name: "&$FileInfo[10] & @CR &"Alter Name: "&$FileInfo[11])
ExitLoop
EndIf
$split3 = StringSplit($FileInfo[10],".")
$Max_split3 = _ArrayMax($split3)
If $split3[$Max_split3] = "txt" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 70), 0)
If $split3[$Max_split3] = "html" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 220), 0)
If $split3[$Max_split3] = "htm" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 220), 0)
If $split3[$Max_split3] = "gif" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "ico" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "jpg" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "jpeg" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "png" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "php" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 73), 0)
If $split3[$Max_split3] = "js" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 91), 0)
If $split3[$Max_split3] = "css" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 69), 0)
If $split3[$Max_split3] = "exe" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", -3), 0)
If $split3[$Max_split3] <> "txt" And $split3[$Max_split3] <> "html" And $split3[$Max_split3] <> "htm" And $split3[$Max_split3] <> "gif" And $split3[$Max_split3] <> "jpg" And $split3[$Max_split3] <> "jepg" And $split3[$Max_split3] <> "png" And $split3[$Max_split3] <> "ico" And $split3[$Max_split3] <> "php" And $split3[$Max_split3] <> "js" And $split3[$Max_split3] <> "css" And $split3[$Max_split3] <> "exe" Then
_GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 224), 0)
EndIf
If $FileInfo[1] = "16" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 3), 0)
$FileInfo = _FtpFileFindNext($handle, $DllRect)
$cont = $cont + 1
Until Not $FileInfo[0]
EndIf
EndFunc
Func FindV1()
Local $Ret[2]
$Net = Conn()
$dir = GuiCtrlRead($directory)
Dim $handle
Dim $DllRect
Dim $array
$cont = 0
$FileInfo = _FTPFileFindFirst($Net[4],$dir,$handle,$DllRect)
If $FileInfo[0] Then
Do
$txt = _GUICtrlListView_GetItemText($list,$cont)
$focus = _GUICtrlListView_GetItemState($list,$cont,$LVIS_FOCUSED)
$Ret[0] = $txt
$Ret[1] = $focus
If $FileInfo[10] = $txt And $focus = 1 Then
ExitLoop
EndIf
$split3 = StringSplit($FileInfo[10],".")
$Max_split3 = _ArrayMax($split3)
If $split3[$Max_split3] = "txt" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 70), 0)
If $split3[$Max_split3] = "html" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 220), 0)
If $split3[$Max_split3] = "htm" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 220), 0)
If $split3[$Max_split3] = "gif" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "ico" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "jpg" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "jpeg" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "png" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 142), 0)
If $split3[$Max_split3] = "php" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 73), 0)
If $split3[$Max_split3] = "js" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 91), 0)
If $split3[$Max_split3] = "css" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 69), 0)
If $split3[$Max_split3] = "exe" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", -3), 0)
If $split3[$Max_split3] <> "txt" And $split3[$Max_split3] <> "html" And $split3[$Max_split3] <> "htm" And $split3[$Max_split3] <> "gif" And $split3[$Max_split3] <> "jpg" And $split3[$Max_split3] <> "jepg" And $split3[$Max_split3] <> "png" And $split3[$Max_split3] <> "ico" And $split3[$Max_split3] <> "php" And $split3[$Max_split3] <> "js" And $split3[$Max_split3] <> "css" And $split3[$Max_split3] <> "exe" Then
_GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 224), 0)
EndIf
If $FileInfo[1] = "16" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 3), 0)
$FileInfo = _FtpFileFindNext($handle, $DllRect)
$cont = $cont + 1
Until Not $FileInfo[0]
EndIf
Return $Ret
EndFunc
Func Conn()
Local $Ret[7]
$Server = GuiCtrlRead($ftp)
$ID = GuiCtrlRead($Input1)
$Pass = GuiCtrlRead($Input2)
$Porta = GuiCtrlRead($Input3)
$Open = _FTPOpen("My FTP Control")
$Conn = _FTPConnect($Open,$Server,$ID,$Pass,$Porta)
If $Conn <> 0 Then
$true = 1
_GUICtrlStatusBar_SetText($StatusBar1, "Status: Online", 0)
_GUICtrlStatusBar_SetText($StatusBar1, "Operation: Correctly Working", 1)
EndIf
If $Conn = 0 Then
$true = 0
_GUICtrlStatusBar_SetText($StatusBar1, "Status: Offline", 0)
_GUICtrlStatusBar_SetText($StatusBar1, "Operation: An Error Occurred In Login", 1)
EndIf
If $true = 1 Then
$l = "startup"
Else
$l = "shutdown"
EndIf
$Ret[0] = $ID
$Ret[1] = $Pass
$Ret[2] = $Porta
$Ret[3] = $Open
$Ret[4] = $Conn
$Ret[5] = $Server
$Ret[6] = $l
Return $Ret
EndFunc
Func Add_Riga($Control,$Text)
_GUICtrlListView_AddItem($Control, $Text, 0)
EndFunc
Func Add_Sub($Control,$Row,$Col,$Text)
_GUICtrlListView_AddSubItem($Control, $Row, $Text, $Col)
EndFunc
Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
Switch $iwParam
Case $idOpen
Scarica()
Case $idInfo
FindV()
EndSwitch
EndFunc
Func Folder_C()
$Net = Conn()
$dir = GuiCtrlRead($directory)
Dim $handle
Dim $DllRect
Dim $array
$cont = 0
$FileInfo = _FTPFileFindFirst($Net[4],$dir,$handle,$DllRect)
If $FileInfo[0] Then
Do
$txt = _GUICtrlListView_GetItemText($list,$cont)
$focus = _GUICtrlListView_GetItemState($list,$cont,$LVIS_FOCUSED)
$stringa = StringRight(Guictrlread($directory),1)
If $FileInfo[1] = "16" Then
If $FileInfo[10] = $txt And $focus = 1 Then
If $stringa = "/" Then
GuiCtrlSetData($directory,Guictrlread($directory)&$txt)
_GUICtrlListView_DeleteAllItems($list)
FindV()
Else
GuiCtrlSetData($directory,Guictrlread($directory)&"/"&$txt)
_GUICtrlListView_DeleteAllItems($list)
FindV()
EndIf
EndIf
Else
EndIf
If $FileInfo[1] = "128" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", -3), 0)
If $FileInfo[1] = "16" Then _GUICtrlListView_SetItemImage($list, $cont, _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 3), 0)
$FileInfo = _FtpFileFindNext($handle, $DllRect)
$cont = $cont + 1
Until Not $FileInfo[0]
EndIf
EndFunc
Func WM_CONTEXTMENU($hWnd, $iMsg, $iwParam, $ilParam)
Local $hMenu
$hMenu = _GUICtrlMenu_CreatePopup ()
_GUICtrlMenu_InsertMenuItem ($hMenu, 0, "Scarica", $idOpen)
_GUICtrlMenu_InsertMenuItem ($hMenu, 3, "", 0)
_GUICtrlMenu_InsertMenuItem ($hMenu, 3, "Info", $idInfo)
_GUICtrlMenu_TrackPopupMenu ($hMenu, $iwParam)
_GUICtrlMenu_DestroyMenu ($hMenu)
Return True
EndFunc
Func _Exit()
If @exitCode <> 0 Then FileDelete(@TempDir&"\tmp.txt")
EndFunc
Func _FTPOpen($s_Agent, $l_AccessType = 1, $s_ProxyName = '', $s_ProxyBypass = '', $l_Flags = 0)
Local $ai_InternetOpen = DllCall('wininet.dll', 'long', 'InternetOpen', 'str', $s_Agent, 'long', $l_AccessType, 'str', $s_ProxyName, 'str', $s_ProxyBypass, 'long', $l_Flags)
If @error OR $ai_InternetOpen[0] = 0 Then
SetError(-1)
Return 0
EndIf
Return $ai_InternetOpen[0]
EndFunc
Func _FTPConnect($l_InternetSession, $s_ServerName, $s_Username, $s_Password, $i_ServerPort = 0, $l_Service = 1, $l_Flags = 0, $l_Context = 0)
Local $ai_InternetConnect = DllCall('wininet.dll', 'long', 'InternetConnect', 'long', $l_InternetSession, 'str', $s_ServerName, 'int', $i_ServerPort, 'str', $s_Username, 'str', $s_Password, 'long', $l_Service, 'long', $l_Flags, 'long', $l_Context)
If @error OR $ai_InternetConnect[0] = 0 Then
SetError(-1)
Return 0
EndIf
Return $ai_InternetConnect[0]
EndFunc
Func _FTPPutFile($l_FTPSession, $s_LocalFile, $s_RemoteFile, $l_Flags = 0, $l_Context = 0)
Local $ai_FTPPutFile = DllCall('wininet.dll', 'int', 'FtpPutFile', 'long', $l_FTPSession, 'str', $s_LocalFile, 'str', $s_RemoteFile, 'long', $l_Flags, 'long', $l_Context)
If @error OR $ai_FTPPutFile[0] = 0 Then
SetError(-1)
Return 0
EndIf
Return $ai_FTPPutFile[0]
EndFunc
Func _FTPDelFile($l_FTPSession, $s_RemoteFile)
Local $ai_FTPPutFile = DllCall('wininet.dll', 'int', 'FtpDeleteFile', 'long', $l_FTPSession, 'str', $s_RemoteFile)
If @error OR $ai_FTPPutFile[0] = 0 Then
SetError(-1)
Return 0
EndIf
Return $ai_FTPPutFile[0]
EndFunc
Func _FTPRenameFile($l_FTPSession, $s_Existing, $s_New)
Local $ai_FTPRenameFile = DllCall('wininet.dll', 'int', 'FtpRenameFile', 'long', $l_FTPSession, 'str', $s_Existing, 'str', $s_New)
If @error OR $ai_FTPRenameFile[0] = 0 Then
SetError(-1)
Return 0
EndIf
Return $ai_FTPRenameFile[0]
EndFunc
Func _FTPMakeDir($l_FTPSession, $s_Remote)
Local $ai_FTPMakeDir = DllCall('wininet.dll', 'int', 'FtpCreateDirectory', 'long', $l_FTPSession, 'str', $s_Remote)
If @error OR $ai_FTPMakeDir[0] = 0 Then
SetError(-1)
Return 0
EndIf
Return $ai_FTPMakeDir[0]
EndFunc
Func _FTPDelDir($l_FTPSession, $s_Remote)
Local $ai_FTPDelDir = DllCall('wininet.dll', 'int', 'FtpRemoveDirectory', 'long', $l_FTPSession, 'str', $s_Remote)
If @error OR $ai_FTPDelDir[0] = 0 Then
SetError(-1)
Return 0
EndIf
Return $ai_FTPDelDir[0]
EndFunc
Func _FTPClose($l_InternetSession)
Local $ai_InternetCloseHandle = DllCall('wininet.dll', 'int', 'InternetCloseHandle', 'long', $l_InternetSession)
If @error OR $ai_InternetCloseHandle[0] = 0 Then
SetError(-1)
Return 0
EndIf
Return $ai_InternetCloseHandle[0]
EndFunc
Func _FTPFileFindFirst($l_FTPSession, $s_RemoteFile, ByRef $h_Handle, ByRef $l_DllStruct, $l_Flags = 0, $l_Context = 0)
Local $str = "int;uint[2];uint[2];uint[2];int;int;int;int;char[256];char[14]"
$l_DllStruct = DllStructCreate($str)
if @error Then
SetError(-2)
Return ""
endif
Dim $a_FTPFileList[1]
$a_FTPFileList[0] = 0
Local $ai_FTPPutFile = DllCall('wininet.dll', 'int', 'FtpFindFirstFile', 'long', $l_FTPSession, 'str', $s_RemoteFile, 'ptr', DllStructGetPtr($l_DllStruct), 'long', $l_Flags, 'long', $l_Context)
If @error OR $ai_FTPPutFile[0] = 0 Then
SetError(-1)
Return $a_FTPFileList
EndIf
$h_Handle = $ai_FTPPutFile[0]
$FileName = DllStructGetData($l_DllStruct, 9)
Dim $a_FTPFileList[12]
$a_FTPFileList[0] = 12
$a_FTPFileList[1] = DllStructGetData($l_DllStruct, 1) ; File Attributes
$a_FTPFileList[2] = DllStructGetData($l_DllStruct, 2, 1) ; Creation Time Low
$a_FTPFileList[3] = DllStructGetData($l_DllStruct, 2, 2) ; Creation Time High
$a_FTPFileList[4] = DllStructGetData($l_DllStruct, 3, 1) ; Access Time Low
$a_FTPFileList[5] = DllStructGetData($l_DllStruct, 3, 2) ; Access Time High
$a_FTPFileList[6] = DllStructGetData($l_DllStruct, 4, 1) ; Last Write Low
$a_FTPFileList[7] = DllStructGetData($l_DllStruct, 4, 2) ; Last Write High
$a_FTPFileList[8] = DllStructGetData($l_DllStruct, 5) ; File Size High
$a_FTPFileList[9] = DllStructGetData($l_DllStruct, 6) ; File Size Low
$a_FTPFileList[10] = DllStructGetData($l_DllStruct, 9) ; File Name
$a_FTPFileList[11] = DllStructGetData($l_DllStruct, 10) ; Altername
Return $a_FTPFileList
EndFunc
Func _FTPFileFindNext($h_Handle, $l_DllStruct)
Dim $a_FTPFileList[1]
$a_FTPFileList[0] = 0
Local $ai_FTPPutFile = DllCall('wininet.dll', 'int', 'InternetFindNextFile', 'long', $h_Handle, 'ptr', DllStructGetPtr($l_DllStruct))
If @error OR $ai_FTPPutFile[0] = 0 Then
SetError(-1)
Return $a_FTPFileList
EndIf
Dim $a_FTPFileList[12]
$a_FTPFileList[0] = 12
$a_FTPFileList[1] = DllStructGetData($l_DllStruct, 1) ; File Attributes
$a_FTPFileList[2] = DllStructGetData($l_DllStruct, 2, 1) ; Creation Time Low
$a_FTPFileList[3] = DllStructGetData($l_DllStruct, 2, 2) ; Creation Time High
$a_FTPFileList[4] = DllStructGetData($l_DllStruct, 3, 1) ; Access Time Low
$a_FTPFileList[5] = DllStructGetData($l_DllStruct, 3, 2) ; Access Time High
$a_FTPFileList[6] = DllStructGetData($l_DllStruct, 4, 1) ; Last Write Low
$a_FTPFileList[7] = DllStructGetData($l_DllStruct, 4, 2) ; Last Write High
$a_FTPFileList[8] = DllStructGetData($l_DllStruct, 5) ; File Size High
$a_FTPFileList[9] = DllStructGetData($l_DllStruct, 6) ; File Size Low
$a_FTPFileList[10] = DllStructGetData($l_DllStruct, 9) ; File Name
$a_FTPFileList[11] = DllStructGetData($l_DllStruct, 10) ; Altername
Return $a_FTPFileList
EndFunc
Func _FTPFileFindClose($h_Handle, $l_DllStruct)
;~ DllStructDelete($l_DllStruct)
Local $ai_FTPPutFile = DllCall('wininet.dll', 'int', 'InternetCloseHandle', 'long', $h_Handle)
If @error OR $ai_FTPPutFile[0] = 0 Then
SetError(-1)
Return ""
EndIf
Return $ai_FTPPutFile[0]
EndFunc
Func _FTPGetFile($l_FTPSession, $s_RemoteFile, $s_LocalFile, $l_Flags = 2, $l_Fail = -1, $l_Attributes = 0, $l_Context = 0)
Local $ai_FTPGetFile = DllCall('wininet.dll', 'int', 'FtpGetFile', 'long', $l_FTPSession, 'str', $s_RemoteFile, 'str', $s_LocalFile, 'long', $l_Fail, 'long', $l_Attributes, 'long', $l_Flags, 'long', $l_Context)
If @error OR $ai_FTPGetFile[0] = 0 Then
SetError(-1)
Return 0
EndIf
Return $ai_FTPGetFile[0]
EndFunc
Func _Scarica($URLFile,$est)
Local $Form2, $progressbar1,$var,$String,$String2,$var2,$hex,$SRando,$show,$msc,$Sleep,$Statu, $sdf,$sdf2, $saveas, $size, $begin, $s ,$GetActive ,$dif ,$o , $Timer , $FileSize , $Downloading ,$Progress ,$i , $percent ,$Cal ,$p ,$e, $Speed ,$sr ,$y , $timeleft,$ET,$KBLeft,$T,$r,$bak
While $String <= 0
$bak = ClipGet()
If @Error = 1 Then
MsgBox(0, "Attenzione!!!", "Davvero Vuoi Uscire?.")
Exit
EndIf
$String = StringInStr ($URLFile,"http://") Or StringInStr ($URLFile,"ftp://")
If $String = 0 Then
MsgBox(0, "Errore", "Un errore non gestito è stato riscontrato.")
EndIf
WEnd
$var = StringRight($URLFile,20)
$var2 = Random (0,10000,1)
$Name_read = Fileread(@TempDir&"\tmp.txt")
$saveas = FileSaveDialog("Salva...",@DesktopDir,"Alls Extentions (*.*)",2,$Name_read)
If @Error = 1 Then
MsgBox(0, "Attenzione", "Non hai salvato il file")
$String2 = StringInStr ($saveas,":\")
ElseIf @Error = 0 Then
MsgBox(0, "Attenzione", "Il Tuo File Sarà salvato In :" &$saveas )
EndIf
$size = InetGetSize($URLFile)
$begin = TimerInit()
$s = Int ($size / 1024)
$msc = InetGet($URLFile, $saveas , 1, 1)
$Form2 = GUICreate("DOWNLOAD MANAGER", 340, 155)
$Progress = GUICtrlCreateProgress(10, 5, 300, 20, $PBS_SMOOTH)
$FileSize = GUICtrlCreateLabel("File Size (KB) :", 10, 30, 200, 30)
$Downloading = GUICtrlCreateLabel("Downloading (KB) :", 10, 45, 200, 30)
$Timer = GUICtrlCreateLabel("Timer (Sec) :", 10, 60, 200, 30)
$Cal = GUICtrlCreateLabel("% (Sec) :", 10, 75, 200, 30)
$Speed = GUICtrlCreateLabel("Speed :", 10, 90, 200, 30)
$timeleft = GUICtrlCreateLabel("Expectant Time In :", 10, 105, 200, 30)
$ET = GUICtrlCreateLabel("Time Left :", 10, 120, 200, 30)
$KBLeft = GUICtrlCreateLabel("KB Left :", 10, 135, 200, 30)
$Statu = GUICtrlCreateLabel("State",180, 40, 300, 70)
GUICtrlCreateAvi("AVI.avi",0, 280, 110, 32, 32, $ACS_AUTOPLAY)
GUISetState()
If $msc = 0 Then
$sdf = "Impossibile connettersi" & @CRLF & "al server." & @CRLF & "Download fallito" & @CRLF & "Prova nuovamente."
Else
$sdf2 = "Connessione al server effettuata." & @CRLF & "Il tuo download sta partendo."
EndIf
While @InetGetActive
$GetActive = (@InetGetBytesRead / 1024)
$percent = ($GetActive / $s ) *100
$dif = TimerDiff($begin)
$p = Int ($percent)
$o = Round ($dif / 1000 , 2)
$e = Int ($GetActive / $o)
$y = Round ( ($s / ($e * 60)) ,2 )
$r = Int ( $T / $e)
$T = Int (( $size - @InetGetBytesRead ) /1024)
$show = Hex($GetActive, 2)
GUICtrlSetData($Progress, $percent)
GUICtrlSetData($FileSize , "File Size :" & $s & " KB" )
GUICtrlSetData($Downloading , "Downloading :" & $GetActive & " KB" )
GUICtrlSetData($Timer ,"Timer :" & $o & " Sec" )
GUICtrlSetData($Cal ,"Complete :" & $p & " %" )
GUICtrlSetData($Speed , "Speed :" & $e & " Kb/Sec")
GUICtrlSetData($ET , "Expectant Time In :" & $y & " Min")
GUICtrlSetData($timeleft , "Time Left :" & $r & " Sec")
GUICtrlSetData($KBLeft , "KB Left :" & $T & " KB")
GUICtrlSetData($Statu , $sdf & $sdf2 & @CRLF & $show )
Sleep (500)
WEnd
$dif = TimerDiff($begin)
MsgBox(4096, "Download Completato", "Salvato In :" & $saveas & @CRLF & "File Size (KB) :" & $s & @CRLF & "Tempo Trascorso (Sec) :" & $o)
GuiDelete($Form2)
FileDelete(@TempDir&"\tmp.txt")
EndFunc
Commentate pure