Autor Beitrag
Petros
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131
Erhaltene Danke: 1


Delphi7, Delphi RadStudio 10 Berlin, VSC# 2015, Java 8
BeitragVerfasst: Do 13.01.11 02:45 
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...

ausblenden 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; //HIER BEKOMME ICH IMMER EINE ERROR MELDUNG

/////////////////////////////////////////////////////////
// [Error] Unit2.pas(29): Constant expression expected //
/////////////////////////////////////////////////////////

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

ausblenden 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 user profile iconMartok: Topic aus Sonstiges (Delphi) verschoben am Do 13.01.2011 um 09:26
Tankard
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Administrator
Beiträge: 217
Erhaltene Danke: 96



BeitragVerfasst: Do 13.01.11 03:22 
const wird eine konstante deklariert. der wert kann sich nicht mehr aendern.


warum nicht auf die eingabe direkt zugreifen??

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Do 13.01.11 08:31 
Da fehlt doch auch noch ein Else an geeigneter Stelle!

jens

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
Petros Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131
Erhaltene Danke: 1


Delphi7, Delphi RadStudio 10 Berlin, VSC# 2015, Java 8
BeitragVerfasst: Do 13.01.11 15: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
ausblenden Delphi-Quelltext
1:
2:
const
pw = '12345';


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


Zuletzt bearbeitet von Petros am Fr 18.02.11 13:00, insgesamt 2-mal bearbeitet
Nersgatt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Do 13.01.11 16: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.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
Petros Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131
Erhaltene Danke: 1


Delphi7, Delphi RadStudio 10 Berlin, VSC# 2015, Java 8
BeitragVerfasst: Do 13.01.11 16: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.
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von Petros am Do 13.01.11 16:41, insgesamt 1-mal bearbeitet
der organist
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 467
Erhaltene Danke: 17

WIN 7
NQC, Basic, Delphi 2010
BeitragVerfasst: Do 13.01.11 16:39 
user profile iconPetros hat folgendes geschrieben Zum zitierten Posting springen:
[..]
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

_________________
»Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19336
Erhaltene Danke: 1751

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 13.01.11 16:39 
user profile iconPetros hat folgendes geschrieben Zum zitierten Posting springen:
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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131
Erhaltene Danke: 1


Delphi7, Delphi RadStudio 10 Berlin, VSC# 2015, Java 8
BeitragVerfasst: Do 13.01.11 16: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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 467
Erhaltene Danke: 17

WIN 7
NQC, Basic, Delphi 2010
BeitragVerfasst: Do 13.01.11 17:49 
trotzdem ist es nicht hilfreich, deine Autorität oder die deiner Freundin (hoffe ich habs richtig gelesen) zu unterstützen.

_________________
»Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin
Petros Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131
Erhaltene Danke: 1


Delphi7, Delphi RadStudio 10 Berlin, VSC# 2015, Java 8
BeitragVerfasst: Do 13.01.11 18: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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1581
Erhaltene Danke: 279


Delphi 10 Seattle Prof.
BeitragVerfasst: Do 13.01.11 19: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.

_________________
Gruß, Jens
Zuerst ignorieren sie dich, dann lachen sie über dich, dann bekämpfen sie dich und dann gewinnst du. (Mahatma Gandhi)
Petros Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131
Erhaltene Danke: 1


Delphi7, Delphi RadStudio 10 Berlin, VSC# 2015, Java 8
BeitragVerfasst: Do 13.01.11 20: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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Administrator
Beiträge: 217
Erhaltene Danke: 96



BeitragVerfasst: Do 13.01.11 20:20 
ausblenden Delphi-Quelltext
1:
if Edit1.Text = form1.edit1.text then					


immer noch.

Für diesen Beitrag haben gedankt: Petros
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 13.01.11 20:34 
Das ist aber eine grauselige Lösung. Übergib das zu überprüfende Passwort als Property an die zweite Form.
Petros Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 131
Erhaltene Danke: 1


Delphi7, Delphi RadStudio 10 Berlin, VSC# 2015, Java 8
BeitragVerfasst: Fr 14.01.11 14:36 
Tankard: THX funktioniert.

Hätte da ja eigendlich selbst drauf kommen müssen aber naja..