bonjour à tous
j'ai un tout petit problème avec delphi
je voudrais ouvrir juste les fichiers de type BMP
comment dois je faire?
merci d'avance
bonjour à tous
j'ai un tout petit problème avec delphi
je voudrais ouvrir juste les fichiers de type BMP
comment dois je faire?
merci d'avance
Pourriez vous donner plus de détails?
Utilisez le composant OpenPictureDialog de la palète 'Supplements'.
je vais vous donner une description de mon application
j'ai un composant "edit" et un bouton "parcourir" lorsque je clique sur ce bouton ,,,une boite de dialogue s'affiche ,,,mais juste les repertoires ou les dossiers où se trouve les fichiers de type "BMP"
Bonjour, ça n'est pas évident de ne proposer à l'utilisateur que les répertoires qui contiendrait des fichiers BMP, cela voudrait dire que vous avez déjà parcouru tout les répertoires pour lister ceux qui en contiennent, stocké leur arborescence pour pouvoir y aller et présenter le tout à l'utilisateur. Dur
Pour ma part je vous conseillerais d'utiliser un TOpenPictureDialog comme le suggère maxinformatique qui filtre les fichiers pour ne laisser apparaître que les images et laisser l'utilisateur chercher tout seul l'image qu'il veut.
ça me semble trés proche
merci encore une fois
Salut,
Comme maxinformatique l'a indiqué, tu dois utiliser le composant OpenPictureDialog de l'onglet Dialogs (et non Supplément ... D7 au passage).
Une fois le composant posé sur ta form, tu vas dans la propriété Filter et tu supprimes toutes les lignes sauf le bmp vu que c'est cette extension que tu souhaite ouvrir.
Maintenant, tu rajoutes un TImage sur ta Form (onglet Supplément ce coup ci) et un bouton qui va permettre de choisir le fichier bmp désiré.
Il ne reste plus qu'à coder tout ça ce qui donne :
En espérant t'avoir aidé!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 procedure TForm1.Button1Click(Sender: TObject); begin if OpenPictureDialog1.Execute then begin Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName); end; end;
A+
[EDIT]
Post Croisé
D'accord avec Aka![]()
merci vous avez vraiment m'aider
mais il ya un petit truc
moi je ne veux pas que ce type de fichier sera dans le composant "image" je voudrais juste que lorsque je clique sur le bouton,,,une boite de dialogue s'affiche puis je vais selectionner mon fichier (qui est biensure de type "BMP") ,,,aprés le chemin complet de fichier sélectionné sera indiqué dans un composant "edit" ...c tout
et merci encore une fois![]()
Re,
Avec une petite adaptation tu t'en sort
Voilà!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 procedure TForm1.Button1Click(Sender: TObject); begin if OpenPictureDialog1.Execute then begin Edit1.Text:=OpenPictureDialog1.FileName; end; end;![]()
ton programme marche bien et je vous remerci
mais(toujours un mais!!!!) je voudrais ajouter un petit truc un mon programme
je veux que le point de depart de la boite de dialogue (la fenetre où je vais choisir le fichier) est selectionné par l'utilisateur (via un composant "combobox")...par exemple si un utilisateur a choisit "program files" comme un point de depart la fenetre demarre avec le repertoire program files, puis je vais choisir juste les images de type "BMP" (biensure ' d'apres vous ' via un filtrage) c tout
Salut,
Dans si je comprends bien, dans une combobox, il y aura une série d'items, notamment Program Files et tu veux que si l'utilisateur choisi dans cette liste cet item, en cliquant sur Ouvrir, on tombe directement sur le Program Files ? Il faut savoir une chose, c'est que le répertoire Program Files dépend de l'endroit ou est installé Windows ... Exemple, Si on installe Windows sur le C:\, alors ça sera C:\Program Files, pour le D, D: .... Enfin bref, est ce que j'ai bien saisi ta demande ?
oui c'est exactement ce que je veux
et en plus ce que je voudrais vous dire est que dans delphi existe un truc comme ça ' SelectDirectory (......PointDeDepart .......) (tel que point de depart a été choisi par l'utilisateur dans combobox) pour que le premier repertoire qui sera affiché est 'point de depart'......mais dans 'openpicture' je pense qu'il est impossible de le faire
Salut, ero-sennin !
Méfiance dans ce que tu racontes, là
Ma machine a Windows sur C:, Program Files sur D:, Documents and Settings sur E: et le Pagefile sur encore une autre partoche !
Oui, je sais, je suis compliqué, mais au moins j'ai pas à défragmenter,
Et si on pouvait changer le titre du topic (parce que tous ceux qui vont chercher "ouvrir fichiers BMP" vont tomber ici, et ça n'est pas du tout le cas, in fine...), ça serait cool, merci.
Re,
Je t'ai fait un petit code sympa qui, je l'espère, te permettra de comprendre :
Ca utilise les variables d'environnement ... Un petit tour sur Wikipédia et le tour est joué
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 // Fonction qui renvoie le Dossier correspondant à la variable d'environnement function GetEnvironnementVariableEx(const VariableName: string): string; var nSize: DWord; begin Result:= ''; nSize:= 0; nSize:= GetEnvironmentVariable(PChar(VariableName), Nil, nSize); if nSize > 0 then begin SetLength(Result, nSize - 1); if GetEnvironmentVariable(PChar(VariableName), PChar(Result), nSize)=0 then raise Exception.Create(SysErrorMessage(GetlastError)) end; end; //Création de mes items au début (pour te montrer juste) procedure TForm1.FormCreate(Sender: TObject); begin ComboBox1.Items.Add('Program Files'); ComboBox1.Items.Add('Dossier de l''utilisateur'); end; procedure TForm1.Button1Click(Sender: TObject); var Dossier:String; begin // Selon la 'ligne' sélectionné dans le combobox, on renvoie tel ou tel variable d'environnement ... case ComboBox1.ItemIndex of 0: Dossier:='ProgramFiles'; 1:Dossier:='USERPROFILE' else // Si on ne sélectionne rien, on va par défaut dans à la racine de l'OS Dossier:='SystemDrive'; end; // On dit à OpentPictureDialog où il doit s'ouvrir ... OpenPictureDialog1.InitialDir:=GetEnvironnementVariableEx(Dossier); if OpenPictureDialog1.Execute then Edit1.Text:=OpenPictureDialog1.FileName; end;
A+
[EDIT]
Merci @ toi Jipété pour ton apport d'infos! J'avais jamais rencontré ce cas là ...
Logiquement avec ce que j'ai posté, ça devrait fonctionner (enfin, je pense... jamais testé dans une tel config que la tienne)
merci infiniment ero-sennin pour votre patience et merci encore une fois pour tous
ton programme est parfait il marche bien
merci encore une fois
![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager