![]() |
Login erstellung/TTabControl
Hi mal wieder 2 fragen ,finde in Tutorial und Kurse einfach nichts.
1 Frage. Wie kann ich in mein Programm eine art Login einfügen. zb: Name:dsd PW: fer=Nicht Aktzeptiert Das er dann bestimmte sachen also Name:kalae PW:781 beiden sachen in der EXE Speichert Und dann Name:kalae PW:781 =Aktzeptiert wäre sowas in der art möglich? 2 Frage. TTabControl ist ja eine einfachere art verschiedene Tools/Anwendungen in Programmen zu ordnen. Blos ich komm einfach nicht klar damit,muss ich mal wieder befehle eingeben etc? |
Re: Login erstellung/TTabControl
Zu 1:Bastele die ein Formular dafür.
Zu 2:Befehle für was? das Wechseln des Avtiven Tabs oder was meinst du? |
Re: Login erstellung/TTabControl
Zu 1:Kannst du mir für das Form ein kleines beispiel machen?
wäre echt net :wink: Zu 2:Richtig :) |
Re: Login erstellung/TTabControl
Hallo InZiDeR erst,aö ein Herlzliches willkommen in der DP :hello:
Für eine art login gibt es viele möglichkeiten Es kommt halt nur drauf an ob neue benutzer hinzugefügt entfernt oder das pw geändert wird... wenn nicht reich eine einfach if abfrage. zu den sachen mit der Tabcontrol. am einfachsen ist es wenn du dir frames erstellst, und dann im onchangevent der Tabcontrol das jewailige fraume lädst bzw anzeigst um zu erfahren welches gerade der aktibe tab ist gibt er den wert Tabcontrol1.Tabindex diesen kannste dann mit case oder einer if abfrage auswerten. Bitte für die zukunft beachten, immer nur ein thema pro threat machen. MfG real Thunder |
Re: Login erstellung/TTabControl
Ok ich merks mir,will aber auch nicht das ganze forum mit mehreren posts zuspammen. :-D
|
Re: Login erstellung/TTabControl
Ich würde an deiner Stelle eine PageControl satt des TabControls nehmen.
|
Re: Login erstellung/TTabControl
Hab mal so in login gemacht ahbe dazu eine erste Form erstellt mit dem Login Benutzername und Benutzerpasswort mit einer Freigabe eines Button für den Administrator das man die Benutzernamen und Passwort anlegen bzw ändern kann
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Var B,P :string ; begin //Bsp. zur Anmeldung 18.04.2007 Mittwoch if (Edit2.Text <> DateToStr(Date)) or (Edit1.Text <> FormatdateTime('dddd',Now)) then begin Table1.Open; //Benutzer wird gesucht if Table1.Locate('Benutzername',Edit1.Text, [LoCaseInsensitive])= True then begin B:= Table1.FieldByName('Passwort').AsString; //Übergabe von Feld "Passwort" an B P:= Table1.FieldByName('Administrator').AsString; //Übergabe von Feld "Admin" an P if Edit2.Text = B then //Vergleicht ein eingegebenes PW mit Ausgabe im Label begin Form2.Show; Form1.Visible:= False; end else begin MessageDlgPos('Benutzername oder Passwort falsch!',mtInformation,[mbOk],0,260,200); end; if P = 'Wahr' then //Adminrechte begin Form2.Button6.Visible:= True; end else begin Form2.Button6.Visible:= False; end; end else begin MessageDlgPos('Benutzername oder Passwort falsch!',mtInformation,[mbOk],0,260,200); Edit1.SetFocus; end; end else begin Form2.Show; Form2.Button6.Visible:= True; Form1.Visible:= False; end; Edit1.Clear; Edit2.Clear; end; und hier noch was damit du die Tabele dafür anlegen kannst mit einem bereits erstellten Admin konto
Delphi-Quellcode:
Sowas steht auch bereits in der Code libary habe es nur verbesseret so ist der Pfad der BD Variabel
procedure TForm1.Tabelleerst;
Var B,P :string ; { Private declarations } Pfad :String; begin Table1.close; getdir(0,Pfad); With Table1 Do //Tabelle erzeugen begin DatabaseName:= Pfad + '\Datenbank\'; //Pfad zur Tabelle Form10.Table1.DatabaseName:= Pfad + '\Datenbank\'; TableName:= 'Benutzerverwaltung.DB'; TableType:= ttParadox; end; if not FileExists(Pfad + '\Datenbank\Benutzerverwaltung.DB') then begin With Table1 Do begin with FieldDefs Do //Datenfelder erzeugen begin Clear; Add('Nr.',ftAutoInc,0,True); Add('Benutzername',ftString,30,True); Add('Passwort',ftString,30,False); Add('Administrator',ftboolean,0,False); end; with IndexDefs do //Index Schlüssel erzeugen begin Clear; Add('Nr','Nr.',[ixPrimary, ixUnique]); // Primär Index end; CreateTable; begin //User erzeugen Table1.Open; //Tabelle öffnen zum Schreiben Table1.Edit; Table1['Benutzername']:= 'Admin'; Table1['Passwort']:= '123'; Table1['Administrator']:= True; Table1.Post; //Eintrag übernehmen Table1.Close; //Tabelle schließen end; end; end; Table1.Active:= True; //Tabelle1 auf Form1 aktivieren Form10.Table1.Active:= True; //Tabelle1 auf Form10 aktivieren end; Gruss Sascha hoffe das hilft dir |
Re: Login erstellung/TTabControl
Hey,danke.
Das ist echt klasse,ich glaub in diesem Forum bin ich richtig :-D EDIT:Aber es wäre schön wenn mich jemand mal in ICQ adden könnte. Denn ich kapier so einiges nicht.... ICQ:482-021-130 |
Re: Login erstellung/TTabControl
Frag doch einfach hier ;-)
|
Re: Login erstellung/TTabControl
Genau wir beantworten dir bestimmt deine Fragen und es ist noch kein Meister vom himmel gefallen ich auch nicht
|
Re: Login erstellung/TTabControl
Also was muss ich jetzt mit dem Quellcode machen?
Also habe Form1 also den Login start auf soll ich auf aktion OneKlick beim button und dann alles einfügen oder wie? Ich will das auch verstehen können :-D ![]() ![]() |
Re: Login erstellung/TTabControl
Genau. Beim Klick auf den Button die Eingaben überprüfen und dann Entscheiden ob das Programm fortgesetzt werden soll oder nicht.
|
Re: Login erstellung/TTabControl
ja mach dir 2 EditFelder auf dein form Blatt 1 fur Benutzername und eins fur Passwort dann noch ein anmelde Button in den du den Quellcode von oben reinlegst und den zweiten für die tabelle fühgst du unter FormShow deines Formblattes ein
Dann Platziere noche eine Table und eine Datasource auf dein Formblatt |
Re: Login erstellung/TTabControl
Achso erstell dir noch ein zweites Formblatt mit einem DBGrid um dir die Benutzer und die Passwörter angucken zu können oder auch um sie zu ändern und neue anzulegen, bei mir ist es die Form 10 wie du erkennen kannst dort muss ebenfalls eine Datasource und eine table erstellt werden
|
Re: Login erstellung/TTabControl
Ich krieg es einfach nicht hin...also
1.Ich erstelle 2 edits 1 button 2.Füge in "Button1" dein oberen Quellcode ein (der erste ganz oben) 3.Fürge in "Form1" TDataSource und TTable ein 4.Erstelle Form2 und füge da TDBGrind ein und wieder ein TDaaSource so 5.Will programm starten..klappt net die befehle sind irgendwie falsch |
Re: Login erstellung/TTabControl
Hi!
Was heißt denn klappt nit? Welche Fehlermeldungen kommen? Weißt du, was der Code bewirkt oder kopierst du ihn einfach nur? Bei Verständnisfragen helfen wir dir gerne weiter... Ciao, Frederic |
Re: Login erstellung/TTabControl
Das ist es ja ich will wissen wie es geht :)
Ich will das kapiern aber das geht irgendwie nicht..... ist der ganze quellcode nur für den button? |
Re: Login erstellung/TTabControl
Ok, gehe mal dienen Code zeile für zeile durch, und sage uns was du nicht verstehst.
BZW Poste deinen Bisherigen code der LoginForm und makiere die zeilen die du nicht verstehst. Es geht nicht, ist eine Sehr grobe fehlermeldung.. etwas spezifischer währe auch nett. MfG Real Thunder |
Re: Login erstellung/TTabControl
Delphi-Quellcode:
Also soll dieser ganze code in den "OneKlickButton" in Form 1? Weil ich bezweifle das das so ist,kann es sein das in diesen quellcode alles zusammengemischt ist?
procedure TForm1.Button1Click(Sender: TObject);
Var B,P :string ; begin //Bsp. zur Anmeldung 18.04.2007 Mittwoch if (Edit2.Text <> DateToStr(Date)) or (Edit1.Text <> FormatdateTime('dddd',Now)) then begin Table1.Open; //Benutzer wird gesucht if Table1.Locate('Benutzername',Edit1.Text, [LoCaseInsensitive])= True then begin B:= Table1.FieldByName('Passwort').AsString; //Übergabe von Feld "Passwort" an B P:= Table1.FieldByName('Administrator').AsString; //Übergabe von Feld "Admin" an P if Edit2.Text = B then //Vergleicht ein eingegebenes PW mit Ausgabe im Label begin Form2.Show; Form1.Visible:= False; end else begin MessageDlgPos('Benutzername oder Passwort falsch!',mtInformation,[mbOk],0,260,200); end; if P = 'Wahr' then //Adminrechte begin Form2.Button6.Visible:= True; end else begin Form2.Button6.Visible:= False; end; end else begin MessageDlgPos('Benutzername oder Passwort falsch!',mtInformation,[mbOk],0,260,200); Edit1.SetFocus; end; end else begin Form2.Show; Form2.Button6.Visible:= True; Form1.Visible:= False; end; Edit1.Clear; Edit2.Clear; end; |
Re: Login erstellung/TTabControl
Delphi-Quellcode:
Ich werde dir mal ein ganz einfaches loginscript schreiben.. das du denn von dir aus weiterentwickeln kannst....
procedure TForm1.Button1Click(Sender: TObject);
Var B,P :string begin // waqs ist edit2 oder edit1 denn nu loginname oder datum ?? emienr meinung nach weg if (Edit2.Text <> DateToStr(Date)) or (Edit1.Text <> FormatdateTime('dddd',Now)) then begin Table1.Open; //Benutzer wird gesucht if Table1.Locate('Benutzername',Edit1.Text, [LoCaseInsensitive])= True then begin //lasse dir hier den benutzernamen und dass paswort mal in einem label ausgeben um zu prüfen was er da eigebdlch rausholt B Es wird im laufe des tages mal hochgeladen |
Re: Login erstellung/TTabControl
Guckst du hier:
![]() ![]() warum nimmt er das "begin" und das "end." am ende net an? |
Re: Login erstellung/TTabControl
Delphi-Quellcode:
das ";" hat gefehlt
begin;
und ein [delphi]end; fehlt auch noch am ende |
Re: Login erstellung/TTabControl
Hier...
geht net ![]() ![]() Pass auf .....ich schik dir per PM mal meine pas dateien also das Projekt und dann kuckste mal... |
Re: Login erstellung/TTabControl
Delphi-Quellcode:
!
: string;
|
Re: Login erstellung/TTabControl
Ok,danke hab dir PM geschrieben
|
Re: Login erstellung/TTabControl
So hier noch mal der Source fpr alle Newbees die auch soetwas vorhaben.
Vom aufbau her nur zur verständnisfrage gedacht, für einen praktischen Einsatz nicht geeignet !!! Vorbereitung. - Neue Vlc Formular Anwengung erstellen - Neue Form Erstellen - Alles in einem ordner Speichern (Name der Unit1 ist start.pas name der unit2 ist unit2 ist Main.pas - Mit dem Explorer in den Ordner gehen, und dort einen ordner mit dem namen Datenbank erstellen - auf dem Formular der Unit1 bzw Start.pas zieht ihr - 3 TLabels - 1 TTable - 2 TEdits - 1 TButton - den TButton gebt ihr den namen LoginBtn den Beiden TeditFeldern die namen UserId und UserPw die Unit1 bzw Start.pas Sollte dann So Aussehen:
Delphi-Quellcode:
Sollte es fragen, geben dann fragt :)
unit Start;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, XPMan, DB, DBTables; type TForm1 = class(TForm) Label1: TLabel; Image1: TImage; LoginBtn: TButton; XPManifest1: TXPManifest; UserID: TEdit; UserPW: TEdit; Label2: TLabel; Label3: TLabel; Table1: TTable; procedure FormCreate(Sender: TObject); procedure LoginBtnClick(Sender: TObject); Function LoginCheck(B,P:String):Integer; procedure ResetEdit(sender:TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation uses Main; {$R *.dfm} Function TForm1.LoginCheck(B,P:String):Integer; Var CP :string; begin result:=-1; // stadart Rückgabe Table1.Open; // Tabelle Öffnen if Table1.Locate('Benutzername',B, [LoCaseInsensitive])= True then begin // Prüfen ob der Benutzername Existtiert CP:= Table1.FieldByName('Passwort').AsString; // Passwort Auslesen if CP = P then begin // prüfen ob das Passwort Passt result:=2 end else begin result:=1; end; end else begin result:=0; end; end; procedure TForm1.LoginBtnClick(Sender: TObject); var LC:integer; begin LC:= LoginCheck(UserId.Text,UserPw.Text); Case LC of 0: UserId.Color:=ClRed; 1: UserPw.Color:=Clred; 2: begin Form2.Show; self.Visible:=false; end; end; end; procedure TForm1.ResetEdit(sender:TObject); begin TEdit(Sender).Color:=ClWhite; end; procedure TForm1.FormCreate(Sender: TObject); Var B,P :string ; { Private declarations } Pfad :String; begin getdir(0,Pfad); With Table1 Do begin DatabaseName:= Pfad + '\Datenbank\'; Table1.DatabaseName:= Pfad + '\Datenbank\'; TableName:= 'Benutzerverwaltung.DB'; TableType:= ttParadox; end; if not FileExists(Pfad + '\Datenbank\Benutzerverwaltung.DB') then begin With Table1 Do begin with FieldDefs Do begin Clear; Add('Nr.',ftAutoInc,0,True); Add('Benutzername',ftString,30,True); Add('Passwort',ftString,30,False); end; with IndexDefs do begin Clear; Add('Nr','Nr.',[ixPrimary, ixUnique]); // Primär Index end; CreateTable; begin Table1.Open; //Tabelle öffnen zum Schreiben Table1.Edit; Table1['Benutzername']:= 'Admin'; Table1['Passwort']:= '123'; Table1.Post; //Eintrag übernehmen Table1.Close; //Tabelle schließen end; end; end; Table1.Active:= True; end; end. MfG Real Thunder |
Re: Login erstellung/TTabControl
Liste der Anhänge anzeigen (Anzahl: 2)
Hab dir das mal schnell gemacht
Kannst es gleich testen Sind noch einige feinheiten zu machen aber ich denke das hilft dir weiter Viel spass :-D |
Re: Login erstellung/TTabControl
Achso das mit dem datum und tag habe ich rein gemacht das wenn mal einer alle benutzer gelöcht hat das er mit dem Tag (ausgeschrieben) und mit dem Datum z.b. 17.12.2007 auch noch ins Programm kommt so zusagen ein hinter türchen :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz