Wortraten in Lazarus/Delphi?

Hallo Leute, also im Informatikunterricht müssen wir ein Wortraten-Programm programmieren. Ich bin jetzt soweit dass aus meinem Edit ein zufälliges Wort aus einem array ausgewählt wird. Ich komme jetzt leider nicht weiter, denn ich hab jetzt noch vor das zufällig ausgewählte Wort durch Sternchen zu ersetzen. Außerdem muss ich auch noch überprüfen, ob der eingegebene Buchstabe in der Eingabe einem Buchstaben aus dem zufällig ausgewählten Wort entspricht und diesen dann 'aufdecken' bis alle Buchstaben aus dem generierten Wort erraten wurden.

Kann mir da jemand helfen?

unit uWortraten;

uses
  [...], uSpiel;

type

  { TFWortraten }

  TFWortraten = class(TForm)
    BUeberpruefen: TButton;
    BNeustarten : TButton;
    EBuchstabe: TEdit;
    EAusgabe : TEdit;
    EWort : TEdit;
    LAusgabe : TLabel;
    LEingabe: TLabel;
    LWortraten: TLabel;
    procedure BNeustartenClick(Sender : TObject);
    procedure BUeberpruefenClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { private declarations }
  
public
{ public declarations }
    sAusgabe : string;
    sBuchstabe : string;
    sWort : string;
    sSternwort : string;
  end;

var
  FWortraten: TFWortraten;
  oSpiel : TSpiel;

{ TFWortraten }

procedure TFWortraten.FormCreate(Sender: TObject);
begin
  oSpiel := TSpiel.Create;
end;

procedure TFWortraten.FormDestroy(Sender: TObject);
begin
  oSpiel.Destroy;
  oSpiel := nil;
  oSpiel.Free;
end;

procedure TFWortraten.BUeberpruefenClick(Sender: TObject);

begin
  if Length(EBuchstabe.Text) > 1 then
     begin
     sAusgabe := 'Du darfst nur einen Buchstaben verwenden!';
         end;
  if Length(EBuchstabe.Text) = 1 then
     begin
     sAusgabe := '';
      end ;
  EAusgabe.Text := sAusgabe;
  EWort.Text := oSpiel.sGibWort;
end;

procedure TFWortraten.BNeustartenClick(Sender : TObject);
begin
  sWort := '';
  EWort.Text := sWort;
  sBuchstabe := '';
  EBuchstabe.Text := sBuchstabe;
  sAusgabe := '';
  EAusgabe.Text := sAusgabe;
end;

end.
unit uSpiel;

[..]

type

  { TSpiel }

  TSpiel = class (TObject)
    private
      sZufallswort : string;
      procedure Zufallswortauswaehlen;


    public
      asListe: array[1..6] of string;
      constructor Create;
      destructor Destroy; reintroduce;
      function sGibWort : string;
  end;


function TSpiel.sGibWort : string;
begin
  Zufallswortauswaehlen;
  Result := sZufallswort;
end;

procedure TSpiel.Zufallswortauswaehlen;
begin
  sZufallswort := asListe[Random(6)+1];
end;

constructor TSpiel.Create;
begin
  inherited Create;
  Randomize;
  asListe[1] := 'Haus' ;
  asListe[2] := 'Katze' ;
  asListe[3] := 'Wasser' ;
  asListe[4] := 'Staubsauger';
  asListe[5] := 'Kalkreste';
  asListe[6] := 'Kabelsalat';
  Zufallswortauswaehlen;
end;

destructor TSpiel.Destroy;
begin
  inherited Destroy;
end;

end.
Schule Delphi Informatik lazarus
1 Antwort
Frage für Delphi 7 Experten I Rechner mit Eingabefeld und Zufallsfunktion funktioniert nicht Undefinierte Bezeichnung Label2?

Hier der Quellcode: unit Unit1;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Label1: TLabel; Button5: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end;

var Form1: TForm1; Zahl1, Zahl2: Real; Random1: Integer;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject); begin Zahl1 := StrToFloat (Edit1.Text); Zahl2 := StrToFloat (Edit2.Text); Label1.Caption := FloatToStrF (Zahl1 + Zahl2, ffNumber, 7, 3); end;

procedure TForm1.Button2Click(Sender: TObject); begin Zahl1 := StrToFloat (Edit1.Text); Zahl2 := StrToFloat (Edit2.Text); Label1.Caption := FloatToStrF (Zahl1 - Zahl2, ffNumber, 7, 3); end;

procedure TForm1.Button3Click(Sender: TObject); begin Zahl1 := StrToFloat (Edit1.Text); Zahl2 := StrToFloat (Edit2.Text); Label1.Caption := FloatToStrF (Zahl1 * Zahl2, ffNumber, 7, 3); end;

procedure TForm1.Button4Click(Sender: TObject); begin if Zahl2 = 0 then ShowMessage ('Division durch Null!') else Label1.Caption := FloatToStrF (Zahl1 / Zahl2, ffNumber, 7, 3); end;

procedure TForm1.Button5Click(Sender: TObject); begin randomize; Random1 := random (4) +1; if Random1 = 1 then begin Label2.Caption := '+'; ( hier kommt immer das Undefenierter Bezeichner Label2) Zahl1 := StrToFloat (Edit1.Text); Zahl2 := StrToFloat (Edit2.Text); Label1.Caption := FloatToStrF (Zahl1 + Zahl2, ffNumber, 7, 3);

end;

if Random1 = 2 then

begin

Label2.Caption := '-'; Zahl1 := StrToFloat (Edit1.Text); Zahl2 := StrToFloat (Edit2.Text); Label1.Caption := FloatToStrF (Zahl1 - Zahl2, ffNumber, 7, 3); end;

if Random1 = 3 then

begin Label2.Caption := '*'; Zahl1 := StrToFloat (Edit1.Text); Zahl2 := StrToFloat (Edit2.Text); Label1.Caption := FloatToStrF (Zahl1 * Zahl2, ffNumber, 7, 3); end; if Random1 = 4 then begin Label2.Caption := '/'; if Zahl2 = 0 then ShowMessage ('Division durch Null!') else Label1.Caption := FloatToStrF (Zahl1 / Zahl2, ffNumber, 7, 3); end; end;

end.

PC programmieren Delphi Schulfest
2 Antworten

Meistgelesene Fragen zum Thema Delphi

Wo kann ich Delphi kostenlos downloaden?

7 Antworten

Warum läuft Mondeo nach Injektor wechseln nicht rund?

1 Antwort

Gibt es Delphi als komplett kostenlosen Download?

3 Antworten

Was ist der Unterschied zwischen einer Function und einer Procedure?

4 Antworten

delphi edit felder auslesen

4 Antworten

Delphi ds 150e fehler auslesen?

1 Antwort

Zwei Delphi Formulare verbinden

2 Antworten

Ist die Programmiersprache Pascal veraltet?

8 Antworten

Programm schreiben zum Lösen linearer Gleichungssysteme (Delphi)

2 Antworten

Delphi - Neue und gute Antworten

Beliebte Themenkombinationen