Thema: Delphi Delphi -newbie!

Einzelnen Beitrag anzeigen

oldmax

Registriert seit: 27. Apr 2006
Ort: Gieboldehausen
167 Beiträge
 
#9

Re: Delphi -newbie!

  Alt 12. Mär 2007, 12:14
Hi
noch hab ich doch gar nicht geholfen...
Aber nun zu eurer Vorstellung, so wird's nix....
Beginnen wir mal von vorn....
Ihr habt eine Form, auf dieser ist ein Editfeld und ein Button
nun machst du folgendes:
Du brauchst eine globale Stringvariable.. ich nenn sie mal Geheim
Also,

Delphi-Quellcode:
Var Form1 : TForm1; // ist schon deklariert.....
    Geheim : String;
nun machst du einen Doppelklick auf deine Form und erhälst die
Delphi-Quellcode:
Procedure TForm1.FormCreate(Sender : TObject);
Begin
  Geheim:=''; // das fügst du ein und machst den Geheim-String leer;
  Edit1.Text:='';// Auch das Editfeld wird geleert.

end;
kommen wir nun zum Editfeld. Du hast den Objektinspektor. Dort gehst du auf die Registerkarte Ereignisse und suchst den Eintrag "OnKeyPress". Da gehst du af das rechte weiße Feld und machst einen Doppelclick. Automatisch wird dir nun der Procedure-Rumpf erstellt.

Delphi-Quellcode:
Procedure Form1.Edit1KeyPress(Sender : Tobject; var Key: Char);
Begin
  Geheim:=Geheim+Key; // hier beschreibst du dein unsichtbares geheimes Wort.
  Key:='*'; // Das Sternchen überschreibt den Text im Editfeld, also ist deine Eingabe unsichtbar
end;
Nun kannst du in das Editfeld etwas eintragen und es kann keiner lesen. Also müssen wir nun raten. Dazu würde ich ein zweites Editfeld benutzen in welchem 1 Buchstabe eingegeben werden kann.
Ähnliche Vorgehensweise um das KeyPress- Ereignis zu bekommen

Delphi-Quellcode:
Procedure Form1.Edit2KeyPress(Sender : Tobject; var Key: Char);
Begin
  if Length(Edit2.Text)>1 then Key:=''; // begrenzt die Eingabe auf 1 Zeichen.
  
end;
evtl. kannst du damit experimentieren, den Text zu überschreiben und immer die letzte Eingabe anzeigen

einfach die "If" Zeile durch diese Eingabe ersetzen Edit2.Text:=''; So, das war schon ordentlich hilfe. Nun müßt ihr auch was tun. Versucht einmal die Button-Routine anzupassen.
Hilfreich wäre die Function "Pos". Schaut mal nach und überlegt, wie ihr nun einer Lösung näher kommen könnt.

Ach ja, das zweite Editfeld kann natürlich ohne dem onKeypress-Ereignis auch das ganze zu erratende Wort enthalten und du markierst im Prinzip nur die Buchstaben, die richtig sind. Benutze aber als Referenz deine Variable "Geheim".
Und nun tobt euch mal aus
Gruß oldmax
Noch ist mein Rechner mir zu Diensten.... ansonsten habe ich die Macht ihn zu vernichten !
  Mit Zitat antworten Zitat