30/04/08 11:39
chen
Salve a tutti..
se uso per esempio:
Open App.Path & "\ciao.txt" For Binary As #1
print #1,"CIAO"
close #1
quando lo eseguo mi da l'errore "Bad file mode"..sapete aiutarmi?..il mio intento era scrivere in ciao.txt CIAO..poi se per esempio apro:
Open App.Path & "\ciao.txt" For Binary As #1
text1.text= ??
close #1
cosa dovrei sostituire ai ?? per far si che il contenuto di ciao.txt venga caricato nella text?..li so gli altri tipi di comandi per caricare i file di testo...o per scrivere dentro un file..ma vorrei provare cosi sempre se possibile...GRAZIE!!
Ultima modifica effettuata da chen 30/04/08 11:40
aaa
30/04/08 11:45
gantonio
Devi aprire il file in Output
Open "C:\file.txt" For Output As #1
Print #1, "Ciao"
Close #1
e in Input per leggere
Dim s As String
Open "C:\file.txt" For Input As #1
Line Input #1, s
Text1.Text = s
Close #1
aaa
30/04/08 11:53
TSP
Per scrivere un file usa:
Dim numeroFile, LunghDato As Integer, Dato As String
numeroFile = FreeFile
Open "C:\esempio.txt" For Binary Access Write Lock Read Write As #numeroFile
'assegna un valore alla variabile stringa
Dato = "esempio"
'determina la lunghezza della variabile
LunghDato = Len(Dato)
'inserisce prima la lunghezza del dato...
Put #numeroFile, , LunghDato
'e poi il dato stesso
Put #numeroFile, , Dato
Close #numeroFile
per leggerlo:
Dim numeroFile, LunghDato As Integer, Dato As
numeroFile = FreeFile
Open "C:\esempio.txt" For Binary Access Read Lock Read Write As #numeroFile
'legge la lunghezza della stringa
Get #numeroFile, , LunghDato
'inizializza la variabile LungDato
Dato = Space$(LunghDato)
'recupera la stringa di testo
Get #numeroFile, , Dato
Close #numeroFile
MsgBox Dato
dopo potrai aprirlo solo con Binary altrimenti verranno scritti simboli incomprensibili(prova ad aprire il file con notepad e vedrai)
Ultima modifica effettuata da TSP 30/04/08 12:00
aaa
30/04/08 12:31
gantonio
In effetti non ti spieghi molto bene ... soprattutto non capisco a cosa ti serva tutto cio' ... che scopo ha ... ???
Comunque, un file eseguibile lo apri sia per leggere che per scrivere con Binary ...
Quindi
Open "C:\file.exe" For Binary As #1
Per leggere i dati usi l'istruzione
Get #
e per scrivere l'istruzione
Put #
NON puoi visualizzare il contenuto di un file in una textbox perche', essendo in binario, non tutti i caratteri ASCII sarebbero visualizzabili (l'unicode non c'entra nulla in questo caso ...).
Devi lavorare unicamente in memoria ... la Get # la utilizzerai per leggere i dati in un array di byte ...
aaa
30/04/08 13:52
Overflow
scusa ma se vuoi copiare un eseguibile usa l'api copyfile.
Comunque puoi fare cosi anche:
Dim c As Byte
Open "C:\file.exe" For Binary As 1
Open "C:\copydelfile.exe" For Binary As 2
While Not EOF(1)
Get #1, , c
Put #2, , c
Wend
Ultima modifica effettuata da Overflow 30/04/08 14:03
aaa