Entwickler-Ecke
Sonstiges (Delphi) - Programm close problem
XPert - Di 22.10.02 19:47
Titel: Programm close problem
HI!
ich hab da mal wieder #n problem....
ich hab ein programm geschrieben, was den startbutton kontolliert!
wenn man es schliessen will kommt eine InputBox. wenn ich das richtige passwort eingebe, soll alles geschlossen werden, wenn falsches passwort dann soll nicht geschlossen werden!
kapiert?
na dann postet... :wink:
DeCodeGuru - Di 22.10.02 19:53
| Zitat: |
| wenn man es schliessen will kommt eine InputBox. wenn ich das richtige passwort eingebe, soll alles geschlossen werden, wenn falsches passwort dann soll nicht geschlossen werden! |
was will jemand schließen? Was soll alles geschlossen werden?
Dreimal darfst du raten :wink:
XPert - Di 22.10.02 19:56
mit alles meine ich form1 und form2
XPert - Di 22.10.02 20:00
oder kann man das schliessen vielleicht ganz verhindern?
das wäre ja :beer:
Delete - Di 22.10.02 20:51
Du willst uns erzählen, du hast es geschafft, den Startbutton zu deaktivieren und scheiterst aber an so einen trivialen Grundlagenproblem? :shock:
if und = sollten dir weiter helfen. Letzendlich läuft es doch auf einen simplen Stringvergleich hinaus.
Und wie man verhindert, dass die Form geschlossen werden kann, solltest du selber rausfinden, wenn du dir mal die Ereignisse von der Form ankuckst. Besonders interessant sind die Ereignisse, bei denen ...Close... im Namen vor kommt.
DeCodeGuru - Di 22.10.02 20:53
| Zitat: |
| Und wie man verhindert, dass die Form geschlossen werden kann, solltets du selber rausfinden, wenn du dir mal die Ereignisse von der Form ankuckst. Besonders interessant sind die Ereignisse, bei denen ...Close... im Namen vor kommt. |
Noch genauer kannst du es auch nicht mehr schreiben :mrgreen:
Tino - Di 22.10.02 21:02
Beim tForm gibt es das Event
OnCloseQuery. Dieses Event könntest Du in etwa so benutzen:
Quelltext
1: 2: 3: 4: 5:
| procedure Tform1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin CanClose := False; end; |
Gruß
TINO
Maggi - Mi 23.10.02 07:45
Tach,
ich versuche einmal die Antwort von Tino zu erweitern (nein, wie anmaßend :wink: ):
Das mit der OnCloseQuery ist schon der richtige Ansatz, du fragst dann einfach bei der Passwortabfrage den String ab den du erwartest und setzt dann die BooleanVar (z.B. CanClose) die du dir vorher gebaut hast auf True und sagst close. Dann sollte dein Proramm sich schließen lassen sonst nicht.
Ach ja du solltest die CanClose natürlich vorher mit False initialisieren!!!
Gruß
Maggi
Hagbard Celine - Mi 23.10.02 08:00
Hab da mal ne Frage die deine nicht beantwortet, aber wohl auch ganz nett ist!
Wie hast Du den start button deaktiviert???
Tino - Mi 23.10.02 08:30
| Maggi hat folgendes geschrieben: |
| ich versuche einmal die Antwort von Tino zu erweitern |
Sorry, hatte wohl nicht die ganze Frage gelesen. Danke das Du es weiter erklärt hast.
Gruß
Delete - Mi 23.10.02 08:42
| Hagbard Celine hat folgendes geschrieben: |
| Wie hast Du den start button deaktiviert |
Der EDH hält diese Möglichkeit bereit:
Quelltext
1: 2:
| EnableWindow(FindWindowEx(FindWindow('Shell_TrayWnd',nil), 0,'Button',nil),TRUE{FALSE}); |
Dein Dank gilt bitte dem, leider nicht genannten, Verfasser dieses Beitrags.
Nachtrag: Ich nehme jedweden "Spaßvögeln" nur ungern die Illusion. Aber mit einer WIN-Taste auf dem Keyboard, bzw. mit der Tastenkombination STRG+ESC ist man vor jeglichem Unsinn sicher und kann das Startmenü dennoch aufrufen.
| Luckie hat folgendes geschrieben: |
| Du willst uns erzählen, du hast es geschafft, den Startbutton zu deaktivieren und scheiterst aber an so einen trivialen Grundlagenproblem? |
Ich bitte um Verzeihung, Luckie, aber es sind meist gerade die einfachen Dinge, auf die man nicht mehr kommt, weil man sich zu sehr in anderen Sachen verbissen hat.
Es gibt da dieses schöne Klischee vom Wissenschaftler, der zwar die Zahl Pi auf tausend Nachkommastellen im Kopf berechnen kann, aber zu dusselig ist, sich eine Suppe zu kochen. (Ich kann übrigens beides nicht :wink:)
Delete - Mi 23.10.02 11:56
OK, dann nehme ich alles wieder zurück. Komisch kommt es mir allerdings immer noch vor.
Na so ne Tütensuppe bekommst du doch wohl noch hin oder? Was meinst du wo von ich mich so ernähre, seit ich ausgezogen bin. :x
Udontknow - Mi 23.10.02 12:03
| Zitat: |
| Du willst uns erzählen, du hast es geschafft, den Startbutton zu deaktivieren und scheiterst aber an so einen trivialen Grundlagenproblem? |
In manchen Foren wird so etwas das "Bastler"-Syndrom genannt... :wink:
XPert - Mi 23.10.02 16:19
ich mache das mit dem startbuttom über die kompo abfStartButton!
Delete - Mi 23.10.02 17:12
Mit einer Komponente? Obwohl der Code zum Deaktivieren gerade mal eine Zeile lang ist? :?
Was ist denn da noch dabei?
Wenn die Komponente auch nicht mehr macht als der Beispielcode aus dem EDH, dann würde ich nämlich sagen: das ist in etwa so witzlos wie diese Manifest-Komponente von Delphi 7.
XPert - Mi 23.10.02 18:19
die kompo kann alle möglichen einstellungen vornehmen.... bild und schrift layout(größe, form) ändern! in farbe größe schriftart...... ob enabled oder nicht ob visible oder nicht :twisted:
probleme damit? :wink:
Udontknow - Do 24.10.02 07:59
@MathiasSimmack:
Was denn? Ich habe noch nie einen sauberer geschriebenen TComponent-Nachfahren gesehen.
Delete - Do 24.10.02 08:14
Wie: was denn? Den Inhalt der Komponente habe ich mir nicht angesehen.
Ich wollte nur wissen, was an ihr noch "dran" oder "drin" ist, weil der Code zum Deaktivieren des Start-Buttons im Prinzip nur eine Zeile lang ist. Der zum Verstecken basiert auf dem selben Prinzip:
Quelltext
1: 2:
| ShowWindow(FindWindowEx(FindWindow('Shell_TrayWnd',nil), 0,'Button',nil),SW_HIDE {SW_SHOW}); |
Außerdem, ich sag´s noch mal:
Wer eine WIN-Taste auf dem Keyboard hat, oder die Kombi STRG+ESC benutzt, der kriegt das Startmenü trotzdem auf - egal ob der Button deaktiviert oder unsichtbar ist.
Udontknow - Do 24.10.02 11:48
Die Komponente noch nicht angesehen? Machs mal. Das ist so klar geschrieben, einfach toll! :mrgreen:
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!