guigui265
Messages postés113Date d'inscriptionmercredi 29 novembre 2000StatutMembreDernière intervention16 avril 2006
-
10 avril 2006 à 11:23
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 2022
-
11 avril 2006 à 16:21
bonjour,
j'ai un formulaire ou j'affiche une image que j'ouvre avec un openpicturedialog. je voudrais ensuite faire comme le fais l'afficheur de windows, pouvoir afficher l'image suivante et précédente a la place, en cliquant sur un bouton suivant ou précedent.
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 10 avril 2006 à 12:54
Salut Guillaume,
pour cela c'est assez simple tu mets dans une StringList toutes les images que tu veux visionner et il te faut également un Index pour mémoriser le numéro de l'image en cour:
Var ImageName : TStringList;
Idx : Integer;
procedure TForm1.FormCreate(Sender: TObject);
begin ImageName := TStringList.Create; // on crée la List
end ;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin ImageName.Free; // On libere dès qu'on en a plus besoin
end;
Remplir la List:
Var Sr : TSearchRec;
Begin ImageName.Clear; // Vide la list
If FindFirst('C:\Mes Images\*.jpg', faAnyFile, Sr) = 0 Then Begin ImageName.Add(Sr.Name); // ajoute de nouvelle images
While FindNext(Sr) = 0 Do
ImageName.Add(Sr.Name); // ajoute de nouvelle images
FindClose(Sr);
End;
End;
bouton suivant:
Begin Inc(Idx); // On incrémente l'index
If Idx > ImageName.Count - 1 Then Idx : = 0; // on verifie les dépassement
Image1.Picture.LoadFromFile(ImageName.Strings[Idx]); // et on affiche l'image
End;
bouton précédant:
Begin Dec(Idx); // On Décrémente l'index
If Idx < 0 Then Idx := ImageName.Count - 1; // on verifie les dépassement
Image1.Picture.LoadFromFile(ImageName.Strings[Idx]); // et on affiche l'image
End;
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 202250 11 avril 2006 à 16:21
ah oui pardon! c'est en faite une procedure :
Var ImageName : TStringList;
Idx : Integer;
Chemin : String;
Procedure ChercheImages(Directory : String);
Var Sr : TSearchRec;
Begin ImageName.Clear; // Vide la list
If FindFirst(Directory + '*.jpg', faAnyFile, Sr) = 0 Then
Begin ImageName.Add(Directory + Sr.Name); // ajoute de nouvelle images
While FindNext(Sr) = 0 Do ImageName.Add(Directory + Sr.Name); // ajoute de nouvelle images
FindClose(Sr);
End;
End;
procedure TForm1.FormCreate(Sender: TObject);
begin ImageName := TStringList.Create; // on crée la List
Chemin : = 'C:\Mes Images\';
ChercheImages(Chemin);
end;