Newsgroup: it.comp.lang.delphi
Titolo: Utilizzare file *.res

Salve a tutti.
Con gli opportuni strumemti ho generato da un *.avi  un file formato res.
Pensavo, quindi, di visualizzare il res utilizzando MediaPlayer, ma non ci
sono riuscito.
Questo è stato fatto:
...
implementation
{$R *.dfm}
{$R Prova.RES}
Cortesemente potreste dirmi come risolvere il problema.
Grazie e ciao
Matteo

 ha scritto :

tutto quì !!
Cioè solo questo è stato fatto per visualizzare questo RES ?
Se è così, credo che manchi la parte più importante, l'estrazione della
risorsa.
La direttiva di compilazione che hai aggiunto tu, serve solamente ad
includere il file risorsa all'interno dell'eseguibile.
Ma una volta che avvi il tuo programma, devi aver previsto anche un sistema
per estrarre questa risorsa e passarla al tuo MediaPlayer.
Tu hai previsto qualcosa di tutto ciò ?
Ad esempio, le soluzioni da seguire possono essere 2.
La prima : estrai la risorsa e la salvi su un file che poi passi al
MediaPlayer.
La seconda ... più complicata : invece di salvare su file, estrai la risorsa
e gliela passi al MediaPlayer tramite uno stream.....ma questa onestamente
me la devo riguardare anch'io visto che non uso il MediaPlayer da un bel
pezzo.
Ti saluto....
Antonio Tarolla


Il link che ti ho dato l'hai guardato ????????????????????????????????????????
"To show the animation inside the cool.avi (remember it was defined in the .rc
file) we'll use the TAnimate component (Win32 palette) - drop it on to the
main form. Let the name of the Animate component be the default one: Animate1.
We'll use the OnCreate event of a form to display the animation: 
procedure TForm1.FormCreate(Sender: TObject);
begin
 with Animate1 do begin
  ResName := 'cool';
  ResHandle := hInstance;
  Active := TRUE;
 end;
end;
"
-- 
Morde. 
(
mo...@despammed.com
)
M-List di icld: 
http://it.groups.yahoo.com/group/icld/

Salve a tutti
Il link l'ho guardato e riguardato. Soltanto che sono sorti una serie di
problemi.
Come prima cosa, da quello che ho capito, il componente TAnimate non
permette di visualizzare file *. avi di tipo multimediale infatti, ho
provato a fargli leggere il file sorgente da cui ho ricavato il *.res e
viene visualizzato il messaggio file not open ecc.
Quindi ho provato con il componente MediaPlayer, il file *. avi viene
visualizzato perfettamente.
A questo punto ho cercato di adattare il codice, ma con scarsi risultati,
poichč, evidentemente la struttura di questo componente č diversa da
TAnimate.
Nello stesso articolo č presente un esempio che utilizza il componente
MediaPlayer per ascoltare file MP3, ma il codice riportato, da quanto ho
capito ha la funzione di estrarre la risorsa audio direttamenta dall' MP3,
sono seguiti quindi vari tentativi di adattamento, ma anche questa volta con
scarsi risultati.
Quindi, sbagliando, ho aperto un altro thread, scusatemi., dove appunto mi
si dice che manca la cosa piů importante l'estrazione della risorsa.
Ho provato e riprovato alla fine mi sono arreso.
Ma come devo estrarre questa benedetta risorsa?
Grazie per la vostra attenzione.
Ciao da Matteo


Io farei cosě
procedure TForm1.estrairisorsa(Sender:Tobject);
  var resstr:TResourceStream;
begin
(* 'VIDEO' č l'identificatore della risorsa che tu hai specificato, 'avi' č
il formato che dovresti aver specificato nel file RC se si tratta di un file
avi *)
  resstr:= TResourceStream.Create(hinstance, 'VIDEO', 'avi');
  resstr.SaveToFile(gettempdir + 'Video.avi');
  resstr.Free ;
  MediaPlayer.FileName := gettempdir + 'Video.avi';
  .....
  .....
end;
la riga del file RC da cui generi il file res dovrebbe essere questa:
 VIDEO AVI Video.avi
Ciao
Andrea