hasełko!

0

Jak zrobić program po którego włączeniu wyświetli się okno z prośbą o podanie hasła.Wpisane hasło zostanie zapamiętane i za każdym razem po włączeniu programu wyświetlane będzie okno z prosbą o podanie hasła.Hasło bedzie to które było wpisane jako pierwsze przy pierwszym włączeniu programu.(Gdy ktoś poda błędne hasło wyświetli się komunikat ze nie zna hasla i program sie zamknie.

0

podaj e-maila to ci wysle zrodla , OK ??--Ozyrys Pozdrawiam {hello}
Delphi 6

0

zapisać datę pierwszego odpalenia proga. Na poxczatku niech prog sprawdza aktualaną datę i porównuje ją z tą zapisana, jesli będzie więcej niż 30 dni, to niech wyswietla forme "podaj serial", jeśli zarejestruje, to niech usunie plik ;)
--Spin
(Delphi 5 Enterprise)

0

qrva, nic nie piłem i nie moge trafić tam gdzie chce ;) {browar} {browar} {glowa} --Spin
(Delphi 5 Enterprise)

0

na razie ci powiem ze haslo musisz zapisac w rejestrze a jak chcesz zeby pierwsze wpisane haslo bylo potem aktualne to mozesz zapisac w rejestrze wartosc typu boolean i jezeli jest true to sprawdzac haslo ze stringiem w rejstrze a jak jest false to zapisac string...
troche to zagmatwalem , jak niekapujesz to wyjasnie--Ozyrys Pozdrawiam {hello}
Delphi 6

0

mozna by jeszcze haslo zapisywac do rejestru w stanie zakodowanym, zeby RegEditem nie dalo sie podejrzec...--Pawel

Delphi6

0

Proszę źródło programu na [email protected]

0

Sorrki ze mi sie nie chce pisac calego programu ale napisze jak to zrobic...

Ja bym to zrobił nastepujaco :

1) najpierw ukryl forme programu przy wlaczaniu (w Project Source) :

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.ShowMainForm := false;
Application.Run;
end.

2)Ustalic zmienna globalana :

B : Boolean;

3)Potem wstawil w OnCreate formy taka procke :

procedure TForm1.FormCreate(Sender: TObject);
var
Reg : TRegistry;
begin
B := false;
Reg := TRegistry.Create;
try
Reg.OpenKey( 'Software\hasło' , true );
if Reg.ValueExists('wlaczone') then
B := Reg.ReadBool( 'wlaczone' );
finally
Reg.Free;
end;
end;

4) Wstawic Timera z intervalem '5' a w OnTimer :

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if B = true then
Form2.ShowModal; forma gdzie user ma podac hasło
if B = false then
Form3.ShowModal;
forma gdzie user ma ustalic haslo
end;

5) Na formie nr 3 tak zapisac do rejestru haslo :

rocedure TForm3.Button1Click(Sender: TObject);
var
Reg :TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
try
Reg.OpenKey( 'Software\haslo' ,True);
Reg.WriteString('hasło', Edit1.Text);
Reg.WriteBool('wlaczone', true);
finally
Reg.Free;
begin
form1.show;
close;
end;
end;

6) Na formie 2 tak odczytac hasło :

procedure TForm2.Button1Click(Sender: TObject);
var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE:
try
Reg.OpenKey( 'Software\hasło' , False );
if Edit1.Text = Reg.ReadString( 'haslo' ) then
Form1.show
else
showmessage('zle haslo');
finally
Reg.Free;
end;
end;

PS. moze byc troche błedow - ale pisalem dosc szybko i nie sprawdzalem wszystkiego... Jak cos natomiast bedzie calkowicie zle to Napiszcie !!--Ozyrys Pozdrawiam {hello}
Delphi 6

0

Na stronie jest komponent do hashowania &gt jeśli chcesz zakodować hasło najpierw je przekstałć na hash'a i dopiero zapisz do rejestru.
przy odczycie musisz wpisane hało przekształcić na hash i porównać hash'e.

Ps: zamiast zmiennej boolean w rejestrze możesz sprawdzać po prostu czy wartość z hasłem (hash'em) istnieje--Sebo +)
(Delphi3)

0

Sebo napisał:
&gtPs: zamiast zmiennej boolean w rejestrze możesz sprawdzać po prostu czy wartość z hasłem istnieje

racja racja...niepomyslalem o tym (pisalem dosc szybko) ale to tez ma swoje dobre strony :-)
--Ozyrys Pozdrawiam {hello}
Delphi 6

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0