Récupérer le nom de l'image affichée dans un TPIcture

Résolu
Yil2201 Messages postés 134 Date d'inscription mercredi 1 décembre 2004 Statut Membre Dernière intervention 10 août 2008 - 17 juil. 2007 à 17:32
Yil2201 Messages postés 134 Date d'inscription mercredi 1 décembre 2004 Statut Membre Dernière intervention 10 août 2008 - 19 juil. 2007 à 10:01
Salut !
Voilà, le titre est bien explicite, je voudrais récupérer le nom de l'image ouverte dans un TPicture.
Pas le nom, mais plutôt le chemin complet "C:/..../12.jpg"

Merci,
A+!

6 réponses

florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
18 juil. 2007 à 18:27
Ou plus souple, avec une petite variante du TStringList que voici :

<hr size="2" width="100%" />  TEnhancedStringList = class(TStringList)
  public
    function FindStringFromObject(AObject: TObject): string;
  end;

implementation

function TEnhancedStringList.FindStringFromObject(AObject: TObject): string;
var
  I: Integer;
begin
  Result := '';
  for I := Count - 1 downto 0 do
    if Objects[I] = AObject then
    begin
      Result := Strings[I];
      Exit;
    end;
end;
<hr size="2" width="100%" />
Tu crée une variables globale FileNames: TEnhancedStringList que tu crée dans le OnCreate de la fiche.
Ensuite, à chaque endroit où tu fais Picture.LoadFromFile(xxxxx) tu ajoute en dessous: FileNames.AddObject(xxxxxx, Picture)

Pour rechercher un nom de fichier de Pic, il suffit donc de faire FileNames.FindStringFromObject(Pic)

Et voila !
++
Flo
3
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
17 juil. 2007 à 18:29
ah ça ... il faut le faire a l'ouverture de l'image...
TPicture ne garde pas le nom de l'image ouverte, me semble t'il.
0
cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 2
17 juil. 2007 à 20:29
Bonsoir à toutes et à tous,

@ Yil2201, Foxi à raison, peut être ce code pourra t'aider.


op1 = TOpenPictureDialog

procedure TFTest.BTestClick(Sender: TObject);
begin
if op1.execute then
 Imagetest.picture.LoadFromFile(Op1.FileName);
 labeltest.caption := op1.FileName;
end;

@+,

Cincap

[url]mailto:/url
0
Yil2201 Messages postés 134 Date d'inscription mercredi 1 décembre 2004 Statut Membre Dernière intervention 10 août 2008
17 juil. 2007 à 20:38
Salut !
Merci pour l'OpenDialog, ça fonctionnera donc avec une partie de mon soft, mais l'autre partie chargeait les images depuis une liste ou depuis des aperçus ... contenus dans des TPictures ...

Merci,
A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cincap Messages postés 460 Date d'inscription dimanche 5 décembre 2004 Statut Membre Dernière intervention 6 avril 2009 2
18 juil. 2007 à 08:43
Bonjour à toutes et à tous,

@ Yil2201, même principe, quel est le composant utilisé pour ta liste, si c'est un TlistView, en mettant sa propriété sur "Vsreport" et en créant une colonne dénomée "Path" tu auras tous les chemins des images chargées dans ta ListView.

@+,

Cincap

[url]mailto:/url
0
Yil2201 Messages postés 134 Date d'inscription mercredi 1 décembre 2004 Statut Membre Dernière intervention 10 août 2008
19 juil. 2007 à 10:01
Salut.

Merci beaucoup, ça fonctionne !

A+
0
Rejoignez-nous