Avatar billede prodoc Nybegynder
19. juli 2002 - 00:54 Der er 10 kommentarer og
1 løsning

Simpel Password funktion....

Hejsa allesamme,
jeg er ved at lave et program hvori man skal skrive et besktemt ord i en Edit for at kunne komme ind i programmet.....

EKS.
Man starter programmet...
der kommer en Edit1 og en button frem,
så skriver man ordet "password" og da det er korretk,
så viser den panel1 hvis ordet ikke er korrekt så viser den panel2

EKS...
if edit1.text := "password"
then
panel1.visible:=true;
if edit1.text:="everything else ;) "
then panel2.visible:=true;
heh ja jeg ved det godt... :)

m.v.h. ProDoc
Avatar billede prodoc Nybegynder
19. juli 2002 - 00:56 #1
forresten skal man trykke på button1 for at panel1 bliver visible eller panel 2 visible
Avatar billede stone Forsker
19. juli 2002 - 01:14 #2
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Const
  id = 'Admin';
  pw = '1234';
  re = 'sl43';

implementation

uses Unit2;

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
edit2.PasswordChar := #42;
edit3.PasswordChar := #42;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if (edit1.text = id) and (edit2.Text = pw) and (edit3.text = re) then
    form2.showmodal // brug et panel1 eller andet i stedet for
  else
    Showmessage('Forkert brugernavn eller Adgangskode');
    //brug et panel2 eller andet i stedet for
end;

end.
Avatar billede cms Nybegynder
19. juli 2002 - 02:02 #3
prodoc> Blot til info:
Når man sammenligner i Delphi, bruger man lighedstegn (=). Når man skal give en variabel en værdi, bruger man :=
Altså:

if edit1.text = "password" then
  panel1.visible:=true
else
  panel2.visible:=true;
Avatar billede yousif Nybegynder
19. juli 2002 - 16:56 #4
hmm.. en anden løsning:

var
  password : string;
begin
  password := 'dinadgangskode';
  if edit1.text = password then
  begin
    panel1.visible := true;
  end
  else
  begin
    panel2.visible := false;
  end;
end;
Avatar billede cms Nybegynder
19. juli 2002 - 19:37 #5
yousif: Man kunne jo også gøre sådan:

type
  TMyPassword = class
    Password: String;
    constructor Create;
  end;

constructor TMyPassword.Create;
begin
  Password := 'dinadngagskode';
end;

var
  MyPassword: TMyPassword;

begin
  MyPassword := TMyPassword.Create;
  if Edit1.Text = MyPassword.Password then
  begin
    Panel1.Visible := True;
  end
  else
  begin
    Panel2.Visible := True;
  end;
end;


... eller blot ...


begin
  Panel1.Visible := Edit1.Text = 'dinadgangskode';
  Panel2.Visible := not Panel1.Visible;
end;


«¦~Þ
Avatar billede yousif Nybegynder
19. juli 2002 - 20:59 #6
hmm.. en sjov en:

indsæt 4 edit's, en button og 2 panel's

procedure TForm1.Button1Click(Sender: TObject);
begin
  if (edit1.Text = 't') and (edit2.Text = 'e') and (edit3.Text = 's') and (edit4.Text = 't') then
  panel1.Visible := true
  else
  panel2.Visible := true;
end;
Avatar billede cms Nybegynder
19. juli 2002 - 21:18 #7
Hmm.. En endnu sjovere : (1 edit, 1 button, 2 panels

const
  Password = 'coolenough';
var
  I: Integer;
  B: Byte;
  S: string;
  Fail: Boolean;
begin
  S := edit1.Text;
  Fail := Length(S) <> Length(Password);
  if not Fail then
    for I := 1 to Length(S) do
    begin
      B := Ord(S[I]);
      if ((((B * 5) + 12 - B) div 4) - 3) - Ord(password[I]) <> 0 then
        Fail := True;
    end;
  Panel1.Visible := not Fail;
  Panel2.Visible := Fail;
end;
Avatar billede Slettet bruger
19. juli 2002 - 23:13 #8
heh :)
Avatar billede yousif Nybegynder
20. juli 2002 - 09:57 #9
cms>hvor længe kan man blive ved?? ..

SJOV!!

1 button (default = true) og 1 edit:

procedure TForm1.Button1Click(Sender: TObject);
begin
  if edit1.text = 'adgangskode' then
  panel1.visible := true
  else
  panel2.visible := true;
end;

procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if Button1.Top < 6 then
    Button1.Top := 100
  else
    Button1.Top := Button1.Top - 5;
  if Button1.Left < 6 then
    Button1.Left := 100
  else
    Button1.Left := Button1.Left - 5;
end;


Nu har jeg puttet en idiot sikring på.. man skal trykke på enter for at komme ind.. man kan ikke fange button1 med musen!! hehe..
Avatar billede cms Nybegynder
20. juli 2002 - 18:10 #10
LOL =)
Avatar billede prodoc Nybegynder
21. juli 2002 - 22:59 #11
heh tak allesammen, men trods jeres farvefulde forslag/svar tror jeg at yousif kom først med et kort svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester