Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Password abfrage
Petros - Do 13.01.11 03:45
Titel: Password abfrage
Hi ich habe ein Problem aber ich habe dazu keine Lösung gefunden. Da ich nicht weiß wo nach ich suchen sollte bzw. welchen suchbegriff ich dafür verwenden müsste.
Den Code habe ich hier im Forum gefunden.
Folgenes
Ich will das er die Informationen aus dem Form1.edit1.text nimmt und wenn ich das selbe in der Form2.edit1 eigebe und dann auf ok klicke das entweder richtig oder falsch anzeigt siehe code...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| const pw = Form1.edit1.Text;
procedure TForm2.Button1Click(Sender: TObject); var Key: Boolean; begin Key:=false; if Edit1.Text = pw then begin ShowMessage('richtig'); Form1.Visible := True; Key:=True; end; ShowMessage('Falsche'); end;
. |
Orginal wäre
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| const Schluessel0='1234';
procedure TForm1.Button1Click(Sender: TObject); var WrongKey: Boolean; begin WrongKey:=false; if ESchluessel.Text=Schluessel0 then begin ShowMessage('Richtig'); Form2.show; WrongKey:=True; end; ShowMessage('Falsche'); end; |
Ich hoffe ihr könnt mit meiner erklärung was anfangen
MFG Petros
Moderiert von
Martok: Topic aus Sonstiges (Delphi) verschoben am Do 13.01.2011 um 09:26
Tankard - Do 13.01.11 04:22
const wird eine konstante deklariert. der wert kann sich nicht mehr aendern.
warum nicht auf die eingabe direkt zugreifen??
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm2.Button1Click(Sender: TObject); var Key: Boolean; begin Key:=false; if Edit1.Text = form1.edit1.text then begin ShowMessage('richtig'); Form1.Visible := True; Key:=True; end; ShowMessage('Falsche'); end; |
Nersgatt - Do 13.01.11 09:31
Da fehlt doch auch noch ein Else an geeigneter Stelle!
jens
Petros - Do 13.01.11 16:47
Meine Tochter hat ein PC da wo Lernspiele drauf sind. Sie darf aber nur max 2 stunden am tag am PC (4x 30 min). Deswegen habe ich einen Programm geschrieben wo ich Die Aktivezeiten (zb. von 14:00 - 14:30 | 15:00 - 15:30 usw.) eintragen kann wenn die Zeit abgelaufen ist kommt ein Lockscreen und ohne das password kann mann dann das Lockscreen nicht wegmachen.. auch nicht per (strg+alt+entf) (alt+esc) usw. also die Tastenkombies von windows sind ausgeschalten, aber wenn mann das pw richtig eingibt werden diese wieder aktiviert. Wenn mann nun alle daten eingetragen hat und auf Aktivieren klickt läuft das Programm im hintergrund (trayicon+popup)mann kann dann nicht mehr die daten ändern. Um das Hauptfenster wieder zu öffnen muss mann per RMausklick auf das Icon klicken und dann auf wiederherstellen klicken natürlich muss mann auch das selbe pw eingeben wie beim Lockscreen..
wenn ich das so machen
dann funktioniert das auch aber ich will kein festes pw drin haben...
Nersgatt : nein da fehlt kein else drin zumindest funktioniert der code soweit ganz gut.
Tankard: wie meist du das ??
| Zitat: |
| warum nicht auf die eingabe direkt zugreifen?? |
PS. wenn das Problem gelöst ist werde ich gern das Programm als Opensorce rausgeben
Nersgatt - Do 13.01.11 17:02
So wie es dort steht, müsste die MessageBox "Falsche" jedesmal kommen, egal, ob das Passwort übereinstimmt oder nicht.
Wobe ich als Vater nichts von automatischen PC-Sperrungen halte. Sowas würde ich anders machen.
Petros - Do 13.01.11 17:34
Habe dazu mal ne Demo gemacht ohne else. aber wenn du sagt es wäre besser else mit rein zu nehmen werde ich das mit rein machen.
der grund für diese screensperre ist da wir beruflich viel zu tun haben (auch zu haus) kann ich nicht immer schauen ob sie 30 min oder 3 stunden davor sitzt es geht ja auch um die pausen dazwichen und das sie nicht den ganzen tag dran sitzt...
wenn die zeiten eingetragen sind
beispiel:
14:00 - 14:30
15:00 - 15:30
usw
ist die zeit um 14:30 erreicht kommt ein LockScreen denn kann mann ihn nur mit einem pw weg machen oder mann wartet bis 15:00 dann ist das Lockscreen wider automatisch verschwunden und der PC wieder frei gegeben..
PS. das mit der automatischen Freigabe hatte ich oben vergessen.
der organist - Do 13.01.11 17:39
Petros hat folgendes geschrieben : |
[..]
der grund für diese screensperre ist da wir beruflich viel zu tun haben (auch zu haus) kann ich nicht immer schauen ob sie 30 min oder 3 stunden davor sitzt es geht ja auch um die pausen dazwichen und das sie nicht den ganzen tag dran sitzt...
[..] |
Naja, soll sie halt nur abends spielen. Und nen generelles Benutzerkonten-PW kann man ja einrichten und jeweils dann den PC anmachen. Denn ich sehe schon voraus, dass ihr irgendetwas an dieser Lösung nicht passt. z.B. dass sie ihre Spielzeiten nicht frei wählen darf.
Gruss, Lukas
jaenicke - Do 13.01.11 17:39
Petros hat folgendes geschrieben : |
| Habe dazu mal ne Demo gemacht ohne else. aber wenn du sagt es wäre besser else mit rein zu nehmen werde ich das mit rein machen. |
Du siehst das zweite ShowMessage nur nicht, weil du das ganze Programm vorher mit Close schließt und die damit direkt mit geschlossen wird. Tätest du das nicht, sondern würdest es nur verstecken wollen, dann würde die zweite (falsche) Meldung immer kommen und auch zu sehen sein.
Petros - Do 13.01.11 17:42
Ja stimmt das macht sinn daran habe ich garnicht gedacht, ok werde dann else mit rein machen.
Jetzt aber wieder zum hauptthema wie kann ich das am besten und am einfachsten lösen..
| Zitat: |
Naja, soll sie halt nur abends spielen. Und nen generelles Benutzerkonten-PW kann man ja einrichten und jeweils dann den PC anmachen. Denn ich sehe schon voraus, dass ihr irgendetwas an dieser Lösung nicht passt. z.B. dass sie ihre Spielzeiten nicht frei wählen darf. |
doch sie darf die zeit wählen aber nur immer für 30 min diese zeiten werden beim anmachen dann vornerein mit ihr festgelegt...
der PC startet um 14 uhr und wird um 19 herruntergefahren automatisch..
der organist - Do 13.01.11 18:49
trotzdem ist es nicht hilfreich, deine Autorität oder die deiner Freundin (hoffe ich habs richtig gelesen) zu unterstützen.
Petros - Do 13.01.11 19:15
Ich weiß schon wie du das meinst... nein es hat ja nix mit der autorität oder erziehung zu tun. wir hatten es ja bisher so gemacht das wir den PC dann nach 30 min ausgemacht haben und dann ne stunde später wieder angemacht haben der dann wieder 30 min Lief.. nur habe ich wie oben geschrieben nicht die zeit immer nach 30 min zu schauen und ihn dann aus zu machen.
nen freeware programm hab ich nicht gefunden das das so macht wie ich es gern gehabt hätte deshalb habe ich mir die arbeit selbst gemacht und selbst ein programm gebastelt.. das wie gesagt schon funktioniert nur will ich halt kein festes PW.
Nersgatt - Do 13.01.11 20:17
Dann stell doch ne Eieruhr daneben und sag ihr, wenn piept soll sie den PC ausstellen. So machen wir es auch machmal mit Fernsehen. Klappt wunderbar.
Petros - Do 13.01.11 21:07
ja wäre auch eine lösung aber das ist ja hier nicht sinn und zweck der sache..
Jetzt wieder zu meinem Ursprünglichem Thema gibt es nun eine möglichkeit dieses zu nutzen das er die information aus der Form1.edit1.text nimmt oder nicht..
Tankard - Do 13.01.11 21:20
Delphi-Quelltext
1:
| if Edit1.Text = form1.edit1.text then |
immer noch.
Delete - Do 13.01.11 21:34
Das ist aber eine grauselige Lösung. Übergib das zu überprüfende Passwort als Property an die zweite Form.
Petros - Fr 14.01.11 15:36
Tankard: THX funktioniert.
Hätte da ja eigendlich selbst drauf kommen müssen aber naja..
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!