1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| procedure TForm1.Rafrichir1Click(Sender: TObject);
Var n:integer;
taille:extended;
ListItem:TListItem;
liste:TStringList;
resultat,DossierCourant,x,x2:string;
Ext : pchar;
Icone: TIcon;
begin
liste:=TStringList.Create;
Icone:= TIcon.Create;
listview1.Clear;
liste.Clear;
if not (IdFTP1.Connected) then Button1.onclick(sender);
DossierCourant:=IdFTP1.RetrieveCurrentDir;
ComboBox1.Text:=DossierCourant;
ComboBox1.Items.Add(DossierCourant);
IdFTP1.List(liste,'',false);
IdFTP1.ChangeDir(DossierCourant);
richedit1.lines.add('Transfert de liste fichier en cours...');
repeat
x:=liste[0];
n:=ListView1.Items.Count;
if (idftp1.Size(x)) <= 0 then
begin
ListItem:=ListView1.Items.Add;
richedit1.SelAttributes.Color:=clnavy;
richedit1.Lines.Add(x);
ListItem.Caption:=x;
ListItem.SubItems.Add('Dossier');
ListView1.Items[n].ImageIndex:=0;
end else begin
Ext:=Pchar(ExtractFileExt(x));//Recuperer l'icon de l'extention de fichier
Icone.Handle := GetAssociatedIcon(Ext);
ImageList1.AddIcon(Icone);
ListItem:=ListView1.Items.Add;
richedit1.SelAttributes.Color:=clnavy;
richedit1.Lines.Add(x);
ListItem.Caption:=x;
taille:=idftp1.Size(x)/1024;
if taille<1 then
ListItem.SubItems.Add(floattostr(int(taille*1024))+' Octets')
else ListItem.SubItems.Add(floattostr(int(taille))+' Ko');
listview1.Items[n].ImageIndex := ImageList1.Count -1;
end; liste.Delete(0);
until liste.Count=0;
richedit1.SelAttributes.Color:=clgreen;
richedit1.lines.add('Transfert Terminé');
end; |
Partager