Afficher une image dans une zone Timage

Signaler
Messages postés
152
Date d'inscription
lundi 21 avril 2008
Statut
Membre
Dernière intervention
20 novembre 2011
-
 Nanou89 -
Bonjour,

Je suis débutant sur Delphi mais j'ai regardé pas mal de tutorial...
Voici mon probléme :
Je souhaite afficher une image dans une zone Timage selon qu'aura sélectionner l'utilisateur dans la zone TRadioGroup
radiogroup1.itemIndex:=2;
Les images se trouvent dans un dossier "Images" dans l'exécutable....

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;
end;

................ il affiche bien le "a" quand je clique sur le bp n°2 mais lorsque je clique sur le bp n°1 QUE DALLE ..........
Pourtant le chemin du fichier est CORRECT;;;;
merci!

5 réponses

Messages postés
991
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
29 août 2013
5
peut etre que l'evenement n'est pas lancé quand tu click sur le 1 parceque il est deja checked.

Essaye de mettre le meme code sur les 1 avec une autre image, et essaye de clicker dessus. normalement ca devrait marcher, ton code a l'air correct
Messages postés
4716
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
11
bonsoir,
mets un point d'arrêt sur :
Case RadioGroup1.ItemIndex of
et teste sa valeur

cantador
Messages postés
207
Date d'inscription
mercredi 5 mars 2003
Statut
Membre
Dernière intervention
29 mars 2013
5
fichier := chemin + 'Images\' + IntToStr( RadioGroup1.ItemIndex ) + '.bmp' ;

ne veut-tu pas dire plutôt :


fichier := chemin + 'Images\' + IntToStr( RadioGroup1.Items[
RadioGroup1.
ItemIndex] ) + '.bmp' ;




SISI231
Messages postés
207
Date d'inscription
mercredi 5 mars 2003
Statut
Membre
Dernière intervention
29 mars 2013
5
Excuse moi j'ai dis une bêtise
SISI231
procedure TForm1.ButtonChargerImageClick(Sender: TObject);
var
ImgExt : string;
Jpeg: TJpegImage;
begin
if OpenPicture.Execute then
begin
//le traitement se fera d'après l'extension du fichier
ImgExt := LowerCase(ExtractFileExt(OpenPicture.FileName));

//Bitmap
if ImgExt = '.bmp' then
Image1.Picture.Bitmap.LoadFromFile(OpenPicture.FileName);

//Jpeg
if (ImgExt = '.jpg') or (ImgExt = '.jpeg') then
begin
Jpeg := TJpegImage.Create;
try
Jpeg.LoadFromFile(OpenPicture.FileName);
//copie de l'image du jpeg dans un bitmap
Image1.Picture.Bitmap.Assign(Jpeg);
finally
Jpeg.Free;
end;

end; {if (ImgExt = '.JPG') or (ImgExt = '.JPEG')}

//icones
if ImgExt = '.ico' then
Image1.Picture.Icon.LoadFromFile(OpenPicture.FileName);

//wmf et emf
if Pos(ImgExt, GraphicFileMask(TMetaFile)) <> 0 then
Image1.Picture.Metafile.LoadFromFile(OpenPicture.FileName);

//afficher le nom du fichier dans un espace restreint
LabelNomImage.caption := MinimizeName(OpenPicture.FileName,
LabelNomImage.Canvas,
LabelNomImage.Width);
end; {if OpenPicture.Execute}

end;




Bonjour, Ci-dessus tu trouvears le code complet pour ce que tu souhaites faire.