Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Sto lavorando su un programma gestionale tramite ausilio di archivi, l'utente finale ha la possibilità di visualizzare (tramite l'ausilio delle listbox) tutti i records messi e di ordinarli in base alle proprie necessità, proprio per questo motivo ho inserito in un frame le varie opzioni, esempio "ordina per codice" "ordina per titolo" ect, l'ordinamento viene effettuato leggendo in modalità sequenziale il file, per poi scrivere i dati in un file con accesso random, questi a loro volta vengono riletti e riordinati per poi esser riscritti in modo ordinato in un'altro file in modo sequenziale. Di seguito il codice:
Codice sorgente - presumibilmente VB.NET
App.Path&"\Archivi\"& comboCat &"-Random.temp"For Random As #2
Scarto = N
Do
Scarto =Int(Scarto / 2)
If Scarto < 1 ThenExitDo
J = 1
K = N - Scarto
Do
i = J
Do
m = i + Scarto
Get #2, i, Cod, Tit, TitO, Naz, Gen1, Gen2, Regia, SitU, SocN, Prod, Distr, Trama, Copertina: Get #2, m, Cod2, Tit2, TitO2, Naz2, Gen12, Gen22, Regia2, SitU2, SocN2, Prod2, Distr2, Trama2, Copertina2
If Cod <= Cod2 ThenExitDo
Il problema riscontrato è il seguente "Previsto: fine istruzione" precisamente in "Cod," nel primo "Get #2" (ovviamente anche nel secondo)
Consigli?! Soluzioni!?
Ultima modifica effettuata da WillyVB il 31/12/2011 alle 1:41
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
La Put e la Get devono usare una variabile strutturata.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
Allora non hai letto quello che ti ho scritto sulla Get ...
La Get accetta il numero di file, il numero di record e la variabile
Get #2, 12, Rec
vuol dire leggi il record 12 dal file 2 e mettilo in Rec (che è la variabile strutturata)
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
Allora non hai letto quello che ti ho scritto sulla Get ...
La Get accetta il numero di file, il numero di record e la variabile
Get #2, 12, Rec
vuol dire leggi il record 12 dal file 2 e mettilo in Rec (che è la variabile strutturata)
Ok devo usare una variabile strutturata quindi mettiamo caso che io strutturo una variabile cosi:
Type Prova
Titolo as string
Anno as integer
End Type
Dopodiché dichiaro una variabile per la struttura scritta sopra
Dim Archivio as Prova
Ora mettiamo che voglio leggere i dati di un file in modo sequenziale per trascriverli in Random dovrei prima di tutto conoscere la lunghezza della variabile strutturata che calcolo tramite len, quindi
Dim N as Integer
DimRec=Len(Archivio)
Open "Directory:NomeFile" for Input as #1
Open "Directory:NomeFile.temp" for Random as #2 Len= Archivio
N=0
Do While Not EOF(1)
N=N+1
Input #1, Titolo, Anno
Put #2, N, Archivio
Loop
Close#2
Close#1
Una volta fatto ciò dovrei leggere i dati in modo random per poterli paragonare per riordinarli e riscriverli in modo sequenziale, quindi arrivato a questo punto dovrò riaprire il file in random ed usare:
Get #2, N, Archivio
Però cosi riscontro un "errore" nella scrittura, ovvero se vado ad aprire il file temporaneo "nomefille.temp" non trovo i dati scritti... bensì trovo lo spazio vuoto... come se ad ogni carattere avesse messo uno "spazio"... cosa sbaglio?!