Newsgroup: it.comp.lang.visual-basic
Titolo: API per lettore divx

Ciao a tutti, č da poco che ho iniziato a programmare in visual basic e ho
le idee molto confuse ^__^. Per imparare qualcosa di + (Ora come ora ho
studiato x bene la guida a visual basic 6 dell'Apogeo) ho deciso di creare
un lettore divx che utilizzi perň le dll contenute nella sua cartella e non
quelle contenute in c:/windows (per esempio voglio riprodurre i file su un
pc che non ha codec dvx e ha restrizioni di accesso, quindi non posso
installarlo). Ora ho creato gia un lettore utilizzando il controllo
microsoft multimedia control 6.0 e riesco a visualizzare i file avi con 2
righe di codice. Come faccio ad andare avanti? Innanzi tutto devo trovare le
dll per la lettura dei divx (se le sapete dite pure ^__^). Una volta trovare
come faccio a conoscere l'enunciato di dichiarazione? Nel visualizzatore api
trovo gli enunciati per tutte le dll del sistema? Come faccio poi a
"integrare" il tutto nel programma? Vi sarei molto grato per l'aiuto...ho
tanta voglia di imparare ^__^ (sono al terzo anno di itis a indirizzo
informatico ma ci fanno fare cose banalissime, ma daltronde č giusto dato
che gran parte della classe non capisce un'h!). Grazie. Fabio

righe di codice."
Ehm mi spiace non hai creato nulla!...Hai impostato delle proprietà di un
controllo.
Da li a fare un lettore divX ce ne corre!
Non vorrei stupirti....ma se installi il codec del divX dentro il windows
media player e lo usi nei tuoi progetti...ehm ehm un lettore di mp3 e divx
già pronto!..anzi un lettore in genere multimediale...basta mettere i codec
giusti e ti decomprime il mondo....
La programmazione?...o beh nulla di complicatissimo (anche se + difficile
del MMC che hai usato)...reperire info?
Ma sul sito M$....dove esisterebbe anche una serie di SDK....(se hai la
capacità puoi anche farti il tuo skin predefinito per il WMP...o addirittura
un tuo codec)
In conclusione....studia studia studia....non fare il solito lamer che
appena capisce qualcosa vuole fare un prg per accedere alla banca dati
mondiale!
Ti ho risposto solo per chiarirti le idee e per stimolarti....
Buon lavoro!
bye man!

link documentazioni)
A proposito di libri, da chi sono scritti?
Da programmatori. vero?
Ma chissà perchè questi programmatori, valenti senz'altro, si tengono
le conoscenze vere tutte per se!!!!!!!!
Ho speso almeno 1-2 milioni (di lire) in libri per VB, ma guarda caso,
i migliori metodi di programmazione, i migliori "trucchetti" li ho
imparati gratuitamente grazie a tante brave persone che danno un aiuto
disinteressato nel newsgroup. 
E tu consigli di studiare?
Ma cosa? Ma se i provetti programmatori non fanno altro che spiegare
la proprietà .text o caption dei controlli(alias cose che anche mio
figlio di 6 anni ha già capito da solo sensa leggere alcun libro.)
Insomma chi conosce bene la programmazione se la tiene per se, ecco
cosa penso, e ti dirò, non la mette neppure in vendita.
Per cui concludo, e mi scuso con tutto il newsgroup per aver  totlto
banda, invece di dare consigli, la prossima volta, sii un pò più
gentile, rispondi alle domande oppure ignorale.
Robin

 banda,
[...]
Prova a sostituire, in questo tuo sfogo, la parola "programmatore" con
altre, per esempio "medico", "avvocato", "macellaio", e vedi un po' se il
tuo discorso regge ancora. ;-)
--
Ciao.
Maurizio
--------
?SPQR(C)
 X
--------

 mondiale!
Se ho chiesto questa cosa è xke è una passione e volevo dei consigli da
qualcuno che ne sa + di me, però non credo di essere totalmente
imbranato...da li a definirmi lamer ce ne corre... ^__^. Bye e grazie x i
consigli

 raggiungere anche vette maggiori!
Ps non avevo visto questa parte...ho apprezzato i tuoi consigli ma prima di
marchiare una persona faresti meglio a conoscerla...

 gentile, rispondi alle domande oppure ignorale.
Ti dico...a scuola (3° anno di itis a indirizzo informatico) siamo a un
livello scandaloso, c'è gente che non sa nemmeno come si fa a scrivere in
una casella di testo...tra poco passeremo ai database ma io (e un paio di
altri miei compagni) siamo passati oltre da un pezzo e tutto da autodidatti.
Oggi ci hanno convocati in  provveditorato per riempire dei database (in
cambio credito formativo ^__^), le maschere di access erano state create dai
ragazzi di una quinta (sempre della mia scuola)...erano una cosa
scandalosa!!! Non funzionava niente!!! Ho provato a sistemare qualcosa ma
non conoscendo access (l'ho imparato solo a livello base) non ho sistemato
tutti i problemi. Io mi chiedo cosa insegnino a scuola...io personalmente ho
imparato molto di + nel primo mese di scuola da autodidatta...piuttosto che
in laboratorio seguendo le lezioni! E' ovvio che i prof devono stare dietro
a quelli + "imbranati" ma c'è gente nella mia classe che ha fatto
informatica solo perchè pensava di creare videogiochi schioccando le dita...
^__^

 figlio di 6 anni ha gią capito da solo sensa leggere alcun libro.)
Scusami, ma che libri hai acquistato?!
--
Faber

 ^__^
Ecco... come volevasi dimostrare.
Purtroppo la scuola, alla fin fine, sai a ke serve? Ad avere quel famoso
pezzo di carta che poi dovrai appendere nel bagno perchè ti aiuti nei giurni
+ DURI.
Troppa burocrazia... e quel pezzo di carta ti servirà per avere una spinta
in più rispetto a chi magari è bravo ma non ha un diploma. SOLO a quello.
Quindi le lezioni non seguirle nemmeno con attenzione (informatica intendo).
Pensa a fare l'autodidatta... passa il tuo tempo a programmare pomeriggio e
notte, e a prendere 10 in informatica. La scuola nn serve!!!
---------------------------------
Saluti dal Grande VEGETA PRINCIPE DEI SAIYAN
     /\    /\
\_/    \/    \_/

 parametri che le devo passare ecc?
Esistono programmi che ti dicono le funzioni dichiarate all'interno di una
dll, ma per i parametri non c'è molto da fare. Questo perchè le funzioni
scritte nella dll vengono compilate in codice macchina (vabbè, codice
oggetto... ma siamo quasi lì) che per recuperare i parametri fanno ricorso
all'area di stack. Detto in parole papali papali, non c'è
nessun'informazione all'interno della libreria riguardo i parametri passati.
Nessun programma può dirti a priori cosa viene usato dalla tua libreria a
livello di variabili passate per valore o per riferimento.
Se si tratta di un'API allora puoi sapere i parametri da passare tramite
l'API TEXT VIEWER... ma se usi la dll di un programma (es. quella che usa
winzip per comprimere i file, o quella che usa Winamp per usare gli MP3)
allora devi pregare che ci sia documentazione allegata o trovare qks su
internet o che la casa del prodotto ti dia delucidazioni, ma non sperarci
proprio. Si tratta di uno 0.0001% di possibilità.

 proprio. Si tratta di uno 0.0001% di possibilità.
Ti ringrazio per la risposta...a dire il vero mi sono avventurato in
qualcosa un po' troppo avanti per la mia preparazione (parlo del lettore
divx), però cercando informazioni ho imparato qualcosina delle api (prima
non sapevo nemmeno cosa fossero, ora almeno so che sono delle routine a cui
devo passare dei parametri e che me ne restituiscono altri). Cmq volevo
chiederti ancora una cosa...visto che la mia esperienza sulle API si ferma
solo alla teoria....volendo fare un po di pratica ti volevo chiedere questo.
Per esempio col visualizzatore API ho trovato una funzione (Getsystemtime)
in kernel32.dll. Da quanto ho capito restituisce semplicemente l'ora di
sistema (è giusto?). La dichiarazione è questa
Public Declare Sub GetSystemTime Lib "kernel32" Alias "GetSystemTime"
(lpSystemTime As SYSTEMTIME)
da quanto leggo questa è una sub, quindi devo passare un dato (in questo
caso di tipo systemtime...e gia qualcosa non mi quadra dato che non l'ho mai
sentito!!) ma non mi viene restituito nessun valore. Come faccio a
utilizzarla? Mi servirebbe un esempio pratico giusto per capirci qualcosa di
+. Grazie mille. Ciao
Fabio

+. Grazie mille. Ciao
www.allapi.net
-- 
hth, hal

Ciao!
Allora, oltre alle dichiarazioni delle funzioni, tipo la nostra
Declare Sub GetSystemTime Lib "kernel32" Alias "GetSystemTime" (lpSystemTime
As SYSTEMTIME)
devi considerare che si possono anche dichiarare dei tipi di dati creati
dall'utente! Le API usano tantissimi tipi di dati specifici, tipo:
Type POINTAPI
        x As Long
        y As Long
End Type
che definisce un punto, oppure
Type RECT
        Left As Long
        Top As Long
        Right As Long
        Bottom As Long
End Type
che e' il tipo (o la struttura - come in C++ con il costrutto STRUCT) che
rappresenta un rettangolo...
Dopo questo preambolo, indovina un po' cos'e' SYSTEMTIME? :)
Ti do un aiutino (uso questa parola giusto per far arrabbiare i guru del
NG): prova ad aprire il visualizzatore di API del Visual Studio e dai uno
sguardo ai vari tipi di dati usati nelle API.
E, naturalmente, segui il prezioso consiglio di Hal, che, oltre ad essere un
gran guru, e' anche un esperto di lan e 386! ;)
Ciao,
- SonicBoom -

gran guru, e' anche un esperto di lan e 386! ;)
:-PPP
-- 
ciao, hal.slackware

 gran guru, e' anche un esperto di lan e 386! ;)
Grazie mille, non mi ero accorto che nel visualizzatore api ci fossero anche
i tipi di dati (poca capacità di osservazione ^__^) Beh grazie a tutti per
le risposte!!! Ora sperimento un po! Bye
Fabio

 ha scritto nel messaggio
news:xUYy8.109374$SR5.2...@twister1.libero.it...
CUT
allora torno da un po di meritate ferie e ti rispondo....
Bravo per quello che riguarda le API etc etc lodevole ed avevi azzerato il
livello lamer!!!
Poi ti sei ri-sciupato non capendo l'ironia!!!e sentendoti punto nel vivo
rispondi alla "lamer" :-)
tempo speso:
10 sec
a)digitato 
www.google.com
b)caricato pagina (ok ho l'adsl tu andrai forse + piano!)
c) cercato divx
d) premuto search
e)...sbadigliato...
f)..letto la prima riga e 
www.divx.com
e)....fatto click...tutte le info che vuoi
lo vuoi fare in vb?
soliti punti a) e b)
c) cercato: +VB6 divx player code (lo sai usare google vero? č come
altavista ho visto che alle scuole superiori distribuivano un opuscolo
sull'uso del motore di ricerca e quindi capisci l'uso del +VB6)
d) letto la prima riga:visual basic latest file
e) fatto un clik
f) caricato la pagina:
http://www.programmersheaven.com/zone1/latestfileszone.htm
g) trovato il link che mi interessa
http://www.programmersheaven.com/search/Download.asp?FileID=20566
h) stupito....funziona (occhio che prima vuole perň il codec installato!!!
come lo decomprime altrimenti???)...č una classe che si basa su
Private Declare Function mciGetErrorString Lib "winmm.dll" Alias
"mciGetErrorStringA" (ByVal dwError As Long, ByVal lpstrBuffer As String,
ByVal uLength As Long) As Long 'Get the error message of the mcidevice if
any
Private Declare Function mciSendString Lib "winmm.dll" Alias
"mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As
String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
'Send command strings to the mci device
hai capito di che si tratta vero??...buono studio
p.s.
ti assicuro che funge l'ho provato sto prog su un divx del mio hd!!
In conclusione: era cosě difficile cercare una soluzione?...aiutati che il
cielo t'aiuta!
se volevi fare da te ti avevo messo anche un seme nella risposta...
hai installato windows media player??? hai installato il codec divx?...bene
in wnp ti vedi il film...ok allora invece del controllo multimediale perchč
non referenzi ed usi il windows media player?
1) Crea un nuovo progetto
2) Referenzia il Windows Media Player nella finestra componenti nel frame
controlli uno degli ultimi č il Windows Media Player
3) Inseriscilo come un normale controllo nel tuo form...le dimensioni che
imposterai sono le dime del video riprodotto
3 bis) io l'ho chiamato il controllo MP
4) Crea un command button
5) Codice del command button:
Private Sub Command1_Click()
MP.Open ("C:\Internet\divx\hmm01df.avi")'naturalmente lo sostituisci con il
path del tuo film!!!
End Sub
6) Esegui il progetto!
7) Oooooohhhh si vede il film!!!
8) Complicazione dell'esempio a carico tuo!
nota: per vedere nuovi standard (quick time o altro basta inserire il codec
giusto la programmazione del media player rimane sempre la stessa!!!)
io ti ho anche detto che M$ ti da alcuni sdk per sviluppare skin encoder etc
etc...+ di cosě che volevi che ti dicessi????
Ciauz !
Davvero davvero ho sbagliato giudizio???!!!....ah sti giovani! :-P
Dai animo stupisci i tuoi amici!!!!
bye man!
:-)