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

Composants VCL Delphi Discussion :

TRadioButton et image


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 27
    Par défaut TRadioButton et image
    Salut,

    Voilà j'aimerai faire qque chose de très ambitieux pour mon niveau actuelle ...

    J'ai trois boutons "TRadioButton" et une zone TImage avec un composant non visuel ImageList.

    En faite l'image ne doit pas être la même suivant ce que coche l'utilisateur .....

    J'ai regardé l'aide en ligne, lu plusieur tutorial mais bon c'est trés dur pour un début ...


    Merci vraiment des aides!!!

  2. #2
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Un premier conseil :

    utilise plutôt le composant TRadioGroup plutôt que plusieurs TRadioButton. Tu ajoute 3 lignes dans la propriété Items et tu obtiendra le même résultat.

    Ensuite, pour savoir quel est le RadioButton qui est coché tu utilise :

    Ensuite est ce que tu as beaucoup d'images? Est-ce qu'elles sont lourde? Sinon peut etre est-il envisageable de les charger en cours de programme depuis le disque dur (imaginons un répertoire avec toutes tes images nommées '0.bmp', '1.bmp', ...., 'N.bmp', et selon l'ItemIndex de ton RadioGroup tu charge telle ou telle image).


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Image1.Picture.LoadFromFile( IntToStr( RadioGroup1.ItemIndex ) + '.bmp' ) ;

  3. #3
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 27
    Par défaut
    Merci de ton aide sta83

    Voici ce que j'ai essayé de faire .....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure TForm1.RadioGroup1Click(Sender: TObject);
    var
    chemin : string;
    begin
    RadioGroup1.ItemIndex:=2 ;
    Case RadioGroup1.ItemIndex of
       0 : Image1.Picture.LoadFromFile( IntToStr( RadioGroup1.ItemIndex ) + '.bmp' ) ;
       1 :
       2 :
     end;
     
    end;

    Le problème est que lorsque je compile le prog on ne voie pas les boutons options.
    Puis il faut bien rentrer le chemin de l'image pour que le prog puisse charger l'image ....

  4. #4
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 27
    Par défaut
    comme sa cela doit etre mieux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure TForm1.RadioGroup1Click(Sender: TObject);
    begin
    RadioGroup1.ItemIndex:=2 ;
    Case RadioGroup1.ItemIndex of
       0 : Image1.Picture.LoadFromFile('C:\Documents and Settings\utili\Mes documents\Mes images\image.jpeg'  ) ;
       1 :  Image1.Picture.LoadFromFile('C:\Documents and Settings\utili\Mes documents\Mes images\image2.bmp'  ) ;
       2 :Image1.Picture.LoadFromFile('C:\Documents and Settings\utili\Mes documents\Mes images\image3.bmp'  ) ;
     end;
     
    end;
    mais je ne vois tjrs pas comment l'utilisateur peut entre le nombre "2" ou "1" .

  5. #5
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RadioGroup1.ItemIndex:=2 ;
    Tu ne dois pas affecter toi même ItemIndex, sinon tu chargera toujours la même image!


    En admettant que tes images se trouvent dans un répertoire 'Images' qui se trouve dans le même répertoire que ton exécutable :

    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
    procedure TForm1.RadioGroup1Click(Sender: TObject);
    var
    chemin : string;
    fichier : string;
    begin
    //récupératiuon du chemin de l'executable
      chemin = ExtractFilePath( Application.ExeName ) ;
      fichier = chemin + 'Images\' + IntToStr( RadioGroup1.ItemIndex ) + '.bmp' ;
    //test de l'existance du fichier  
      if FileExists( fichier ) then
      begin
        Image1.Picture.LoadFromFile( fichier ) ;
      end ;
     
    end;

    Le problème est que lorsque je compile le prog on ne voie pas les boutons options.
    Est ce que tu as compléter la propriété Items de ton RadioGroup?

  6. #6
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 27
    Par défaut
    _______________________________________ C'est le néant .......
    (Merci de persévérer pour moi )

    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
     
    procedure TForm1.RadioGroup1Click(Sender: TObject);
    var
    chemin : string;
    fichier : string;
    begin
    RadioGroup1.ItemIndex:=2;
     
    //récupération du chemin de l'executable
      chemin := ExtractFilePath( Application.ExeName ) ;
      fichier := chemin + 'Images\' + IntToStr( RadioGroup1.ItemIndex ) + '.bmp' ;
    //test de l'existance du fichier
      if FileExists( fichier ) then
      begin
        Image1.Picture.LoadFromFile( fichier ) ;
      end ;
     
    end;

    Le prog s'exécute mais lorsque je clique sur la zone TRadioGroup : rien ne se passe.. (j'ai bien ajouté le composant TImage avec Name:Image1)

  7. #7
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    enlève cette ligne qui ne sert a rien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RadioGroup1.ItemIndex:=2;
    Sinon se sera toujours l'image 2 qui sera chargée!

  8. #8
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 27
    Par défaut
    oui excuse moi j'ai oublié de l'enlevez; mais bon voici le code

    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
    procedure TForm1.RadioGroup1Click(Sender: TObject);
    var
    chemin : string;
    fichier : string;
    begin
    case RadioGroup1.ItemIndex of
        0:
     begin
    //récupération du chemin de l'executable
      chemin := ExtractFilePath( Application.ExeName ) ;
      fichier := chemin + 'Images\' + IntToStr( RadioGroup1.ItemIndex ) + '.bmp' ;
    //test de l'existance du fichier
      if FileExists( fichier ) then
      begin
        Image1.Picture.LoadFromFile( fichier ) ;
      end ;
    end;
        1: showmessage('a');
    end;

    Lorsque je coche la case 2 j'ai bien le message 'ah' Sinon lorsque je coche la 1 j'ai rien qui ne s'affiche.............
    D'où peut venir se problème ~~ ??

  9. #9
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 27
    Par défaut
    Toutes mes plates excuses ............................
    Jm'étais trompé de répertoire .............


    Et puis j'ai également comprit pourquoi il ne fallai pas utiliser de case..of

    Mer

    +

  10. #10
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Citation Envoyé par Napala Voir le message
    Et puis j'ai également comprit pourquoi il ne fallai pas utiliser de case..of
    Et pourquoi ne pas l'utiliser ? Très pratique pourtant.

  11. #11
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Citation Envoyé par Cl@udius Voir le message
    Et pourquoi ne pas l'utiliser ? Très pratique pourtant.
    Parce que d'après la question qu'il posait, le case of n'apportais rien.

    Si par contre NAPALA, tu souhaite effectuer des actions différentes en fonction du radiobutton qui est coché, là tu peux utiliser le case of.

    .

  12. #12
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 491
    Par défaut
    salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      Image1.Picture.Bitmap := Nil;
      ImageList.GetBitmap(radiobutton1.itemIndex,Image1.Picture.Bitmap)
    @+Phil

  13. #13
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 27
    Par défaut Ajout balises
    Citation Envoyé par anapurna
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      Image1.Picture.Bitmap := Nil;
      ImageList.GetBitmap(radiobutton1.itemIndex,Image1.Picture.Bitmap)


    Salut
    anapurna,

    ton code m'intéresse:
    si j'ai bien comprit dans la premier ligne tu di qu'il y a que dalle dans ton composant image1
    Puis dans la seconde ligne tu ajoute au composant "ImageList" l'image qu'à choisi l'utilisateur via le bouton ?

Discussions similaires

  1. Resize d'une image
    Par Anonymous dans le forum C
    Réponses: 6
    Dernier message: 13/07/2008, 22h23
  2. recherche des algorythmes pour images 2d
    Par exxos dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 24/05/2002, 13h46
  3. lire une image au format RAW
    Par Anonymous dans le forum OpenGL
    Réponses: 5
    Dernier message: 20/05/2002, 00h11
  4. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44
  5. Création image BMP
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 16h04

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