Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Hangman Problem

  Alt 2. Mai 2007, 17:36
Hi, herzlich willkommen!

Ich vermute, dich bist noch kein fortgeschrittener Programmierer, daher bleibe ich auf einem leichten (Anfänger-)Level und keinem performance-optimierten Code, was du aber nicht merken wirst. Ich hoffe, ich liege hier nicht falsch in meiner Annahme.

Lösen könntest du es beispielsweise so in der Art:

Delphi-Quellcode:
// auktuelles Wort auf dem label ausgeben
procedure WortAusgeben(WortAngezeigt: string);
var
  i: Integer;
begin
  Form1.Ratewort.Caption := '';

  for i := 1 to Length(WortAngezeigt) do
  begin
    Form1.Ratewort.Caption := Form1.Ratewort.Caption + UpperCase(WortAngezeigt[i]);
    if i < Length(WortAngezeigt) then
      Form1.Ratewort.Caption := Form1.Ratewort.Caption + ' ';
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  Wort := 'DasKannstDuJaIrgendwoSelbstZuweisen';

  // alles klein schreiben, damit der Vergleich nicht von
  // Groß-/Kleinbuchstaben abhängig ist
  Wort := LowerCase(Wort);
  Ratewort.Caption := '';

  for i := 1 to Length(Wort) do
    WortAngezeigt := WortAngezeigt + '_';

  WortAusgeben(WortAngezeigt);
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
var
  i: Integer;
begin
  if Pos(LowerCase(Key), Wort) > 0 then
  begin
    for i := 1 to Length(Wort) do
    begin
      if Wort[i] = Key then
        WortAngezeigt[i] := Key;
    end;
  end;
  WortAusgeben(WortAngezeigt);
end;
Viel Spaß.

Grüße, Matze
  Mit Zitat antworten Zitat