type
.
.
.
.
.
.
Factura = record
cli: word;
fecha : string[15];
RifCed : string[15];
Nombre : string[35];
ap : string[35];
tel : string[15];
Dir : string;
Codpro : word;
Descrip : string[45];
Canti : word;
Precio: word;
total: integer;
end;
var
archivo1 : file of persona;
archivo2 : file of producto;
archivo3 : file of factura;
cliente : persona;
productos : producto;
facturas : factura;
opcion5 : char;
a,b : byte;
dow : word;
car : word;
pro : word;
numfact : word;
control : char;
total,totalinea,cantiv,e,me,d,ds:word;
x: integer;
valoriva: integer;
.
.
.
.
.
.
{***********PROCESO PARA FACTURA NUEVA****************}
Procedure factnuevo;
begin
assign(Archivo3,'facturas.dat');
reset(archivo3);
seek(archivo3,filesize(archivo3));
with facturas do
begin
textcolor(white);
gotoxy(5,5);
writeln ('# Factura: ');
gotoxy(16,5);
writeln(filepos(archivo3)+1);
gotoxy(50,5);
getdate(e,me,d,ds);
write ('Fecha: ', d,' - ', me,' - ',e);
control:= 'b';
repeat
gotoxy(5,6);
textcolor(white);
writeln ('# Cliente: ');
gotoxy(16,6);
readln (car);
assign(archivo1,'clientes.dat');
reset(archivo1);
begin
while not eof(archivo1) do
begin
read(archivo1,cliente);
with cliente do
begin
if (car) = filepos(archivo1) then
begin
control := 'a';
gotoxy(5,7);
writeln ('Nomb: ',nombre, ' ',ap);
gotoxy(5,8);
writeln ('Rif/Ced: ',rifced);
gotoxy(50,9);
writeln ('Telf.: ',tel);
gotoxy(5,9);
writeln ('Dirc.: ',dir);
end
end
end;
write(archivo3,facturas);
textcolor(white);
end;
until control= 'a';
gotoxy(5,11);
writeLN('ÚÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄ¿');
gotoxy(5,12);
textcolor(14);
writeln ('³Cod.Prod. Descripcion Precio Cantd. Total');
textcolor(white);
gotoxy(5,12);
writeln ('³');
gotoxy(14,12);
writeln('³');
gotoxy(48,12);
writeln('³');
gotoxy(56,12);
writeln('³');
gotoxy(65,12);
writeln('³');
gotoxy(73,12);
writeln('³');
gotoxy(5,13);
write ('ÃÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄ´');
end;
x:=14;
REPEAT
totalinea:=0;
gotoxy(5,x);
write ('³');
gotoxy(7,x);
readln(pro);
control:= 'b';
repeat
assign(Archivo2,'productos.dat');
reset(archivo2);
begin
while not eof(archivo2) do
begin
read(archivo2,productos);
with productos do
begin
if (pro) = filepos(archivo2) then
begin
control := 'a';
gotoxy(14,x);
write ('³ ',descrip);
gotoxy(48,x);
write ('³ ',precio);
gotoxy(56,x);
write ('³ ');
readln(cantiv);
canti:=canti-cantiv;
seek(archivo2,filepos(archivo2)-1);
write(archivo2,productos);
textcolor(white);
totalinea:= cantiv*precio;
gotoxy(65,x);
write ('³ ',totalinea);
total:=totalinea+total;
gotoxy(73,x);
write ('³');
end
end
end;
end;
until control= 'a';
x:=x+1;
UNTIL x=19;
gotoxy(5,19);
writeln ('ÀÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÂÄÄÄÄÄÁÄÄÄÄÄÄÄ´');
gotoxy(41,20);
writeln ('Total ÄÄÄÄÄ >> ³');
gotoxy(73,20);
writeln ('³');
gotoxy(63,20);
writeln (total);
gotoxy(59,21);
writeln ('ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ');
write(archivo3,facturas);
close(Archivo3);
readln;
end;