Newsgroup: it.comp.lang.visual-basic
Titolo: Comando C a Visual Basic

Ciao
avendo questa stirnga di comandi C, è possibile portarla sotto Visual
Basic?
fread( buffer, sizeof(uint8), numBytes, fp );
dovrebbe leggere da un file (fp) la sua lunghezza di byte (numBytes) per
poi trasferirla in Buffer.
Ora , io ho provato vari metodi, ma su file grandi circa 1 mega il
visual basic è molto lento, forse uso io troppi comandi....
c'è la possibilità di fare il porting?
Grazie ciao

fread( buffer, sizeof(uint8), numBytes, fp );
Get #numFile, nPosizione, arrayTmp()
oppure
Get #numFile, nPosizione, miaStruttura
vedi sull' help la definizione dell' istruzione Get, riferita
a file aperti in modalita' binaria o random
Se azzecchi bene le dimensioni dei blocchi (se il file non e' tanto grande
potresti leggerlo tutto in un colpo solo in un array di byte e poi
navigare in quest' ultimo)
la velocita' e' notevole.
ciao, hal

 ha scritto nel messaggio
news:3ABDE921...@promo.it...

ti fai una DLL dal VC++ :-)
...
CMQ non è che sia proprio così lento il VB
dim teleggoetescrivo as string, telogiochiallotto as integer, numBytes as
long
let numBytes= val(unnumeroGRANDE)
let teleggoetescrivo = space$(numBytes)
let telogiochiallotto=freefile
open "mammaquantosobello" as binary 'access, shared e numero file che te
pare, anzi #telogiochiallotto
get #telogiochiallotto, ,teleggoetescrivo
close #telogiochiallotto
poi mi dici se è lento cavolo!
byeZ
Sunspot

 ha scritto nel messaggio
news:99kqkj$1hngf$1...@ID-56381.news.dfncis.de...

se non ricordo male VB dava errore quando alla Get o Put si dava un'array...
e non dirmi che l'errore veniva fuori  solo perché trattavasi di un array di
integer invece che di byte!!! cazzo... CMQ con l'accesso binary ci si può
giocare come ti pare!
CMQ con la stringa funziona benissimo e ci leggi quanto ti pare, pressappoco
:)))
byeZ
Sunspot

CMQ con la stringa funziona benissimo e ci leggi quanto ti pare, pressappoco
io non ne sarei cosi' sicuro ... 
specie se devi copiare dei blocchi in variabili di vario genere (strutture, tipi
nativi, array piu' piccoli, stringhe, ecc.)
ciao, hal

ora provo e ti faccio sapere sicuramente
forse il mio errore è stato nel non dichiarare le variabili come hai
fatto tu
:))
grazie ciao

ok, grazie ora provo a seguire il tuo consiglio
Ciao

si è veloce :))))))
il prb erano le mancate let
che poi devo informarmi a cosa servono...

Basic?
come no!
Declare Function Lib "crtdll.dll" _
fopen(file As String, mode As String) As Long
Declare Function Lib "crtdll.dll" _
fread(buf As Any, size As Long, count As Long, fp As Long) As Long
Declare Function Lib "crtdll.dll" _
fclose(fp As Long) As Long
-- 
Posted from 
smtp.technorail.com
 [195.103.144.19] (may be forged) 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Il bello di questo ragazzo e' che ti prende il parola :))
Tutti a parlare di Get, Let, Put, Open, e lui ti fa il porting diretto che
piu' diretto non si puo' :)
Ciaotutti,
Alessandro

ah! questa poi mi fa rimanere allibito!
grazie per la tua risposta :)


ah! questa poi mi fa rimanere allibito!
grazie per la tua risposta :)


che poi devo informarmi a cosa servono...
Non credo dipenda dalle let, che in VB sono facoltative (in realtà lo sono
già dai primi M$ basic per home computer), anche se c'è chi dice che
dovrebbero accelerare leggermente le assegnazioni (eliminano l'ambiguità tra
"=" assegnazione e "=" uguaglianza).
Il fatto è che VB è lento negli accessi al disco, quindi dimensionando una
var stringa o un array e facendo una singola Get VB diventa molto più
veloce.
Ciao

fopen(file As String, mode As String) As Long
....(...)...
bel colpo !
ciao, hal