20-06-2010, 16:24
A ver quien me ayuda por favor
estoy haciendo un programa en el cual tengo un archivo de deudas con deudas de clientes, un archivo de pagos con los pagos que hicieron y tengo que crear un archivo nuevo con las deudas actualizadas segun lo que pagaron.
el programa diagramado ya lo tengo bien, pero cuando lo paso a pascal hay algo que no puedo hacer
por ejemplo, supongamos que un cliente no pago nada, yo directamente copio las deudas que tenia del archivo viejo de deudas y las paso al actualizado sin modificar nada, porque al no pagar nada tiene la misma deuda de siempre y se la paso al nuevo actualizado.
Cuando pongo por ejemplo write(ArchivoNuevoActualizado,RegistroViejoDeudas) , para copiar el registro viejo con las deudas al nuevo actualizado, me tira type mismatch. O sea, yendo al grano, no se como copiar un registro de un archivo a otro archivo. En type ya defini todo, pero bueno les paso lo que defini aca a ver si alguno ve un error o como hay que hacerlo realmente.
Program ccc;
uses Newdelay, crt;
type
RDeudas = record
NCli: integer;
NmCli: string[20];
FUP: longint;
ITA: real;
end;
FDeudas = file of RDeudas;
Rpagos = record
NCli: integer;
FUP: longint;
ImPag: real;
end;
FPagos = file of RPagos;
RNad = record
NCli: integer;
NmCli: string[20];
FUP: longint;
ITA: real;
end;
FNad = file of RNad;
var
ArPagos: FPagos;
ArDeudas: FDeudas;
ArNad: FNad;
regd: RDeudas;
regP: RPagos;
regNad: RNad;
FTol: longint;
FUlt: longint;
AcImp: real;
NCliA: integer;
begin
assign(ArPagos,'PAGOSO.DAT');
reset(ArPagos);
assign(ArDeudas,'DCLIENT.DAT');
reset(ArDeudas);
assign(ArNad,'NAD.DAT');
Rewrite(ArNad);
writeln('Ingrese fecha de tolerancia: ');
readln(ftol);
... etc
estoy haciendo un programa en el cual tengo un archivo de deudas con deudas de clientes, un archivo de pagos con los pagos que hicieron y tengo que crear un archivo nuevo con las deudas actualizadas segun lo que pagaron.
el programa diagramado ya lo tengo bien, pero cuando lo paso a pascal hay algo que no puedo hacer
por ejemplo, supongamos que un cliente no pago nada, yo directamente copio las deudas que tenia del archivo viejo de deudas y las paso al actualizado sin modificar nada, porque al no pagar nada tiene la misma deuda de siempre y se la paso al nuevo actualizado.
Cuando pongo por ejemplo write(ArchivoNuevoActualizado,RegistroViejoDeudas) , para copiar el registro viejo con las deudas al nuevo actualizado, me tira type mismatch. O sea, yendo al grano, no se como copiar un registro de un archivo a otro archivo. En type ya defini todo, pero bueno les paso lo que defini aca a ver si alguno ve un error o como hay que hacerlo realmente.
Program ccc;
uses Newdelay, crt;
type
RDeudas = record
NCli: integer;
NmCli: string[20];
FUP: longint;
ITA: real;
end;
FDeudas = file of RDeudas;
Rpagos = record
NCli: integer;
FUP: longint;
ImPag: real;
end;
FPagos = file of RPagos;
RNad = record
NCli: integer;
NmCli: string[20];
FUP: longint;
ITA: real;
end;
FNad = file of RNad;
var
ArPagos: FPagos;
ArDeudas: FDeudas;
ArNad: FNad;
regd: RDeudas;
regP: RPagos;
regNad: RNad;
FTol: longint;
FUlt: longint;
AcImp: real;
NCliA: integer;
begin
assign(ArPagos,'PAGOSO.DAT');
reset(ArPagos);
assign(ArDeudas,'DCLIENT.DAT');
reset(ArDeudas);
assign(ArNad,'NAD.DAT');
Rewrite(ArNad);
writeln('Ingrese fecha de tolerancia: ');
readln(ftol);
... etc