Pascal/Turbo Pascal - DUDA DE ARCHIVOS!!!!!

 
Vista:

DUDA DE ARCHIVOS!!!!!

Publicado por Mariana Fernandes (2 intervenciones) el 18/03/2003 02:57:46
Tengo una duda, estoy haciendo un programa que utiliza los datos de un archivo "notepad" y necesito hacerle un restriccion de manera que si alguien introduce un archivo vacio, le diga " EL ARCHIVO ESTA VACIO, INTENTE DE NUEVO "
EJEMPLO:
while ( archivo=' ' ) do
begin
clrscr;
writeln ( ' no esta verifique introduzca otro archivo ' );
readln (ruta);
assign (archivo,ruta);
end;

la parte: ( archivo=' ' ) es la que no sé como se declara en PASCAL, no sé como PASCAL entiende que un archivo no contiene datos osea esta vacio.
NOTA: Si pueden enviarme la respuesta lo antes posible se lo agradeceria porque es un proyecto que tengo que entregar esta misma semana.
MUCHAS GRACIAS DE ANTEMANO POR SU COLABORACIÓN!
buenas noches, hasta luego!!!
chaup
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:DUDA DE ARCHIVOS!!!!!

Publicado por M@arceloL (4 intervenciones) el 18/03/2003 04:09:39
Si entiendo lo que querés decir, esto es:

if filesize(MiArchivo)=0 then writeln('El archivo está vacío.').

Donde MiArchivo es un archivo de cualquier tipo que DEBE estar abierto (reset o rewrite).

Espero te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DUDA DE ARCHIVOS!!!!!

Publicado por Roberto Garcia (128 intervenciones) el 18/03/2003 06:48:03
La respuesta anterior sirve si el archivo es binario.

Pero si el archivo que estas utilizando es de tipo texto entonces lo que tienes que hacer es abrirlo para solo lectura con reset

despues de llamar a reset puedes hacer esto vacio:=eof(archivo)

si vacio contiene verdadero el archivo esta vacio.

tambien puedes usar directamente

reset(archivo);
if eof(archivo) then
write('Archivo vacio');

La ayuda de pascal te lo dice, suponiendo que F es la variable del archivo.

" Si F es un archivo de texto, F se abre para solo lectura. Despues de llamar a reset, Eof(F) es verdadero si el archivo esta vacio "
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DUDA DE ARCHIVOS!!!!!

Publicado por Diego Romero (786 intervenciones) el 18/03/2003 07:00:37
Otra tan efectiva como las anteriores pero que además devuelve más información útil acerca del archivo:
uses dos;
var
Info: SearchRec;
begin
FindFirst('salida.txt',Archive,Info);
if Info.Size = 0 then Writeln('El archivo está vacio.');
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar