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

Signaler
Messages postés
134
Date d'inscription
mercredi 1 décembre 2004
Statut
Membre
Dernière intervention
10 août 2008
-
Messages postés
134
Date d'inscription
mercredi 1 décembre 2004
Statut
Membre
Dernière intervention
10 août 2008
-
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

Messages postés
1023
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
17 août 2008
2
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
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
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.
Messages postés
460
Date d'inscription
dimanche 5 décembre 2004
Statut
Membre
Dernière intervention
6 avril 2009
2
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
Messages postés
134
Date d'inscription
mercredi 1 décembre 2004
Statut
Membre
Dernière intervention
10 août 2008

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+
Messages postés
460
Date d'inscription
dimanche 5 décembre 2004
Statut
Membre
Dernière intervention
6 avril 2009
2
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
Messages postés
134
Date d'inscription
mercredi 1 décembre 2004
Statut
Membre
Dernière intervention
10 août 2008

Salut.

Merci beaucoup, ça fonctionne !

A+