Resultados 1 al 11 de 11

Tema: ficheros y pascal

  1. #1 ficheros y pascal 
    Avanzado
    Fecha de ingreso
    Apr 2003
    Mensajes
    173
    Descargas
    0
    Uploads
    0
    Muy buenas a todos, me han mandado una practica para la universidad y me he quedado un poco bloqueado, mi problema es el siguiente:
    por teclado debo meter el nombre de un fichero de entrada y otro de salida(previamente creados en c: con comandos el de entrada y el de salida vacio para guardar los resultados), el problema surge, cuando con los ficheros de texto, a la hora de la funcion "assign(fichero,direccion del fichero)", que en lugar de la direccion fisica debo pasarle lo guardado anteriormente en un string y me da error, no se si me explico bien, aqui os adjunto un fragmento de codigo:

    begin
    clrscr;
    inicio:=true;
    write('Introduzca el fichero de entrada: ');
    readln(hello);//hello:string (ej: c:\prueba.txt)
    readkey;
    abrir_entrada(entrada,hello)
    leer_entrada(entrada)
    ...
    ...
    procedure abrir_entrada(var entrad:text;hola:string);
    begin
    assign(entrad,hola);<----Aqui es donde me da un runtime error, Nº 2
    reset(entrad);
    readkey;
    ver(entrad);
    end;

    me podeis echar un cable??
    Muchas gracias
    No hay 2 sin 3, siguiendo lo conseguire
    Citar  
     

  2. #2  
    Administrador Foros HH
    Fecha de ingreso
    Nov 2001
    Ubicación
    Spain
    Mensajes
    2.234
    Descargas
    0
    Uploads
    0
    Todos desean saber, pero pocos pagar el trabajo que vale.

    [[NORMAS DEL FORO]]
    Citar  
     

  3. #3  
    Avanzado
    Fecha de ingreso
    Oct 2003
    Ubicación
    En algún diamante loco...
    Mensajes
    466
    Descargas
    5
    Uploads
    0
    Assign(entrad, hola);

    ¿La variable hola tiene la comilla ' al principio y al final?
    Cuando entres esta variable ponele ' al principio y al final.
    A Diego lo tenes que comparar con Einstein, con Mozart, Da Vinci, Platon... esta en el nivel de genio!

    MONUMENTO:
    Gracias a 4v7n42, Matias y leepriestenator
    Citar  
     

  4. #4  
    Avanzado
    Fecha de ingreso
    Apr 2003
    Mensajes
    173
    Descargas
    0
    Uploads
    0
    assign(entrad,hola), el hola seria un string que contendria el nombre (c:\prueba.txt)
    en vez de hacer assign(entrad,'c:\prueba.txt'); tengo k guardar c:\prueba.txt (x ejemplo) en hola y cargarlo como el destino del fichero.
    Gracias
    No hay 2 sin 3, siguiendo lo conseguire
    Citar  
     

  5. #5  
    Avanzado
    Fecha de ingreso
    Jan 2004
    Ubicación
    Argentina
    Mensajes
    427
    Descargas
    1
    Uploads
    0
    y bueno pasalo con comillas si es un string 'hola'
    <<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>
    No llores porque termino, sonrie porque sucedio-.
    Citar  
     

  6. #6  
    Avanzado
    Fecha de ingreso
    Oct 2003
    Ubicación
    En algún diamante loco...
    Mensajes
    466
    Descargas
    5
    Uploads
    0
    No marquitos, lo q debe hacer es, cuando ingresa esa variable en las líneas:
    write('Introduzca el fichero de entrada: ');
    readln(hello);//hello:string (ej: c:\prueba.txt)
    En vez de poner C:\prueba.txt debe poner 'C:\prueba.txt'.
    XQ Assign (String, 'string2'); donde String es el nombre con el cual denominaremos al archivo real llamado String2.
    Si él escribe:
    assign(entrad,'hola');
    Pascal buscará el archivo 'hola', quien sabe dónde (xq no tiene ruta), pero si él ingresa la variable hola con las comillas:
    Assign(Entrad, Hola)
    donde hola es de tipo: 'c:\prueba.txt' creo q va a funcionar.
    Suerte!.
    A Diego lo tenes que comparar con Einstein, con Mozart, Da Vinci, Platon... esta en el nivel de genio!

    MONUMENTO:
    Gracias a 4v7n42, Matias y leepriestenator
    Citar  
     

  7. #7  
    Avanzado
    Fecha de ingreso
    Jan 2004
    Ubicación
    Argentina
    Mensajes
    427
    Descargas
    1
    Uploads
    0
    ya se! me parece que creo que se cual es el problema...
    el tema es que el fichero no existe por tanto en vez e usar assign() tiene que usar rewrite(), la verdad no me acuerdo mucho las funciones y procedimientos el pascal. Pero si la memoria no me falla assign() busca un archivo y lo abre y rewrite() busca un archivo y lo reinicia y en el caso que no exista lo crea. Pero me parece que el probñema es que ese archivo no existe, por lo tanto primero lo debe crear.
    es una idea .. igua fijate y aviza.

    salu2
    <<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>
    No llores porque termino, sonrie porque sucedio-.
    Citar  
     

  8. #8  
    Avanzado
    Fecha de ingreso
    Oct 2003
    Ubicación
    En algún diamante loco...
    Mensajes
    466
    Descargas
    5
    Uploads
    0
    Es verdad Marquitos, puede ser eso también, pero el Assign no puede ser reemplazado x Rewrite, a lo sumo x AssignFile. Te lo confundiste con Reset.
    Puede ser resuelto con un rewrite en vez del reset.
    De última si el archivo no existe podría crear directamente en Win un txt vacío en el directorio q corresponda y listo.
    A Diego lo tenes que comparar con Einstein, con Mozart, Da Vinci, Platon... esta en el nivel de genio!

    MONUMENTO:
    Gracias a 4v7n42, Matias y leepriestenator
    Citar  
     

  9. #9  
    Avanzado
    Fecha de ingreso
    Jan 2004
    Ubicación
    Argentina
    Mensajes
    427
    Descargas
    1
    Uploads
    0
    sisi es veradad, me parece que tengo que repasar pascal.
    y lo de crear un txt depende de que tipo se el archivo si es de registros no, pero si es de texto se.
    <<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>
    No llores porque termino, sonrie porque sucedio-.
    Citar  
     

  10. #10  
    Avanzado
    Fecha de ingreso
    Oct 2003
    Ubicación
    En algún diamante loco...
    Mensajes
    466
    Descargas
    5
    Uploads
    0
    Es q él en el ejemplo puso un txt.
    readln(hello);//hello:string (ej: c:\prueba.txt)
    A Diego lo tenes que comparar con Einstein, con Mozart, Da Vinci, Platon... esta en el nivel de genio!

    MONUMENTO:
    Gracias a 4v7n42, Matias y leepriestenator
    Citar  
     

  11. #11  
    Iniciado
    Fecha de ingreso
    Jun 2004
    Mensajes
    7
    Descargas
    0
    Uploads
    0
    segun el libro que tego:

    1:
    fichetext:text;
    assing (fichetext,'c:\turbo\miprog1.pas');

    2:

    pero por que no pruebas a hacerlo sin el procedure, igual le estas pasando mal el dato, yo es ya no me acuerdo de casi nada de pascal
    Citar  
     

Temas similares

  1. Pascal
    Por MartínAriel en el foro GENERAL
    Respuestas: 1
    Último mensaje: 23-03-2006, 16:00
  2. Viejo Pascal
    Por MartínAriel en el foro PROGRAMACION DESKTOP
    Respuestas: 12
    Último mensaje: 17-03-2005, 21:37
  3. Component Pascal
    Por kaitower en el foro PROGRAMACION DESKTOP
    Respuestas: 0
    Último mensaje: 11-02-2005, 16:33
  4. Manuales de C y Pascal
    Por _UN[D]ER_ en el foro PROGRAMACION DESKTOP
    Respuestas: 7
    Último mensaje: 05-01-2004, 19:33
  5. Letras en Pascal
    Por Almorca en el foro GENERAL
    Respuestas: 3
    Último mensaje: 11-11-2003, 23:21

Marcadores

Marcadores

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •