View Full Version : Files sequenziali
Ciao.
Dovrei scrivere un files di testo di tipo seguenziale.
Non ricordo per niente come si trattavano questo tipo di files.
In pratica dovrei poter scrivere un files di testo seguenziale, dichiarando
lunghezza e nome dei campi da creare.
Potete aiutarmi, magari postandomi un frammento di codice di esempio?
Grazie. Carmen ;)
buttarelli
07-03-2003, 12:04
Dubito che qualcuno ti possa aiutare se non specifichi almeno il linguaggio di programmazione!
Vero. Lo dimentico spesso. Il linguaggio e il VB6
Ti posto un pezzo di codice...spero che ti sia chiaro:
Option Explicit
Public Type RecordAnagrafe
lIDFamiglia As Long
lAtto As Long
sRuoloFamiglia As String * 15
nRuoloFamiglia As Integer
sCognome As String * 20
sNome As String * 20
dtNascita As Date
sSesso As String * 1
sComuneNascita As String * 20
sProvinciaNascita As String * 2
sViaRes As String * 30
nCivicoRes As Integer
sComuneRes As String * 20
sProvinciaRes As String * 2
sStatoCivile As String * 20
lAttoM As Long
sCognomeConiugeM As String * 20
sNomeConiugeM As String * 20
sComuneM As String * 20
sProvinciaM As String * 2
dtDataM As Date
End Type
Public glMaxRecord As Long
Public glMaxIDFam As Long
Public glMaxAttoM As Long
Public RecAnagrafe() As RecordAnagrafe
----------------------------------------------------------------------------
Sub LeggiFile()
Dim nFreeFile As Integer
Dim RecLen As RecordAnagrafe
Dim lI As Long
nFreeFile = FreeFile
On Error GoTo ErroreFile
Open "../Data/Anagrafe.db" For Random As #nFreeFile Len = LenB(RecLen)
'calcolo il numero di record
glMaxRecord = LOF(nFreeFile) / LenB(RecLen)
glSalvato = glMaxRecord
If glMaxRecord > 0 Then
'ridimensiono la tabella
ReDim RecAnagrafe(glMaxRecord)
'carico i file
For lI = 1 To glMaxRecord
Get #nFreeFile, lI, RecAnagrafe(lI)
'salvo l'ID maggiore della famiglia
If glMaxIDFam < RecAnagrafe(lI).lIDFamiglia Then
glMaxIDFam = RecAnagrafe(lI).lIDFamiglia
End If
'salvo il numero di atto matrimonio
If glMaxAttoM < RecAnagrafe(lI).lAttoM Then
glMaxAttoM = RecAnagrafe(lI).lAttoM
End If
Next lI
End If
Close #nFreeFile
End Sub
Sub ScriviFile()
Dim nFreeFile As Integer
Dim RecLen As RecordAnagrafe
Dim lI As Long
nFreeFile = FreeFile
On Error GoTo ErroreFile
Open "../Data/Anagrafe.db" For Random As #nFreeFile Len = LenB(RecLen)
'scrivo i file
For lI = glSalvato + 1 To glMaxRecord
Put #nFreeFile, lI, RecAnagrafe(lI)
Next lI
Close #nFreeFile
End Sub
Spero che sia chiaro...se nn capisci qlc chiedi pure :)
Ok, ti ringrazio del pensiero, soprattutto visto che si trattava di un post di qualche giorno fà.
prego...ma siccome nn sono stato a casa in questi giorni ho letto anche alcune pagine arretrate :p
ciaooooooooooooo
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.