Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 2.594 pregleda

Najnovija ↓

skrivena slova? PASCAL 06.01.2009. u 06:01 · pre 216 meseci #1
Code:

procedure login_input(var name,pass:string);
begin
 writeln('LOGIN');
 new;
 write('Korisnicko ime : ');
 readln(name);
 write('Lozinka : ');
 readln(pass);
end;


Kako da u redu 'Lozinka : ' ono sto korisnik unese bude zasticeno...
npr ako on zeli da unese magarac da na ekranu bude ispisano samo *******.
Re: skrivena slova? PASCAL 06.01.2009. u 14:10 · pre 216 meseci #2
> Kako da u redu 'Lozinka : ' ono sto korisnik unese bude zasticeno...
> npr ako on zeli da unese magarac da na ekranu bude ispisano samo *******.

To je u konzoli malo teže, u nekoliko rešenja postoji:
1) moraš da presretneš slovo pre upisa na ekran i sam upišeš *. Ako je program samo za Windows onda možeš koristiti WinApi consolne funkcije, recimo ReadConsoleInput, WriteConsole itd. Svakako proveri i da li FPC ima neke nezavisne funkcije za ovo (dakle na nižem nivou od Read i ReadLn).
2) da posle ispisa se vratiš unazad i zameniš ispisano slovo sa *. Pogledaj u FreePascal compiler ima li funkcija za pozicioniranje na tačno određenu poziciju.
3) da u potpunosti sakriješ ispis (neće biti ni slova ni *). To možeš postići pomoću SetConsoleMode WinApi funkcije.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: skrivena slova? PASCAL 06.01.2009. u 15:54 · pre 216 meseci #3
uh to nisam jos radio.
Znas mozda kako bih mogao to da implementiram u ovu proceduru?

Meni je problem sto ja ovo sve moram konsolno da odradim, lako bi ja to da je OO.

Mislim sad je problem u tome kako ja da vatam slova i da vracam * i kako to da smestim posle u jedan string.
Kad ce mi se unos slova zavrsiti i slicne stvari.

Mada ne bi bila losa stvar i da mi objasnis kako da bude bez icega, samo da se unose slova a da na ekranu nista ne ispisuje, to je dosta profesionalno.
Re: skrivena slova? PASCAL 06.01.2009. u 16:10 · pre 216 meseci #4
> Mislim sad je problem u tome kako ja da vatam slova i da vracam * i kako to da smestim posle u jedan string.
> Kad ce mi se unos slova zavrsiti i slicne stvari.

Napisao sam ti koje funkcije treba da pogledaš, dakle MSDN u šake i proučavaj. S tim što ti je moj savet da prvo pogledaš ima li nešto slično u FPCu, a kako on dolazi uz source možeš i tamo videti.

> Mada ne bi bila losa stvar i da mi objasnis kako da bude bez icega, samo da se unose slova a da na ekranu nista ne ispisuje, to je dosta profesionalno.

Evo kratak primer, za ostalo MSDN i sam istraži.

Code:

uses
  Windows, SysUtils;

var
  StdInputHandle: THandle;
begin
  StdInputHandle := GetStdHandle(STD_INPUT_HANDLE);
  SetConsoleMode(StdInputHandle, ENABLE_MOUSE_INPUT or ENABLE_PROCESSED_INPUT or ENABLE_LINE_INPUT);

  Readln;
end.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: skrivena slova? PASCAL 06.01.2009. u 17:15 · pre 216 meseci #5
Nasao sam mnogo sladje resenje :D

Code:

while c<>chr(13) do begin
  if KeyPressed then
   begin
    c:=ReadKey();
    pass:=pass+c;
    write('*');
   end;
  end;


Samo sto jos treba da nadjem resenje za backspace jer ga prihvata kao unos na tastaturi i ispisuje zvezdicu.

Hvala u svakom slucaju!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme