Nel tuo esempio indichi che il record e' lungo 400 caratteri ma, per ogni record ne scrivi solo 4 ... gli altri 396 saranno caratteri casuali che erano presenti su disco in precedenza ...

Le stringhe a lunghezza variabile, non vanno bene. Nella struttura le stringhe devono essere a lunghezza fissa.

Si possono anche inserire dei valori numerici trattandoli normalmente. Con una struttura del tipo

codice:
Type Persona
   Cognome As String * 25
   Nome As String * 25
   Eta As Integer
   Stipendio As Currency
End Type
puoi avere un elemento di questo tipo

codice:
Dim Impiegato As Persona
e lavorare normalmente con i valori numerici

codice:
Impiegato.Cognome = "Rossi"
Impiegato.Nome = "Paolo"
Impiegato.Eta = 32
Impiegato.Stipendio = 1000
e salvarli con tutta la variabile

codice:
Put #1, rec, Impiegato
Per leggere i dati usi la Get

codice:
Get #1, rec, Impiegato
e l'uso dei dati letti

codice:
Print Impiegato.Stipendio
Naturalmente nella Open, la lunghezza del record sara' specificata con

codice:
... Len = Len(Impiegato)