PROGRAM Prac002;
USES CRT;
VAR Dd,Mm,Aa:WORD;
Codigo:STRING;
Resp:CHAR;
PROCEDURE LeerTexto (WriteTexto:STRING; VAR OkeTexto:STRING;
RespAttr:BYTE);
VAR Oke:BOOLEAN;
X,Y,X2,Y2,TAtt1:BYTE;
BEGIN
X:=WHEREX;
Y:=WHEREY;
REPEAT
Oke:=TRUE;
GOTOXY (X,Y);
CLREOL;
WRITE (WriteTexto,': ');
TAtt1:=TEXTATTR;
TEXTATTR:=RespAttr;
READ (OkeTexto);
TEXTATTR:=TAtt1;
{}
IF LENGTH (OkeTexto) = 0 THEN
BEGIN
X2:=WHEREX;
Y2:=WHEREY;
TEXTCOLOR (14);
WRITE (#7);
WRITE (' No ha escrito nada!.');
READKEY;
GOTOXY (X2,Y2);
TEXTCOLOR (4);
CLREOL;
Oke:=FALSE
END
{}
UNTIL Oke;
WRITELN
END;
PROCEDURE LeerFecha (WriteTexto:STRING; VAR Dd,Mm,Aa:WORD;
RespAttr:BYTE);
VAR Oke:BOOLEAN;
X,Y,X2,Y2,TAtt1:BYTE;
BEGIN
X:=WHEREX;
Y:=WHEREY;
WRITELN (WriteTexto);
WRITE ('(DD, MM, AAAA, cada uno seguido de <ENTER>): ');
TAtt1:=TEXTATTR;
TEXTATTR:=RespAttr;
X2:=WHEREX;
Y2:=WHEREY;
CLREOL;
WRITE (' / /');
GOTOXY (X2,Y2);
READ (Dd);
GOTOXY (X2,Y2);
WRITE (Dd:2,'/');
READ (Mm);
GOTOXY (X2,Y2);
WRITE (Dd:2,'/',Mm:2,'/');
READ (Aa);
GOTOXY (X2,Y2);
WRITELN (Dd:2,'/',Mm:2,'/',Aa:4);
TEXTATTR:=TAtt1
END;
BEGIN
REPEAT
TEXTBACKGROUND (7);
CLRSCR;
TEXTCOLOR (0);
WRITELN (' Introduzca los datos de la Póliza a vender,');
WRITELN ('y los datos del Automóvil a asegurar:');
WRITELN;
WRITELN;
TEXTCOLOR (4);
LeerTexto ('Código de la Póliza (0 para salir)',Codigo,117);
WRITELN;
LeerFecha ('Fecha de Adquisición de la Póliza',Dd,Mm,Aa,117);
WRITELN;
WRITE (' ¿Desea procesar otra Póliza? (s/n) ');
Resp:=UPCASE (READKEY)
UNTIL Resp = 'N';
WRITELN;
WRITE (' FIN.');
READKEY
END.