Newsgroup: it.comp.lang.visual-basic
Titolo: Errore: lunghezza record non valida

Ho il seguente problema con l'uso di un file creato da me in excel
il record è:
Type recprono
    num(1 To 30, 1 To 10) As Integer
    ruote(1 To 30, 1 To 10) As Integer
    min(1 To 30) As Byte
    data As String
    nome As String
    numero As Integer
    rit As Integer
    colpimax As Integer
End Type
Public Recpronostici As recprono
Private Sub CMBInserisciPronostico_Click()
'carica estrazione da file in excell
Open Dir + "\Pronostici.dat" For Random As #1 Len = Len(Recpronostici)
rec = 0
Do While Not EOF(1)
    rec = rec + 1
    Get #1, rec, Recpronostici
Loop
Cells(1, 25) = rec
Recpronostici.numero = rec
Recpronostici.data = Cells(2, 25)
Recpronostici.nome = Cells(3, 25)
Recpronostici.colpimax = Cells(4, 25)
Recpronostici.colpimax = Cells(5, 25)
For i = 1 To 30
    If Cells(i + 1, 23) <> "" Then
        Recpronostici.min(i) = Cells(i + 1, 23)
    Else
        Recpronostici.min(i) = 0
    End If
    For i2 = 2 To 11
        If Cells(i + 1, i2 + 12) <> "" Then
            Recpronostici.ruote(i, i2 - 1) = Cells(i + 1, i2 + 12)
        Else
            Recpronostici.ruote(i, i2 - 1) = 0
        End If
        If Cells(i + 1, i2) <> "" Then
            Recpronostici.num(i, i2 - 1) = Cells(i + 1, i2)
        Else
            Recpronostici.num(i, i2 - 1) = 0
        End If
    Next i2
Next i
Put #1, rec, Recpronostici<<========= qui mi da l'errore
Close #1
End Sub
Qualche suggerimento-
Grazie
Nick Shadow 

 
-- 
[CapoBecchino]
Il becchino si sposa: in abito rigorosamente nero, con la sposa accanto 
parte in auto (nera) con le classiche bare attaccate al paraurti posteriore.
La sera, dopo cena, lei lo aspetta semisdraiata su letto, in un negligé 
che sembra una nuvola. Lui si prepara in bagno ed esce impeccabile: 
pigiama nero con i risvolti oro, viso impassibile, passo bilanciato; si 
avvicina alla moglie e dice:
- Signora, vuol baciarlo prima di metterlo dentro? (da Barzellette.it)

Ops l'ho scritto solo nell'oggetto
l'errore è lunghezza record non valida
"[CapoBecchino]" <capoNOb...@hotSPAMmail.com> ha scritto nel messaggio 
news:2WfVe.23062$nT3....@tornado.fastwebnet.it...


 
hth
bye
r

 con un file a lunghezza fissa!
se metto
 Open Dir + "\Pronostici.dat" For Random As #1
si pianta
Open Dir + "\Pronostici.dat" For Random As #1 Len = Len(Recpronostici)
rec = 0
Do While Not EOF(1)
    rec = rec + 1
    Get #1, rec, Recpronostici<<======= si pianta qui sempre son errore 
lunghezza record non valida
Loop 

Loop 
  Che valore ti da' Len(Recpronostici)?
-- 
  Ciao :-)
  Massimo
Nell'indirizzo, sostituire "micio" con "mc"

  Che valore ti da' Len(Recpronostici)?
mi da 1244 

mi da 1244 
  Sempre? Non e' che apri il file con un certo valore e poi cerchi di
leggere un record con un valore superiore?


 leggere un record con un valore superiore?
Il file č completamente vuoto
cosě funziona
Private Sub CommandButton1_Click()
'carica estrazione da file in excell
Open Dir + "\Pronostici.dat" For Random As #1 Len = Len(Recpronostici)
rec = 0
Do While Not EOF(1)
    rec = rec + 1
    Get #1, rec, Recpronostici
Loop
Put #1, rec, Recpronostici
Close #1
End Sub
e mi crea un file di 1240 e non di 1244.
Proverň a fare un po di prove per vedere dove mi cambia la dimensione. 

e mi crea un file di 1240 e non di 1244.
  Appunto, se crei con 1240 e poi cerchi di leggere con un record piu'
grande ti da' errore! Usare record di lunghezza variabile assieme ai
file random vuol dire cercarsi rogne quindi comincia a definire la
lunghezza delle stringhe e vedrai che magicamente funzionera' tutto.


 ha scritto nel messaggio 
news:moigi1l6mu265mlh2...@4ax.com...
