IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Changement conditionnel d'image dans un Timage


Sujet :

Langage Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 36
    Points : 35
    Points
    35
    Par défaut Changement conditionnel d'image dans un Timage
    Bonjour à tous,

    je voudrais changer une image en cliquant dessus en fonction de ce qu'elle contient. Voilà ce que j'ai écrit.
    Mais apparemment ça ne marche pas.
    J'ai fait des showmessages pour afficher les variables Path et le Path de l'image9. J'ai des contenus bizarres.
    Je n'y comprends rien.
    Pour le Path, il me met '\' dedans...
    Et pour l'image, le getnamepath renvoie 'Tpicture'...
    je ne sais pas pourquoi...
    Quelqu'un peut m'expliquer ce qui se passe quie je puisse ciomprendre?
    je vous remercie pour toutes vos aides.


    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
     
    .
    .
    .
    Path:=Application.GetNamePath+'\';
    .
    .
    .
     
    procedure TForm1.Click6(Sender: TObject);
          begin
            if image4.Picture.GetNamePath=Path+'Good.bmp' then
              image4.Picture.Bitmap.LoadFromFile('Moins.bmp')
            else
              if image4.Picture.GetNamePath=Path+'Moins.bmp' then
                image4.Picture.Bitmap.LoadFromFile('Good.bmp')
              else
                if image4.Picture.GetNamePath=Path+'Bad.bmp' then
                  image4.Picture.Bitmap.LoadFromFile('Plus.bmp')
                else
                  image4.Picture.Bitmap.LoadFromFile('Bad.bmp');
          end;

  2. #2
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 290
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 290
    Points : 1 941
    Points
    1 941
    Par défaut
    reagrde l'aide sur getNamePath, elle est réservée à un usage interne.

    Je ne pense pas que le TPicture garde le chemin de l'image qui est cahrgée. Cela va être à toi de le gérer.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 36
    Points : 35
    Points
    35
    Par défaut
    J'ai codé avec une variable qui me dit quelle image j'ai dans mon Timage.
    En VB, c'est directement faisable de questionner le path de la picture. je pensais qu'en delphi ça l'était aussi.

    Merci pour ton aide.

  4. #4
    Fxg
    Fxg est déconnecté
    Membre éclairé
    Homme Profil pro
    ingénieur financier
    Inscrit en
    Septembre 2003
    Messages
    510
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ingénieur financier

    Informations forums :
    Inscription : Septembre 2003
    Messages : 510
    Points : 837
    Points
    837
    Par défaut
    C'est plutôt ExtractFilePath qu'il faut utiliser.

  5. #5
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 674
    Points : 7 063
    Points
    7 063
    Par défaut
    Citation Envoyé par Fxg Voir le message
    C'est plutôt ExtractFilePath qu'il faut utiliser.
    ???

    Quel rapport avec le TImage ?

  6. #6
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 290
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 290
    Points : 1 941
    Points
    1 941
    Par défaut
    C'était pour le Application.GetNamePath

    ça serait plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ExtractFilePath(Application.ExeName)

  7. #7
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 290
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 290
    Points : 1 941
    Points
    1 941
    Par défaut
    Sinon en conception, avoir le chemin dans l'image, je ne pense pas que ce soit une très bonne chose. On mélange l'affichage avec l'état de l'objet.

    Je mettrais plus quelque chose du genre:

    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
     
    type TMonEtat = (meGood,meBad, meMoins, mePlus);
     
    const 
      cstImageNames = array[TMonEtat] of String = ('Good.bmp','Bad.bmp','Moins.bmp','Plus.bmp');
    var
    gState : TMonEtat; // Cette vraible peut-être n'importe où, dans un objet, dans la partie implémentation, dans la form
     
    procedure TForm1.Click6(Sender: TObject);
          begin
     
     
    case gState of
    meGood:gState := meMoins;
    meBad:gState := mePlus;
    meMoins:gState := meGood;
    mePlus:gState := meBad;
    end;
     
      image4.Picture.LoadFromFile(Path+cstImageNames [gState]);
    end;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ouvrir une image dans un timage
    Par Nadirov dans le forum Delphi
    Réponses: 1
    Dernier message: 12/08/2006, 20h32
  2. [TImageList] Charger une image dans un TImage
    Par xenos dans le forum Delphi
    Réponses: 5
    Dernier message: 17/05/2006, 18h30
  3. Charger une image dans un Timage
    Par michel71 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/04/2006, 08h55
  4. une nouvelle image dans un Timage stretch
    Par copeau31 dans le forum Composants VCL
    Réponses: 5
    Dernier message: 26/01/2006, 15h00
  5. Garder la proportionalité de l'image dans un TImage
    Par Bourak dans le forum Composants VCL
    Réponses: 1
    Dernier message: 28/10/2005, 15h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo