![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ficheros en pascal
Hola buenas tardes, lo primero comentar que no se si hago bien en abrir nuevo hilo o debería seguir con el otro que abrí, aclarármelo por favor. La cosa es que estoy aciendo un ejercicio que me pide hacer un programa que haga una copia de seguridad de un
archivo de texto en uno con tipo (file of char). Para ello debo utilizar el carácter % para indicar en este fichero el fin de línea del fichero de texto.Además el programa debe preguntar al usuario el nombre del fichero a copiar y el de la copia a generar. Posteriormente, el programa debe ser capaz de mostrar por pantalla el fichero con tipo como originalmente estaba el de texto. Se puede presentar un menú de opciones. Yo lo tengo mas o menos hecho pero me da un error que dice que no puedo mezclar tipo char y string. Aquí os pongo el código por si os ocurre algo, graciasss saluudoss uses SysUtils; procedure mostrarMenu; //Este procedimiento o subprograma aparece tras introducir los tiempos y cada vez //que elegimos una opción de las que nos propone y esta finaliza vuelve a aparecer begin writeln ('*************** COPIAS DE SEGURIDAD ********************'); writeln; writeln (' 0.- Para volver a mostrar menu'); writeln; writeln (' 1.- Crear fichero.'); writeln; writeln (' 2.- Hacer una copia de seguridad.'); writeln; writeln (' 3.- Generar por pantalla.'); writeln; writeln ('Introduzca una opcion < numero del 1 al 4 > y pulse intro: '); end; procedure hacercopia(var f:text); var nombre2,nombre:string; d:FILE of char; v:string[1]; x:char; begin writeln('Introduzca el nombre del arcivo a copiar'); readln(nombre); writeln('Introduzca el nombre del fichero que desea generar'); readln(nombre2); assignfile (d,nombre2); rewrite(d); assignfile (f,nombre); {$I-} reset(f); {$I+} if ioResult=0 then begin while (not (eoln(f))) do begin read(f,v); write(d,x); end; close(f); end; end; procedure generar(var f:text;var nombre2:string); begin {$I-} reset(f); {$I+} if ioResult=0 then end; Const OpcionesMaximas=2;//ya que la opcion maxima es 4 var opcion:integer; nombre,nombre2:string; f:text; texto:string; v:string[1]; begin mostrarMenu; repeat writeln; repeat write ('Introduzca una opcion valida < 0 para mostrar menu > '); readln (opcion); case opcion of 0:mostrarMenu; 2:hacercopia(f); 3:generar(f,nombre2); end until (opcion>=0) or (opcion<OpcionesMaximas); until //si la opcion elegida es 4 ha elegido salir. opcion=OpcionesMaximas; writeln (' Pulse INTRO para Finalizar ');//Se finaliza el programa readln; end. |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Manipulacion de Ficheros en Pascal | armadillo | Varios | 4 | 16-02-2007 20:23:38 |
manual de excepciones de object pascal para free pascal??? | Garion | OOP | 3 | 27-05-2005 00:42:29 |
Una de Pascal | agonzalez | Varios | 2 | 31-07-2003 15:51:47 |
pascal | shaktale | Debates | 23 | 04-07-2003 19:27:30 |
Una de Pascal | agonzalez | Varios | 8 | 05-06-2003 01:38:12 |
![]() |
|