![]() |
Input box mit ***
Hi ich habe eine kleine Frage:
Um mein Programm zu öffnen muss man am Anfang ein Passwort in eine InputBox eingeben. Das was ich reinschreibe wird logischerweise als normale Buchstaben dargestellt... Wie kann ich das nun so programmieren, dass anstatt der Buchstaben *** angezeigt wird? Gruß Martin |
Re: Input box mit ***
Das sollte helfen:
![]() |
Re: Input box mit ***
...danke erstmal für deinen code....aber was davon ist wirklich wichtig für die ****
Ich komm mit dem Code irgendwie net klar... |
Re: Input box mit ***
Wenn du dir seine Kommentare im Quelltext genau anschaust, wirst du sehen, daß CustomInputBox als 4 Parameter einen Boolean erwartet, der aussagt, ob ein spezielles Passwortzeichen verwendet werden soll.
In seiner Implementierung wird dann einfach true übergeben, wodurch dann eben die * erscheinen dürften. ;) |
Re: Input box mit ***
Zitat:
Zitat:
Wenn du eine eigene Komponente wie ein Editfeld verwendest kannst du die Eigenschaft PasswortChar auf True setzen. Da vor dem Programm start noch keine Form usw. existiert und es bei normalen InputBox nicht die Möglichkeit gibt in dem Editfeld das PasswortChar zu setzen muss man halt ein wenig trixen. Der Code erstellt eine komplett neue InputBox... |
Re: Input box mit ***
Klar bloß zeigt er mir folgende fehlermeldung an:
[Error] Unit1.pas(22): Unsatisfied forward or external declaration: 'CustomInputBox' Irgendwie bin ich zu blöd dazu...mein code sieht jetzt so aus:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; function CustomInputBox(const ACaption, APrompt: string; var Value: string; UsePasswordChar: Boolean): Boolean; var Form1: TForm1; pass: string ; implementation procedure TForm1.Button1Click(Sender: TObject); begin if CustomInputBox('MyApplication', 'Passwort eingeben:', pass, True) then begin if pass = 'passwort' then //und nun der rest :) end; end; end. |
Re: Input box mit ***
Delphi-Quellcode:
In diesem Fall ist dein Programm aber schon lange gestartet !
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; pass: string; implementation uses cipb; // <----<<< Die Datei cipb.pas sollte sich im selben // Verz. befinden wie das Programm procedure TForm1.Button1Click(Sender: TObject); begin CustomInputBox('MyApplication', 'Passwort eingeben:', pass, True); if pass = 'passwort' then begin // Alles Ok. end else begin // fehler dingsda end; end; end. Zitat:
|
Re: Input box mit ***
Warum machst Du es Dir so schwer?
Nimm ein Formular und platziere darauf einen Button und ein Edit und setze PasswordChar auf das gewünschte Zeichen. Im onClick-Ereignis des Buttons prüfst Du das Passwort und öffnest bei richtigem Passwort Dein Startformular. In Deinem Startformular musst Du dann beim Schließen nicht nur das Formular sondern auch die Anwendung schließen, damit nicht wieder die Passwortabfrage erscheint. mfg gfjs |
Re: Input box mit ***
mit welchem befehl komme ich dann ins startformular?
|
Re: Input box mit ***
Startformular.ShowModal;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:25 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