Newsgroup: it.comp.lang.visual-basic
Titolo: Apertura file

Ricordo che al posto della classica Open file$ c'è un altro modo per aprire
e gestire il contenuto dei files?
è vero o mi ricordo male? e qual è la sintassi?

 
FSO: File system object. Aggiungi ai tuoi riferimenti Microsoft 
Scripting Runtime (scrrun.dll)
Poi da' un'occhiata a MSDN.
-- 
Emanuele Torrenti

 è vero o mi ricordo male? e qual è la sintassi?
Perchè Open non funziona...?
Si può aprire in molti modi un file, ma non ne vedo
l'utilità di usare API o FSO o altro quando disponi
di una funzione nativa.
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 di una funzione nativa.
pensavo che di usare qualcosa che mi permetta di caricare velocemente di
dati di un file bmp...

dati di un file bmp...
ReadFile è la cosa + veloce che conosco:
 Declare Function CreateFile Lib "kernel32.dll" Alias "CreateFileA" (ByVal
lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long,
_
  lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal
dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
 Declare Function ReadFile Lib "kernel32.dll" (ByVal hFile As Long, lpBuffer As
Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long,
lpOverlapped As Any) As Long
 Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long
 Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As
Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long,
lpOverlapped As Any) As Long
Global Const GENERIC_READ = &H80000000
Global Const GENERIC_WRITE = &H40000000 'apre in scrittura
Global Const FILE_SHARE_READ = &H1
Global Const FILE_SHARE_WRITE = &H2 'Condivisione del file in scrittura
Global Const CREATE_ALWAYS = 2 'Crea un nuovo file. Se il file esiste già, la
funzione lo sovrascrive.
Global Const OPEN_EXISTING = 3
Global Const FILE_ATTRIBUTE_ARCHIVE = &H20
____________________________
Fl& = FileLen("SYM.SRC")
BuffSym = Space(Fl&) ' make room in the buffer Legge una stringa di Fl&
caratteri
hFile = CreateFile("SYM.SRC", GENERIC_READ, FILE_SHARE_READ, ByVal CLng(0),
OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE, 0)
retval = ReadFile(hFile, ByVal BuffSym, Fl&, numread, ByVal CLng(0))
retval = CloseHandle(hFile)    'CHIUDI IL FILE
__________________
In BuffSym hai una stringa con il file:
ciao
  Stefano

scusa...non sono un esperto...
ho copiato la prima parte ma....il mio vb6 mi da "errore di compilazione"
e dice che costanti stringhe fisse ecc nn sono ammessi come membri public di
moduli di oggetto..
dove sbaglio?

 ho copiato la prima parte ma....
dovresti andare a studiarti almeno "le basi"
http://www.officecomputertraining.com/vbtutorial/tutpages/
scarica API-GUIDE
http://www.mentalis.org/agnet/apiguide.shtml
http://www.mentalis.org/agnet/appdown.shtml
http://www.mentalis.org/index2.shtml
--
Fosco

 dovresti andare a studiarti almeno "le basi"
lo so,dovrei...ma vorrei sapere se è possibile prima di approfondire
e cercare anche perche mi sto..esaurendo... se:
preso un file questo si può caricare direttamente cioè
per es ha dimensione 2MB posso mettere i suoi byte
tutti in memoria (dentro un array?anche se vorrei usare qualcosa per agire
direttamente) e lavorarci su?
per es sto provando a usare 3 get#1 e l' istr. stringa$= input$ 3,#1 con cui
riesco a caricare 3 byte alla volta
(come mi serve per poter visualizzare i colori del file bmp
-vedi precedenti miei tr-) e il tempo di caricamento è diminuito leggermente
rispetto ai 3 get.
solo che.... se uso una istr asc(mid (stringa$, 2,1)) per leggere il byte
centrale addirittura
nn funziona (perche?) da msdn : Mid(string, start[, length])
start è 2 il secondo carattere e ne legge uno...mi da errore dicendo
che...sbaglio argomento della funzione...
CR$ = InputB(3, #1)
A1 = CLng(Asc(Mid(CR$, 1, 1))) * 255 * 255: REM FUNZIONA
A2 = CLng(Asc(Mid(CR$, 2, 1))) * 255: REM NON FUNZIONA
A3 = CLng(Asc(Mid(CR$, 3, 1)))
A1 etc sono long e sono i colori B- G - R
un piccolo aiuto...grazie...

scusa...non sono un esperto...

In effetti ho copia-incollato una parte di un programma che è su due moduli.
La prima parte è di un modulo GLOBAL.BAS che uso per tutte le costanti e le
dichiarazioni di API, e la seconda fa parte di una Sub LeggiFile che sta in un
altro modulo e legge il file.
In ogni caso se metti la dichiarazione delle costanti all'inizio laddove nella
combobox in alto nella finestra scrive (Generale) e (Dichiarazioni)  è la stessa
cosa.
Poi naturalmente ti crei una Sub nella quale inserisci la seconda parte.
ciao
  Stefano


io questo ho fatto...ma mi da quell errore...

che...sbaglio argomento della funzione...
Asc fornisce la conversione del primo carattere, forse l'errore è in 
mid (stringa$, 2,1).
facedo
   Debug.? Mid$ (stringa$, 2,1)  
cosa ti scrive nella finestra immediata? (Ctrl+G)
Comunque io avevo fatto qualcosa con le Bitmap in QuickBasic ma saranno passati
dieci anni e non mi ricordo + niente, se vuoi vedo di cercare qualcosa nei
vecchi zip.
In ogni caso perchè non usi un controllo Image o qualcosa di simile che legge le
BMP?
ciao
  Stefano

 ha
scritto:
Dunque se scrive:
 "errore di compilazione"
e dice che
 'costanti stringhe fisse ecc nn sono ammessi come membri public di
moduli di OGGETTO
vuol dire che devi crearti un modulo .BAS (che non è un modulo OGGETTO)  e
mettere qui le dichiarazioni.
Una volta si usava un modulo GLOBAL.BAS per questo, e io continuo a farlo.
ciao
  Stefano

 BMP?
sto usando il picturebox in quanto posso usare pset line etc ma mi sembrano
molto molto molto lenti...
nn si può fare qualcosa per velocizzarle?

nn si può fare qualcosa per velocizzarle?
Bisogna usare le API,  BitBlt, StretchBlt ecc.
Qui c'era un esempio di termoPilucco, uno molto bravo che frequentava il ng:
http://www.unbelsito.com/vb/conoluce.zip
guarda se trovi qualche ispirazione
ciao
  Stefano