[ Foro de Pascal ]
tengo un procedure, de lectura de contraseña, que sirve para dos menús. cuando corro el programa me tira mal (siempre, a pesar de ser la clave correcta) el primer intento, no entiendo donde estaría el error. Agradecería si alguien me ayuda...
(en el if true, que asigna la clave de empresa, le agregue la asignación y en el falso, está hecho como lo hice al principio...)
Procedure LECTURACONTRA (OPC:integer);
var
ch:char;
password, CLAVE: string;
cont:integer;
begin
ClrScr;
password:='0';
cont:= 0;
if (OPC=1) then
begin
CLAVE:='EMPRESA123';
repeat
write('Ingrese la CLAVE de ACCESO EMPRESA: ');
ch:= readkey ;
while (ch<>#13) do
begin
password:=password+ch;
write('*');
ch:=readkey;
end;
if password = CLAVE then
begin
writeln('ACCESO CORRECTO');
Delay (1100);
ClrScr ;
MENUEMPRESA;
end
else
begin
cont:=cont+1;
writeln('ACCESO DENEGADO');
writeln('INTENTO NUM: ',cont);
password:='';
Delay (1100);
ClrScr ;
end
until (password='EMPRESA123') or (cont=3)
end;
if (OPC=2) then
REPEAT
write('Ingrese la CLAVE de ACCESO CLIENTE: ');
ch:=readkey;
while (ch<>#13) do
begin
password:=password+ch;
write('*');
ch:=readkey;
end;
if password = 'CLIENTE123' then
begin
writeln('ACCESO CORRECTO');
Delay (1200);
ClrScr ;
MENUCLIENTE;
OPC:=0;
end
else
begin
cont:=cont+1;
writeln('ACCESO DENEGADO');
writeln('INTENTO NUM: ',cont);
password:='';
Delay (1200);
ClrScr ;
end
until (password='CLIENTE123') or (cont=3);
end;
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)