Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-02-2008
D.M.Nieto D.M.Nieto is offline
Registrado
 
Registrado: feb 2008
Posts: 5
Poder: 0
D.M.Nieto Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 01-03-2008
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Hola.
Cuando creas o editas un mensaje en el foro, hay unas marcas llamadas "Code" que permiten que el programa sea más legible (tamaño de letra apropiado "proporcional" y por ende conservando la intentación). De esa forma se hace más fácil poder leer el código por los demás.

Saludos !

Última edición por rretamar fecha: 01-03-2008 a las 17:31:24.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
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


La franja horaria es GMT +2. Ahora son las 08:35:52.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi