Amigo b3nshi, no entiendo muy bien el asunto, el "file of" type, solo sirve para una programación sencilla, es muy importante que entiendas que todos los archivos son binarios, el 100%. Lo que hace que un archivo sea entendido como de "texto" es que su contenido son letras y que está escrito en un lenguaje, el cual despues de cada oracion tiene un "CrLf" (Enter)
Por ejemplo, un archivo de texto con una únia linea que diga "'Hola amigo b3nshi" tendría la siguiente apariencia binaria:
Código:
$48,$6F,$6C,$61,$20,$61,$6D,$69,$67,$6F,$20,$62,$33,$6E,$73,$68,$69.$0D,$0A
Un archivo de texto unicode tiene caracteres que ocupan el doble de su tamaño normal, exadecimalmente estaríamos viendo:
Código:
$48,$00,$6F,$00,$6C,$00,$61,$00,$20,$00,$61,$00,$6D,$00,$69,$00,$67,$00,$6F,$00,$20,$00,$62,$00,$33,$00,$6E,$00,$73,$00,$68,$00,$69,$00.$0D,$00,$0A,$00
Al ver un archivo con el type lista que nombrabas y un registro estaríamos viendo algo como ésto:
Código:
$11,$48,$6F,$6C,$61,$20,$61,$6D,$69,$67,$6F,$20,$62,$33,$6E,$73,$68,$69.......
$2F,$45,$73,$74,$65,$20,$73,$65,$72,$ED,$61,$20,$6C,$61,$20,$73,$65,$67,$75....
Te muestro ésto para que comprendas que al final el Sistema Operativo maneja a los archivos de una sola forma (todos binarios), y con sentencias dedicadas. Delphi reduce el nivel de abstracción con archivos de un "tipo" definido por el programador.
Al grano, Si quieres comprobar la existencia de un archivo podrías utilizar la función "FileExists", Yo en lo personal utilizo la siguiente orden:
Código Delphi [-] if GetFileAttributes('c:\archivo.txt') = INVALID_HANDLE_VALUE then
MessageBox(0, 'Archivo no existe', nil, 0);
Si quieres implementar la creación de un archivo vacío al no existir el mismo te aconsejo usar la siguiente orden:
Código Delphi [-] CloseHandle(CreateFile('c:\archivo.txt', 0, 0, nil, OPEN_ALWAYS, 0, 0));
Finalmente y esperando no haberte confundido te dejo una linea para que veas si te es útil en tu mismo ejemplo:
Código Delphi [-] TFileRec(Archivo1) := TFileRec(Archivo2);
Saludos
|