nih, listingnya:

{BEGIN}


Uses crt;

Procedure Readast(var kata:string);
var ch:char;
    panjangkar:integer;
begin
kata:='';
panjangkar:=0;
repeat
      ch:=readkey;
      if ( ((ch>=#65) and (ch<=#90)) or ((ch>=#97) and (ch<=#127)) ) and
(panjangkar<=8) then
        {angka atau huruf}
         Begin
         kata:=kata+ch;
         write('*');
         inc(panjangkar);
         End;
      if (ch=#8) and (panjangkar>=1) then       {backspace}
         Begin
         Delete(kata,length(kata),1);
         gotoxy(wherex-1,wherey);
         write(' ');
         gotoxy(wherex-1,wherey);
         dec(panjangkar);
         End;
until ch=#13;           {enter}
end;





{===================Main Module=======================}

Const max = 5; {daftar maksimal user}
      lengthStr = 8; {maksimal panjang username/pass}
{all const here are customizable}

Var UserInput,PassInput:String;
    UserPass:Boolean;
    ListUserNames : array[1..max] of string[lengthStr];
    ListUserPasses : array[1..max] of string[lengthStr];
    retry:char;
    i:integer;

Begin
{Initialize}
    ListUserNames[1]:='admin';  {case sensitive}
    ListUserPasses[1]:='test';
Repeat
    clrscr;
    TextColor(15);
    WriteLn;
    WriteLn('Enter user name & password to login');
    writeln('***********************************');
    writeln;

    Write(#13+#10+'  User name : ');
    Readast(UserInput);
    Write(#13+#10+'  Password  : ');
    Readast(PassInput);

    UserPass:=false;
    i:=1;
    if UserInput<>'' then
    repeat
          if ListUserNames[i]=UserInput then
             if ListUserPasses[i]=PassInput then
                UserPass:=true;
          inc(i)
    until ( (ListUserNames[i]='') or (i>=max) ) or (UserPass);

    if not UserPass then
       begin
       textcolor(4);
       writeln;writeln;
       writeln('User name or Password Invalid');
       write('Press Any key to retry or Esc to exit');
       retry:=readkey;
       end;

until (UserPass) or (retry=#27);
writeln;
if UserPass then Writeln(#13+#10+'  You'+ #39 + 're in') else
Writeln(#13+#10+'  e x i t') ;
readkey;
End.

{END}

regards

gaga

ps : kalo masih bingung juga, atau butuh penjelasan listing, email japri
aja.thanx.



 http://www.indolinux.com - Nikmati Layanan Personal INDOLINUX :: 
 http://techscape.net/ - Webhosting: Dual T3 on Dual Pentium III 450Mhz
 Only US$1.95/month -> CGI SSL 5MB Unlimited Traffic & Mail FP2000
 -------------------------------------------------------------------
 untuk berhenti kirim  email  ke  [EMAIL PROTECTED]
 untuk melihat peraturan kirim email  ke  [EMAIL PROTECTED]
 arsip berada di  http://www.mail-archive.com/[email protected]
 

Kirim email ke