Delphi te da la posibilidad de usar ficheros paradox, dbase y otros que pueden hacerte mas simple el trabajo, Pero ..... si necesitas hacerlo de esta manera, es algo asi.
(Disculpame si cometo algun error, pero hace mucho tiempo que no lo uso)
Type
tNombre = record
Nombre = String[30]
Direccion = String[25]
.
.
.
End ;
Var
Arch : File Of tNombres ;
Reg : tNombres ;
Begin
AssignFile(Arch, 'Nombre_Archivo.DAT');
{$I-}
Reset(Arch) ;
{$I-}
If IOResult <> 0 // el archivo no existe o hay otro error
Then Rewrite(Arch) // Rewrite Crea el archivo
// Para Leer .......
Seek(Arch,2) ; // Posiciona el archivo en el registro indicado......
Read(Arch, Reg); // Reg fue definida como de tipo tNombres
// Para escribir
Reg.Nombre := 'YYYYYYYYYYY' ;
Reg.Direccion := 'XXXXXXXXXXX' ;
Seek(Arch,2) ; // Posiciona el archivo en el registro indicado......
Write(Arch, Reg); // escribe el contenido de Reg en el archivo.
CloseFile(Arch);
end ;
End ;
Las funciones
EOF(Arch) debuelve true si llegaste a fin de archivo
Filesize(Arch); te da el tamaño del archivo en cantidad de registros (si el valor no es correcto agregale PACKED antes de RECORD en la definicion del registro).
Espero que te sirva, saludos.