Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Eingegebene Char`s in Array speichern (https://www.delphipraxis.net/191172-eingegebene-char%60s-array-speichern.html)

N0ob 15. Dez 2016 16:11

Eingegebene Char`s in Array speichern
 
Guten Tag! Ich benötige Hilfe bei einem Programm.
Ich habe ein Programm geschrieben, das ein Wortratespiel simuliert. Hierbei wird ein Wort eingegeben, die Einzelnen Buchstaben verschlüsselt und in einem 2. Feld ausgegeben(Beispielsweise: In Edit2.Text würde dann erscheinen für 'der' dann '???' erscheinen). In einem 3. Feld wird dann der geratene Buchstabe eingegeben. Ist dieser Richtig, wird das Zeichen(in diesem Falle '?') durch den richtigen Buchstaben ersetzt. Ist dieser Falsch, wird die Fehleranzahl angezeigt. Jetzt möchte ich die falschen Buchstaben in einem Array of char speichern und in einem 5.Feld(Label5.Caption) diese Buchstaben anzeigen lassen(nach der Form Label5.Caption:='Falsche Buchstaben: '+b[1]+' '+b[2]+' '; usw.). Kann mir jemand helfen, wie ich das ganze umsetze?

Vielen Dank im Vorraus! :-D

Blup 15. Dez 2016 21:27

AW: Eingegebene Char`s in Array speichern
 
Im Prinzip müsste dein Programm so aussehen. Ich hoffe dir ist klar an welcher Stelle du "TuWasMitBuchstabe()" in deinem Projekt aufrufen musst.
Delphi-Quellcode:
type
  TForm1 = class(TForm)
    {...}
  private
    FRichtigerText: string;
    FMaskierteText: string;
    FFalscheBuchstaben: string;
    function IstBuchstabeInText(AValue: Char; const AText: string): Boolean;
    function IstBuchstabeRichtig(AValue: Char): Boolean;
    procedure TuWasMitBuchstabe(AValue: Char);
    procedure TuWasMitBuchstabeRichtig(AValue: Char);  
    procedure TuWasMitBuchstabeFalsch(AValue: Char);
    procedure BuchstabenAnzeigen;
  end;

function TForm1.IstBuchstabeInText(AValue: Char; const AText: string): Boolean;
begin
  Result := (Pos(AValue, AText) <> 0);
end;

function TForm1.IstBuchstabeRichtig(AValue: Char): Boolean;
begin
  Result := IstBuchstabeInText(AValue, FRichtigerText);
end;

procedure TForm1.TuWasMitBuchstabe(AValue: Char);
begin
  if IstBuchstabeRichtig(AValue) then
    TuWasMitBuchstabeRichtig(AValue)
  else
    TuWasMitBuchstabeFalsch(AValue);
end;

procedure TForm1.TuWasMitBuchstabeRichtig(AValue: Char);  
begin
  {...}
  BuchstabenAnzeigen;
end;

procedure TForm1.TuWasMitBuchstabeFalsch(AValue: Char);  
begin
  if not IstBuchstabeInText(AValue, FFalscheBuchstaben) then
  begin
    FFalscheBuchstaben := FFalscheBuchstaben + AValue;
    BuchstabenAnzeigen;
  end;
end;

procedure TForm1.BuchstabenAnzeigen;
begin
  LabelAnzeige.Caption := FMaskierteText;
  Label5.Caption := Format('Falsche Buchstaben: %s', [FFalscheBuchstaben]); // Label5 einen vernünftigen Namen geben!
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:41 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