^^was gibts den bei Huxx für ne Fehlermeldung? Sowas hilft heir schließlich weiter, was das Code verstehen angeht, versuch ichs mal zu erklären:
Delphi-Quellcode:
var text:String='Das_Wort';
//enthält dein geheimes Wort welches eingegebn werden soll
var akt_pos:Integer=1;
//enthält die Position des aktuellen Buchstabens, welcher überprüft wird
procedure TFormMain.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
//Procedure des Forms, welche aufgerufen wird, sobald eine Taste gedrückt wird
begin
if Key = ord(text[akt_pos]) then begin
//prüft, ob die aktuelle Eingabe (Taste) dem Buchstaben an der aktuellen Stelle des Wortes entspricht
akt_pos:= akt_pos+1;
//ist dies der FAll, wird für die nächste Eingabe zur nächsten Position im Wort gesprungen
// Wort ist vollständig eingegeben worden
if akt_pos = length(text) + 1 then //(+ 1 ergänzt, da snst der letzte Buchstaben nicht geprüft wird.
begin
//prüft, ob die aktuelle Position, die ja bei richtigem Buchstabe eins weiter rückt, der Stringlänge entspricht, wenn ja, ist das Wort vollständig
ShowMessage('Hier deine Funktion');
//deine Aktion
end;
////////
end
else
begin // Falsch eingegeben, nochmal von Anfang...
akt_pos:=1;
//Sobald die aktuelle Eingabe nicht dem Buchstaben der aktuellen Position im Teststring entspricht, wird die Position auf Begin zurückgesetzt, weil das Wort ja am Stück eingegeben werden muss.
end;
end;
[/quote]
Meiner Meinung nach, ist diese Änderung noch wichtig:
if akt_pos = length(text) + 1 then //(+ 1 ergänzt, da snst der letzte Buchstaben nicht geprüft wird.
^^ansonsten müsste es stimmen.
Nich böse sein, falls ich zu grundlegend rangehe, aber hast du auch die Variablen global deklariert:
Delphi-Quellcode:
var
Form1: TForm1;
//da...
implementation
var //oder da...
{$R *.DFM}
Und hast du das entsprechende KeyDown Event der Form belegt und nicht nur den Code kopiert, wenn du ihn nur kopierts, wird er nicht aufgerufen.
Übrigens herzlich Willkommen in der
DP
Johannes M.
.