Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - File ad accesso casuale...aiuto !!!
Forum - Visual Basic 6 - File ad accesso casuale...aiuto !!!

Avatar
gecko6989 (Normal User)
Pro


Messaggi: 64
Iscritto: 05/06/2007

Segnala al moderatore
Postato alle 23:35
Giovedì, 11/10/2007
Ho creato dei record "concatenati" e vorrei salvarli su un file ad accesso casuale, quando premo sul cmd button "salva"...ma mi da un errore.
Vi posto i record dichiarati nel modulo:
Public Type SCATOLINA
telefono1 As String * 10
telefono2 As String * 10
cellulare As String * 15
End Type

Public Type SCATOLA
nome As String * 10
cognome As String * 10
telefono(0 To 100) As SCATOLINA
End Type

Public Matrioska(0 To 25) As SCATOLA


Come faccio a salvarli in un file ad accesso casuale??

PM Quote
Avatar
albertking82 (Member)
Pro


Messaggi: 112
Iscritto: 14/08/2006

Segnala al moderatore
Postato alle 14:34
Venerdì, 12/10/2007
dim n as integer
n=freefile
path="metti il percorso"

open path for random as#n
-----qui scrivi la procedura che vuoi
close #n

PM Quote
Avatar
gecko6989 (Normal User)
Pro


Messaggi: 64
Iscritto: 05/06/2007

Segnala al moderatore
Postato alle 21:45
Venerdì, 12/10/2007
Testo quotato

Postato originariamente da albertking82:

dim n as integer
n=freefile
path="metti il percorso"

open path for random as#n
-----qui scrivi la procedura che vuoi
close #n



avevo già fatto così:
open (app.path & "file.txt") for random as#1
Put #1, 1, Matrioska(1)
close #1

però mi da questo errore:
Errore di run-time "59":
Lunghezza del record nn valida


Come risolvere e quindi infine riuscire a salvare???

Ultima modifica effettuata da gecko6989 il 12/10/2007 alle 22:34
PM Quote
Avatar
albertking82 (Member)
Pro


Messaggi: 112
Iscritto: 14/08/2006

Segnala al moderatore
Postato alle 2:10
Sabato, 13/10/2007
Sei sicuro che l'errore non dipenda dal fatto che hai dichiarato un record del tipo che hai appena inzializzato? cioè telefono(0 To 100) As SCATOLINA
e del fatto che hai dichiarato un vettore all'interno di un tipo? Ti chiedo questo perchè il il codice di accesso al file random col metodo put mi sembra perfetto.Prova a dichiarare come variabile e non come campo il telefono.Spero di esserti stato di aiuto.
;)

PM Quote
Avatar
albertking82 (Member)
Pro


Messaggi: 112
Iscritto: 14/08/2006

Segnala al moderatore
Postato alle 2:15
Sabato, 13/10/2007
Sai cosa può essere?Tu hai dichiarato un campo come vettore indicizzato(0 to 100) e la variabile matrioska(0 to 25).Potrebe essere che la dimensione del campo sia più grande del limite consentito dalla variabile matrioska.Prova a far si che la variabile matrioska sia un vettore ridimensionabile
dim mastrioska() as scatola.

PM Quote
Avatar
gecko6989 (Normal User)
Pro


Messaggi: 64
Iscritto: 05/06/2007

Segnala al moderatore
Postato alle 14:05
Sabato, 13/10/2007
Testo quotato

Postato originariamente da albertking82:
Prova a dichiarare come variabile e non come campo il telefono.
;)



Quando"telefono" lo metto come variabile (cioè: << dim telefono as string >>;) funziona tutto.

Il problema è che "telefono" mi serve dichiararla come campo contenente un'altro record. (cioè: << dim telefono as SCATOLINA >>;). Solo che quando provo a salvare mi dà l'errore.

Non c'è un metodo per salvare??? Uffa...

Ultima modifica effettuata da gecko6989 il 13/10/2007 alle 15:35
PM Quote