codice:
Type RecordOutput
Campo1 As String * 20
Campo2 As String * 10
Campo3 As String * 15
ZdZa As String * 2
End Type
Dim RO As RecordOutput
....
Sub ScriviOut
Open NomeFileOutput For Random As #1 Len = Len(RO)
RO.ZdZa = Chr(13) & Chr(10)
....
For Indice = 1 To NumeroDiRecord
....
RO.Campo1 = Space(Len(RO.Campo1))
RO.Campo1 = ScriviCampo(RTrim(Cstr(CampoDB1)), Len(RO.Campo1))
RO.Campo2 = Space(Len(RO.Campo2))
RO.Campo2 = ScriviCampo(RTrim(Cstr(CampoDB2)), Len(RO.Campo2))
RO.Campo3 = Space(Len(RO.Campo3))
RO.Campo3 = ScriviCampo(RTrim(Cstr(CampoDB3)), Len(RO.Campo3))
Put #1, , RO
Next Indice
....
Close #1
End Sub
Function ScriviCampo(CampoDaDB As String, MaxLen As Integer) As String
If Len(CampoDaDB) > MaxLen Then
ScriviCampo = Left(CampoDaDB, MaxLen)
Else
ScriviCampo = CampoDaDB
End If
End Function
Se il campo è + corto rimangono gli spazi a destra, se è + lungo viene troncato