Newsgroup: it.comp.lang.visual-basic
Titolo: (?) sparizione del primo!!!

Salve, è la prima volta che mi succede questo piccolo inconveniente(non da
poco!!)
Ho fatto un programma che carica i dati da un file sequenziale!!
la routine che carica i dati e le mette nel vettore è la seguente:
'********************************
Dim I As Integer
If "Imm" = Dir(FileImm) Then
    NImm = FileLen(FileImm) \ Len(ImmT)
    Open FileImm For Random As #1 Len = Len(ImmT)
        ReDim Imm(NImm - 1) As Casa
        For I = 0 To NImm - 1
            Get #1, , Imm(I)
        Next I
    Close #1
End If
'******************************
il formato dei dati che carica è il seguente
'******************************
Type Esiste                 'Tipo utile per la descrizione dei vani
    Si As Boolean           'Se esiste Si=True
    Numero As Byte          'Numero di volte che si ripete il vano
End Type
Type Vani
    CameraMatrimoniale As Esiste
    CameraSingola As Esiste
    CucinaTinello As Esiste
    CucinaAbitabile As Esiste
    AngoloCottura As Esiste
    Ingresso As Esiste
    Ripostiglio As Esiste
    Sala As Esiste
    Soggiorno As Esiste
    Bagno As Esiste
End Type
Type Rifinito
    '0=pessime
    '1=mediocri
    '2=medie
    '3=buone
    '4=ottime
    Tipo As Byte                'Tipo di rifiniture
    Commento As String * 50     'Possibile Commento
End Type
Type Costruzione
    Commento As String * 50     'Eventuale commento
    Spese As Long               'spese condominiali
End Type
Type Caratt
    mqCommerciali As Long       'numero metri quadri commerciabili
    '250 --> -1 --> seminterrato
    '200 --> tt --> terratetto
    Piano As Byte               'numero di Piano dell'appartamento
    Ascensore As Boolean        'Esistenza ascensore
    CommAscensore As String * 25 'eventuale commento ascensore
    Riscaldamento As Boolean    'esistenza riscaldamento
    CommRiscaldamento As String * 25 'eventuale commento
    Balconi As Boolean          'Numero di balconi
    CommBalconi As String * 25  'eventuale commento balconi
    Terrazza As Boolean         'esistenza Terrazza
    CommTerrazza As String * 25 'eventuale commento terrazza
    Giardino As Boolean         'esistenza giardino
    CommGiardino As String * 25 'eventuale commento giardino
    Solaio As Boolean           'esistenza solaio
    CommSolaio As String * 25   'eventuale commento solaio
    Cantina As Boolean          'esistenza cantina
    CommCantina As String * 25  'eventuale commento cantina
    Auto As Boolean             'esistenza posto auto
    CommAuto As String * 25     'eventuale commento posto auto
    Garage As Boolean           'esistenza garage
    CommGarage As String * 25   'eventuale commento garage
End Type
Type Casa
    ID As Integer            'Numero della Casa
    DataA As Date            'Data Acquisizione
    Sito As String * 50      'Via dell'immobile
    Zona As String * 30
    Proprietario As String * 100
    Descrizione As Vani
    Rifiniture As Rifinito
    SitLocativa As String * 100
    TipoCostruzione As Costruzione
    Caratteristiche As Caratt
    Pubblicità As String * 200
    Commento As String * 200        'eventuale commento
    PrezzoL As Single             'Prezzo immobile in Lire
    prezzoE As Single           'Prezzo immobile in Euro
    Acquisitore As String * 30  'Persona che ha portato l'immobile
all'agenzia
End Type
'************************
VORREI sapere perchè ogni tanto la numero 1 scompare!!!
solo la prima della lista!!!
Questo problema persiste solo su un CELERON A, sul mio vecchio P166MMX non è
mai successo, e neanche su un P100
Ho provato anche a compilarlo in P-CODE(boh! non si sa mai), ma niente!!
Il criterio di scomparsa non ha criterio, ogni tanto scompare, non la
carica!!!
può succedere che per un mese niente, e poi di seguito per tre giorni!!
sul computer destinatario c'è WIN98+WORD97!!
niente d'altro!!!
io posiedo VB6 sp2!!
grazie a chiunque mi rispondesse!!

Caro Amico,
ritengo che sia meglio dimensionare diversamente il vettore:
ReDim Imm(1 to NImm) As Casa
ciň consente di eseguire un gruppo For-next piů controllabile:
For I = 1 To NImm
Get #1, I, Imm(I)
Next I
Infatti, l'avanzamento implicito del puntatore del file richiederebbe una
precedente istruzione del tipo Seek.
Fammi sapere.
Ciao!
============================================
                      CYBER Hardware & Software
                         di Ettore Massimo Albani
                           Via Scapacchiň, 48/B
              35030 Selvazzano Dentro (PD) - Italy
                         Tel./Fax: 
(+39) 049-638681
 
http://www.protec.it/cyber
                         E.mail: 
cy...@protec.it
============================================