Newsgroup: it.comp.lang.delphi
Titolo: Problemi di caricamento di un'immagine JPEG in una TImage

 Salve ragazzi,volevo caricare unimmagine JPEG dal disco e metterla 
dentro una TImage.Il codice che ho steso e' il seguente:
Unit..........
Interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, 
  Forms, Dialogs, jpeg, ExtCtrls, StdCtrls;
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var Form1: TForm1;
    Carta: TImage;
implementation
{$R *.dfm}
// associo all'evento click il caricamento e quindi la visualizzazione
// dell'immagine
procedure TForm1.Button1Click(Sender: TObject);
begin
  Carta := TImage.Create(Self); // creo la TImage a run-time 
  Carta.AutoSize := True; // adatta la TImage all'immagine 
  Carta.Left := 100;  Carta.Top := 100; // posizionamento TImage
  Carta.Picture.LoadFromFile('AssoCoppe.jpeg'); // caricamento immagine
end;
Il problema e' il seguente:quando vado a eseguire il programma viene 
visualizzato il seguente messaggio di errore:" Cannot open 
file.....\AssoCoppe.jpeg.Impossibile trovare il file specificato. ".
Premetto che il file esiste ( ed e' di tipo JPEG ) e si trova nella 
stessa cartella dove sono presenti i file del programma.Da cosa puo' 
dipendere quindi questo messaggio di errore? Aiuto.......Grazie mille 
ciao a tutti.
--- posted by geoForum on 
http://www.delphiedintorni.it

 dipendere quindi questo messaggio di errore?
Non trova il file dove se lo aspetta. 
tpicture.loadfromfile si aspetta il percorso completo a partire dalla root.
Usa
tpicture.loadfromfile(extractfilepath(application.exename)+'assodicoppe.jpeg'
Ciao
-- 
Morde


Ho usato l'istruzione che mi hai detto tu e cioe' ho scritto cosi':
Carta.Picture.LoadFromFile(extractfilepath(application.exename 
+ 'AssoCoppe.jpeg') ma mi da' ancora lo stesso errore perche'?


 + 'AssoCoppe.jpeg') ma mi da' ancora lo stesso errore perche'?
Se usi un becero copia incolla non server a niente: fatti una show message
del file che risulta, e confrontalo con il percorso del vero file.
Dacci queste info per favore.
PercorsoFile := ExtractFilePath(application.exename) + 'AssoCoppe.jpeg');
try
	Carta.Picture.LoadFromFile(percorsofile);
except
	on e:exception do 
		showmessage(e.message);
end;
-- 
Morde


Ho fatto quello che tu mi hai detto e ho modificato la procedura cosi':
Procedure TForm1.Button1Click(Sender: TObject);
Begin
  Carta := TImage.Create(Self);  Carta.AutoSize := True;  Carta.Left := 
100;  Carta.Top := 100;
  Try
    Carta.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) 
+ 'AssoCoppe.jpeg');
  Except
    On E:Exception do
      Showmessage(E.Message);
  End;
End;
Il problema ancora persiste in quanto ho gia' verificato piu' volte il 
percorso del file cioe' sia quello della finestra di errore che quello 
reale e sono uguali , ma il file pero' c'e' porco D........



Per Morde:ho provato a cambiare solo l'estensione del file da jpeg a jpg 
e non mi da' piu' errore quando premo il bottone ( strano no? ).....ma 
l'immagine non viene visualizzata.Forse bisogna aggiungere qualche altra 
istruzione?
