Avatar billede wackythek Nybegynder
17. november 2004 - 16:59 Der er 6 kommentarer

Hvordan laver jeg et program hvor man kan logge ind og ud.

Jeg er ny bruger af delphi. Har gennemgået bøgerne "Delphi - grundlæggende programering" og "Delphi - en elementær indføring".Så hved i ca. hvor god - dårlig jeg er.

Jeg vil gerne have hjælp med at lavet et program hvor der er en eller flere brugere som kan logge ind. Brugerne skal kunne oprettes af en admin. Altså skal hver bruger / admin have et bruger navn og et kodeord for at kunne logge ind. Det skal minde om når man logger ind på den her hjemme side. 

For at det skulle kunne klares bliver man nød til at skrive en kode så når adminen, opretter en ny bruger bliver dataen gemt i en fil, hvorfra den kan findes frem igen når kodeord og brugernavn skal tjækkes ved et log ind. Eller kan man gøre det på en anden måde / en nemmere måde.

Jeg har tænkt mig at bruge en boolean, til at tjække om kodeord og brugernavn er false / true. men hvordan får man den til at tjække begge ting på en gang....

altså har jeg mere brug for godt vejledning og inspiration til at lave dette program. Jeg giver gerne mange points til dem som kan hjælpe mig da jeg brænder meget for dette projekt.....

på forhånd TAK.!!

kasper
Avatar billede stoney Nybegynder
17. november 2004 - 17:36 #1
Brug en database til at gemme userid/password og valider op mod den.
Hvilken version af Delphi bruger du ?

Stoney
17. november 2004 - 21:48 #2
Jeg har lavet et program med ovennævnte funktion, hvor jeg vil indvie dig i principperne.
Lav en form hvor brugeren kan indtaste navn og password. (Form5 i mit tilfælde.)
I denne form bruges prugernavnet til at slå op i en tabel, som sammenlignes med det som står i password. Hvis password er gyldig returneres brugernummeret til den form der kaldte, (Form0 i mit tilfælde,)hvis der trykkes på ESC returneres bruger nummer nul.

F.eks. i Form0 skriver du:

procedure TForm0.FormActivate(Sender: TObject);
var
  BrugerNummer;
begin
  BrugerNummer := Form5.Hente;
  SetRettigheder(BrugerNummer);
end;

I Form5, som selvfølgelig skal vere med i Uses, er der en funktion der viser formen, sætter focus i det rigtige felt, chekker validiteten og returnerer en værdi til brugernummer.

I proceduren Rettigheder sætter du Visible property i nogle af menu punkterne i MainMenu, og måske også andre steder.

procedure TForm0.Rettigheder(Nr);
begin
    // Bruger 1, Administrator har adgang til meget.
  Nybruger1.Visible      := Nr = 1;
  Sletbruger1.Visible    := Nr = 1;
  Kodaid1.Visible        := Nr = 1;
  Landeid1.Visible      := Nr = 1;
  Konverter1.Visible    := Nr = 1;
  Dubletter1.Visible    := Nr = 1;
  Ngler1.Visible        := Nr = 1;
  Standard1.Visible      := Nr = 1;
  Form22.Udskriv.Visible := Nr = 1;
  Form23.Bruger.Visible  := Nr = 1;
  Form24.Bruger.Visible  := Nr = 1;
  Form62.Udskriv.Visible := Nr = 1;
    // Øvrige brugere har adgang til noget.
  Form62.Delete.Visible  := Nr > 0;
  Password1.Visible      := Nr > 0;
    // Afhænging af deres adgangs status.
  Opdatering1.Visible    := (Nr in BrugerPlader);
  Rette1.Visible        := (Nr in BrugerPlader);
  Rap1.Visible          := (Nr in BrugerPlader);
  RSpot1.Visible        := (Nr in BrugerReklamer);
  Opdatspot1.Visible    := (Nr in BrugerReklamer);
  RKunder1.Visible      := (Nr in BrugerReklamer);
  RJingler1.Visible      := (Nr in BrugerReklamer);
end;

BrugerPlader og BrugerReklamer er 2 set der indeholder de brugernumre der har adgang til de 2 afdelinger.
Avatar billede wackythek Nybegynder
25. november 2004 - 09:21 #3
Tak for svaret, det er ret smart.

Måske kan du hjælpe mig med et andet problem.
Jeg skal gemme bruger og kodeord i en fil eller filer. Dette skal ske når en admin oprette en ny bruger eller en anden admin. ( så kan jeg altid bruge overstående med hvem der skal have mest adgang til de forskellige ting, i programmet herefter). Hver admin og bruger få en profil som skulle kunne hentes ind i en standart form. Man skal i denne form kunne ændre oplysninger,(alt efter hvor meget adgang man har). De oplysninger som er blevet ændres skal så gå ind og gemme over de eksisterende oplysninger.

på forhånd tak!!!
25. november 2004 - 17:53 #4
Hvilken version bruger du?
Har du en med database komponenter, eller er du nødt til at gemme dine oplysninger som almindelige filer, (eks *.txt)?

På de TEdit komponenter der er på formen, kan du f.eks ændre ReadOnly property for de brugere der ikke må ændre i dataene, og på TButton kan du tilsvarende ændre Enabled property.
Avatar billede wackythek Nybegynder
26. november 2004 - 12:18 #5
jeg bruger 6,0 og bruger ikke database komponenter. Jeg vil gemme mine oplysninger som alm. filer.
14. februar 2005 - 21:01 #6
Ikke fordi 1 point er meget, men af principielle grunde synes jeg det er på tide du lukker spørgsmålet.
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