Treeview et tlistbox

Signaler
Messages postés
104
Date d'inscription
samedi 23 décembre 2000
Statut
Membre
Dernière intervention
9 mai 2013
-
 Utilisateur anonyme -
bonsoir

je possede un treeview en affichant telecharer et musique
ensuite g un listbox

lorque je veux cliquer sur le telecharger du treeview il doit afficher les fichiers du rep dans la listbox : FindAll('C:\Users\eClem\Downloads\*.*',faAnyFile,ListBox1.Items);

et quand je veux cliquer sur le telecharger du treeview il doit afficher les fichiers du rep dans la listbox : FindAll('C:\Users\eClem\Music\*.mp3',faAnyFile,ListBox1.Items);



voici tous mon code :




unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, XPMan, ComCtrls, CommCtrl,StdCtrls, ShellAPI, ShlObj, ActiveX, Menus,
OleCtrls, IdIPWatch, IdAntiFreezeBase, IdAntiFreeze, IdTCPServer, IdStack,
IdCmdTCPServer, IdExplicitTLSClientServerBase, IdFTPServer, IdFTP, IdHTTP,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, SHDocVw,
IdMessage, IdIntercept, IdLogBase, IdLogEvent;

type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
XPManifest1: TXPManifest;
Timer1: TTimer;
PopupMenu1: TPopupMenu;
Actualiser1: TMenuItem;
Button1: TButton;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TreeView1: TTreeView;
ListBox1: TListBox;
Button2: TButton;
WebBrowser1: TWebBrowser;
Utilisateur: TTabSheet;
TreeView2: TTreeView;
Splitter1: TSplitter;
Panel1: TPanel;
IdTCPClient1: TIdTCPClient;
IdHTTP1: TIdHTTP;
IdFTP1: TIdFTP;
IdFTPServer1: TIdFTPServer;
IdAntiFreeze1: TIdAntiFreeze;
IdIPWatch1: TIdIPWatch;
Label1: TLabel;
Label2: TLabel;
TabSheet3: TTabSheet;
ListBox2: TListBox;
IdLogEvent1: TIdLogEvent;
IdMessage1: TIdMessage;
Button3: TButton;
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
procedure TreeView1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);

procedure IdFTPServer1Status(ASender: TObject; const AStatus: TIdStatus;
const AStatusText: string);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
mn : TTreeNode;
tn : ttreenode;
ftp_node : TTreeNode;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
uses unit2;
{$R *.dfm}

function GetSpecialFolder(aFolder: Integer): String; { Tino (Admin DF) }
var
pIdL: PItemIDList;
Path: Array [0..Max_Path] Of Char;
Allocator: IMalloc;
Begin
{ ItemIdList f�r den Ordner holen }
SHGetSpecialFolderLocation (0, aFolder, pIdL);

{ ItemIdList in String umwandeln lassen }
SHGetPathFromIDList (pIDL, Path);

{ Speicher wieder freigeben }
If Succeeded (SHGetMalloc (Allocator)) Then
Begin
Allocator.Free (pIdL);
{$IFDEF VER100}
Allocator.Release;
{$ENDIF}
End;

Result := Path;
end;
procedure FindAll (const Path: String;
Attr: Integer;
List: TStrings) ;
var
Res: TSearchRec;
EOFound: Boolean;
begin
EOFound:= False;
if FindFirst(Path, Attr, Res) < 0 then
exit
else
while not EOFound do begin
List.Add(Res.Name) ;
EOFound:= FindNext(Res) <> 0;
end;
FindClose(Res) ;
end;
procedure SetTreeViewItemHeight(aTreeView: TTreeView; aItemHeight: Word);
begin
aTreeView.Perform(TVM_SETITEMHEIGHT, aItemHeight, 0);
end;


procedure TForm1.Timer1Timer(Sender: TObject);
var i :integer;
begin
Statusbar1.Panels[1].Text:=TimeToStr(Now);
for i:=0 to Pred(GStack.LocalAddresses.Count) do
Statusbar1.Panels[2].Text:=Format('IP n°%d = %s',[i+1,GStack.LocalAddress[i]]);

end;

procedure TForm1.FormCreate(Sender: TObject);
var
Folder: String;

begin
SetTreeViewItemHeight(TreeView1, 30);
WebBrowser1.Navigate('http://www.eclem68.fr/');
StatusBar1.Panels[0].Text:=GetSpecialFolder(CSIDL_COMMON_MUSIC);
//mn := TreeView1.Items.AddChild(TreeView1.Items.GetFirstNode, 'Home') ;
mn := treeview1.Items.AddChild(mn,'Musique');
tn := treeview1.Items.AddChild(tn,'Téléchargé');
ftp_node := treeview2.Items.AddChild(TreeView2.Items.GetFirstNode,'Server FTP Home');
ftp_node := treeview2.Items.AddChild(ftp_node,'Clem68 Server');
TreeView1.Items[0].Data:=nil;
TreeView1.Items[1].Data:=ListBox1.Items;
TreeView1.Items[2].data:=ListBox1.Items;
//Affectation d'une référence sur un noeud de l'arborescence
Listbox1.Tag := Longint(TreeView1.Items[0]);
Listbox1.Tag := Longint(TreeView1.Items[1]);
Listbox1.Tag := Longint(TreeView1.Items[2]);
ftp_node.MakeVisible;
mn.MakeVisible;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Application.Terminate;
end;

procedure TForm1.IdFTPServer1Status(ASender: TObject; const AStatus: TIdStatus;
const AStatusText: string);
begin
Label2.Caption:=AStatusText;
Listbox2.Items.Add(AStatusText);
end;



procedure TForm1.Button1Click(Sender: TObject);
begin
idftpserver1.DefaultPort:=21;
idftpserver1.Active:=true;

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
form2.ShowModal;
end;

procedure TForm1.TreeView1Click(Sender: TObject);
begin

//FindAll('C:\Users\eClem\Music\*.mp3',faAnyFile,ListBox1.Items);

end;


procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
var i : integer;
begin
{Vérifier que le noeud sélectionné pointe sur quelque chose avant
de changer l'onglet actif sur le contôle PageControl1}
For i := 0 To ListBox1.Items.Count - 1do
begin
if Assigned(mn.Data) then begin

begin
ListBox1.Clear;
FindAll('C:\Users\eClem\Music\*.mp3',faAnyFile,ListBox1.Items);

end;

if Assigned(tn.Data) then begin

begin
Listbox1.Clear;
FindAll('C:\Users\eClem\Downloads\*.*',faAnyFile,ListBox1.Items);

end;
end;
end;
end;
end;
end.



Cordialement
A voir également:

4 réponses

Messages postés
104
Date d'inscription
samedi 23 décembre 2000
Statut
Membre
Dernière intervention
9 mai 2013

une ptite reponse s il vous plais sa serais simpas


cordialement

Comment veux tu que l'on poste une réponse, tu n'as posé aucune question : relis ton message .

Depuis le temps que tu es sur CS, tu pourrais utiliser la balise code
Messages postés
104
Date d'inscription
samedi 23 décembre 2000
Statut
Membre
Dernière intervention
9 mai 2013

Enfaite dans ma ttreeview j'ai 2 ITEM "Télécharger" et "Mes Documents" et losque je clique sur l'un des item il doit afficher dans une tlistview les fihiers du répertoire
avec mon code je n y arrive pas
donc voila je demande un peu d aide

Avant que l'on t'aide :

*Supprime les trucs inutiles : Si on veut t'aider il y a un sacré nettoyage à faire avant, dans le code que tu as posté. Ca donne pas envie

*Indente ton code : Ce que tu as posté est illisible et ne donne pas envie

*Renomme tes composants

*Utilise la balise code

T'es plut un débutant (en théorie) donc fait un effort (Pour toi et les autres) surtout que ce n'est pas la première fois que l'on te le dit.

Fais ca : Puis ensuite reposte ton code et ta question