Newsgroup: it.comp.lang.visual-basic
Titolo: File contenuti in .res

Salve, come faccio a richiamare un file che ho immagazzinato in un .res ?
Grazie in anticipo !!
Ale

 Salve, come faccio a richiamare un file che ho immagazzinato in un .res ?
'Carica dati di vari tipi da un file di risorse (.res)
' e restituisce una matrice Byte:
LoadResData(indice, formato)
'Carica una bitmap, un'icona o un cursore da un file risorsa (.res):
LoadResPicture(indice, formato)
'Carica una stringa da un file di risorse (.res):
LoadResString(indice)
Fonte: MSDN
Ciao!
--
Esteban
Hosted by 
www.seber.it
(Remove nonspammare for reply)


...l'ho trovato anche io ora...proseguendo nella lettura, c'è scritto che i
dati contenuti da LoadResData possono essere al massimo di 64 byte;
purtroppo quello che devo richiamare io è un file .mp3 di circa 3 mb ...come
posso fare ?
Grazie
Ale

dati contenuti da LoadResData possono essere al massimo di 64 byte;
Dove l' hai letto?
Ho appena provato inserendo come risorsa custom una bitmap da 1,4 MB ;-)
-- 
ciao, hal

"Alessandro Binarelli" <abina...@niente.robaccia.it.tin> ha scritto nel
messaggio news:R5ix8.55035$vF6.1...@news2.tin.it...

In effetti c'e' scritto questo
"The data that LoadResData loads from the resource file can be up to 64K"
(N.B. Kilobyte, non byte)
Probabilmente e' un errore o una informazione vecchia, perche' confermo
comunque anch'io che, provato con un mp3 da 5Mb, funziona senza battere
ciglio, ed e' anche veloce.
Piuttosto bisogna valutare quanto convenga un approccio di questo tipo; le
dimensioni del file di risorse sono tutte a carico dell'eseguibile a cui
viene collegato: 5Mb di mp3 = 5Mb di eseguibile in piu', ne aggiungi
un'altro paio e sei gia' a dimensioni poco pratiche...
Se vuoi comunque utilizzare il file di risorse, potrebbe tornarti utile
questo articolo della Knowledge Base
"HOWTO: Use a Satellite DLL for Localization Purposes"
dove puoi saltare tutta la parte relativa alla identificazione della lingua
di sistema e concentrarti solo sulla creazione della DLL contenente le
risorse.
Ciao
--
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

 risorse.
...proverò a leggerlo...grazie ancora !
Alessandro

 mp3ocx1.play (file)
[SNIP]
Se dai un occhiata all'help dei LoadResData capirai il perche'
non so che errore ti ha restituito il tuo OCX, ma molto probabilmente vuole
avere in input il *percorso* di un file memorizzato su hard disk, ora
tralasciando il fatto che non e' particolarmente corretto caricare una
risorsa binaria in una variabile stringa, quello che gli hai passato e'
proprio *il file*, ovvero una bella sequenza di byte (anzi Mb) di dati...
dubito che abbia gradito!
Ribadisco il discorso sulle dimensioni (e di dare una bella ripassata alla
guida sull'argomento ;-) ), comunque ecco come potresti regolarti:
Dim resBuffer() As Byte
Dim strFile     As String
strFile = "C:\TempSound.mp3"
resBuffer = LoadResData(101,"CUSTOM")
'ora hai in memoria l'intera risorsa, sotto forma di array di bytes.
'per poterlo utilizzare, salviamo il contenuto in un file temporaneo
'su disco.
Open strFile For Binary As #1
Put #1,,resBuffer
Close #1
'finalmente possiamo utilizzare il file, ed eventualmenete cancellarlo
'quando non e' piu' necessario
mp3ocx1.play strFile



Ti ringrazio...era esattamente la cosa che volevo fare...non ripasserņ ma
cercherņ di studiare quanto sopra...in effetti sono ancora un principiante
in questo campo e molte cose mi sono ignote !...ho provato a dare una letta
all'How-to che mi hai citato...mi sembra che porti alla stessa cosa, solo
che magari non ingigantisce il .exe (almeno questo mi sembra di aver
capito)...perņ penso che ancora sia fuori della mia portata...
Ciao e grazie ancora !
Alessandro