Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Input box mit *** (https://www.delphipraxis.net/63312-input-box-mit-%2A%2A%2A.html)

netscanner 16. Feb 2006 17:55


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

turboPASCAL 16. Feb 2006 18:01

Re: Input box mit ***
 
Das sollte helfen: http://www.delphipraxis.net/internal...=502976#502976

netscanner 16. Feb 2006 18:22

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...

leddl 16. Feb 2006 18:29

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. ;)

turboPASCAL 16. Feb 2006 18:56

Re: Input box mit ***
 
Zitat:

Zitat von leddl
[...] übergeben, wodurch dann eben die * erscheinen dürften. ;)

So sollte es sein. ;)

Zitat:

Zitat von netscanner
...danke erstmal für deinen code....aber was davon ist wirklich wichtig für die ****
Ich komm mit dem Code irgendwie net klar...

Womit genau?
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...

netscanner 16. Feb 2006 19:03

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.

turboPASCAL 16. Feb 2006 19:21

Re: Input box mit ***
 
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;

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.
In diesem Fall ist dein Programm aber schon lange gestartet !

Zitat:

Zitat von netscanner
Um mein Programm zu öffnen muss man am Anfang ein Passwort in eine InputBox eingeben. [...]


gfjs 17. Feb 2006 03:11

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

netscanner 18. Feb 2006 16:09

Re: Input box mit ***
 
mit welchem befehl komme ich dann ins startformular?

gfjs 19. Feb 2006 05:21

Re: Input box mit ***
 
Startformular.ShowModal;


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz