Praticamente questo programma mi da esattamente overflow quando io eseguo il comando rigamod = rigamod + 1. Come mai?codice:[...] Do Until EOF(1) rigamod = rigamod + 1 [...] Loop [...]
Praticamente questo programma mi da esattamente overflow quando io eseguo il comando rigamod = rigamod + 1. Come mai?codice:[...] Do Until EOF(1) rigamod = rigamod + 1 [...] Loop [...]
Di che tipo è rigamod? quante righe ha all'incirca il file?
Era di tipo Byte, ma lo cambiato a integer. Il fatto è che nel byte l'overflow avviene prima delle 100 righe, invece con integer dopo le 100 (ho mi miei punti di riferimento). Il file è pressappoco 956 righe, ma l'utente ne potrebbe selezionare uno di 1542 righe o maggiore.
X favore aiutatemi. Sn al 70%. nn mi bloccate ora
Nessun'altro sa aiutarmi?![]()
non è che rigamod viene modificato anche da altre parti lerrore te lo dovrebbe dare oltre i 32000
Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te
Prima del ciclo inizializza:
codice:RigaMod = 0
Signori si nasce! E io modestamente, lo nacqui!!!
Totò
Certo, io azzero sempre i contatori prima del ciclo, xo va sempre in overflow. Ho fatto questa funziona già 2 volte da capo, utilizzando esperienti diversi, ora la rifaccio.
Io uso questa sintassi Do Until EOF(1) perché so che ad ogni inizio di ciclo il file avanza di una riga. Per caso c'è qualche comando che mi permette di andare alla riga successiva senza utilizzare loop come questi?
Questo programmino funziona, guarda le differenze con il tuo codice (se ce ne sono!). In un form metti due button (caption Scrivi e Leggi) e aggiungi questo codice:
Ti consiglio di fare un debug del tuo programma riga per riga e verifica che ad ogni ciclo del loop RigaMod si incrementi soltanto di 1.codice:Private Sub Command1_Click() 'questa procedura scrive sul file c:\test.txt 32000 righe Dim i As Integer Open "c:\test.txt" For Output As #1 For i = 1 To 32000 Print #1, "Riga numero " & i Next Close #1 End Sub Private Sub Command2_Click() 'questa procedura legge il file c:\test.txt e lo invia alla console Dim rigamod As Integer Dim riga As String Open "c:\test.txt" For Input As #1 rigamod = 0 Do Until EOF(1) Line Input #1, riga rigamod = rigamod + 1 Debug.Print rigamod, riga Loop Close #1 End Sub
Chi non cerca trova.
tas, grazie ma il mio prog deve scrive e leggere, file diversi, in un'unica funzione. Dopo numerose ricerche ho trovato un comando che mi permette di leggere recordo dove voglio io e di scrivere record dove voglio io. Xo nn so usarli.
Il fatto che nn mi scrive nella riga 5, ma dove vuole lui. Io devo scrivere in righe BEN definite. Mi aiutate?codice:a = 5 Open "c:\uaz.txt" For Random As #1 Len = 10 Put #1, a, "ciao" Close #1