• Viernes 8 de Noviembre de 2024, 19:51

Autor Tema:  carga de archivos, solo me valida rutas en C y las demas no?  (Leído 2985 veces)

zeroan

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
carga de archivos, solo me valida rutas en C y las demas no?
« en: Sábado 23 de Enero de 2010, 02:06 »
0
Hola a todos estoy tratando dde leer un archivo en pascal, y no hay problema si la ruta es por ejemplo C:A.txt pero apenas lo puevo a desktop o algo y cambio la ruta me dice que no es posible leerlo por ejemplo si lo pongo en C:UsersIDesktopA.txt), me dice que no lo lee.
antes no me ocurria con el mismo codigo, apenas lo pase a C para no tener que escribir tanto cuando me pide la ruta, desde ahi no puedo cargar otro q no se encuentre ahi. mi funcion de leer archivo es


function LeerArch(var archentr:archivo;archr:string):boolean; {lee el archivo de entrada}
begin
LeerArch:= false;
assign(archentr,archr);
{$I-}
Reset(archentr);
{$I+}
if IOresult = 0 then
begin
LeerArch:= true;
writeln('archivo cargado con exito');
end
else
begin
LeerArch:= false;
writeln('archivo no se cargo');
end;
readln;
end;



que puede fallar?

DriverOp

  • Miembro MUY activo
  • ***
  • Mensajes: 201
    • Ver Perfil
Re: carga de archivos, solo me valida rutas en C y las demas no?
« Respuesta #1 en: Sábado 23 de Enero de 2010, 02:10 »
0
¿Qué compilador de Pascal estás usando?

zeroan

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: carga de archivos, solo me valida rutas en C y las demas no?
« Respuesta #2 en: Sábado 23 de Enero de 2010, 02:15 »
0
Dev Pascal 1.92

DriverOp

  • Miembro MUY activo
  • ***
  • Mensajes: 201
    • Ver Perfil
Re: carga de archivos, solo me valida rutas en C y las demas no?
« Respuesta #3 en: Sábado 23 de Enero de 2010, 05:27 »
0
Dev Pascal es un entorno de desarrollo, en el fondo usa Free Pascal. Por las dudas me lo he bajado e instalado. He copiado el código que has puesto y no tuve problemas en leer cualquier archivo en cualquier lugar del disco, justo como esperaba de Free Pascal ya que FP sí puede leer nombres de archivos (y directorios) largos.

¿Cómo estás llamando a la función en el cuerpo principal?

zeroan

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: carga de archivos, solo me valida rutas en C y las demas no?
« Respuesta #4 en: Sábado 23 de Enero de 2010, 16:55 »
0
LeerArch(archentr,archr)

DriverOp

  • Miembro MUY activo
  • ***
  • Mensajes: 201
    • Ver Perfil
Re: carga de archivos, solo me valida rutas en C y las demas no?
« Respuesta #5 en: Domingo 24 de Enero de 2010, 05:40 »
0
¿Pero y qué valores tienen esas variables?

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: carga de archivos, solo me valida rutas en C y las demas no?
« Respuesta #6 en: Domingo 24 de Enero de 2010, 06:50 »
0
Intenta escapando las Diagonales o invirtiendolas

Código: Pascal
  1. C:\Users\I\Desktop\A.txt
  2.  

Código: Pascal
  1. C:/Users/I/Desktop/A.txt
  2.  

Pd. Pascal hace anios que no lo veo, eso "tal vez" pueda funcionar, espero que algun experto nos ilustre :P


Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

DriverOp

  • Miembro MUY activo
  • ***
  • Mensajes: 201
    • Ver Perfil
Re: carga de archivos, solo me valida rutas en C y las demas no?
« Respuesta #7 en: Domingo 24 de Enero de 2010, 14:42 »
0
Me temo que no va a funcionar. Las rutas deben estar en el formato que acepta el SO.

fjmc22

  • Nuevo Miembro
  • *
  • Mensajes: 18
    • Ver Perfil
Re: carga de archivos, solo me valida rutas en C y las demas no?
« Respuesta #8 en: Domingo 24 de Enero de 2010, 15:51 »
0
Yo para hacer una vez un  programa utilice esto, espero que te sirva de algo:

Un saludo:

PD: yo ponia "C:archivo.bin" y no tenia ningun problema

Si quieres te puedo enviar un libro en pdf que tengo, que vienen mucho ejercicios resueltos.

Código: Pascal
  1.   FUNCTION Existe (VAR fichero:TFichero; nombre:string):Boolean;
  2.       BEGIN
  3.          Assign(fichero,nombre);
  4.          {$I-}
  5.          RESET(fichero);
  6.          {$I+}
  7.          Existe:=(IOResult=0);
  8.       END;
  9.  
  10.    PROCEDURE CargarDatos (VAR m:Tm);
  11.       VAR
  12.          ficher:TFichero;
  13.          nombre:STRING;
  14.       BEGIN
  15.          writeln('nombre del archivo, incluyendo direccion y formato');
  16.          readln(nombre);
  17.  
  18.          IF Existe(ficher,nombre) THEN
  19.             BEGIN
  20.                Assign(ficher,nombre);
  21.                RESET(ficher);
  22.                read(ficher,m);
  23.                CLOSE(ficher);
  24.             END
  25.          ELSE
  26.             writeln('No existe');
  27.       END;
  28.  
  29.