Einzelnen Beitrag anzeigen

IckyWolf

Registriert seit: 20. Dez 2018
10 Beiträge
 
#10

AW: Komponenten in Prozedur nicht erkannt

  Alt 21. Dez 2018, 12:57
Delphi-Quellcode:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Grids,
  StdCtrls, ExtCtrls, Menus, Buttons, ActnList,
  test;

type

  { TForm1 }

  TForm1 = class(TForm)
    BitBtn_c: TBitBtn;
    BitBtn10: TBitBtn;
    BitBtn9: TBitBtn;
    BitBtn_d: TBitBtn;
    BitBtn_v: TBitBtn;
    BitBtn_fh: TBitBtn;
    BitBtn_ks: TBitBtn;
    BitBtn_gs: TBitBtn;
    BitBtn_k: TBitBtn;
    BitBtn_eins: TBitBtn;
    BitBtn_zwei: TBitBtn;
    BitBtn_drei: TBitBtn;
    BitBtn_vier: TBitBtn;
    BitBtn_fuenf: TBitBtn;
    BitBtn_sechs: TBitBtn;
    BitBtn_Versuche: TBitBtn;
    BitBtn2: TBitBtn;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    CheckBox5: TCheckBox;
    Edit_d: TEdit;
    Edit_v: TEdit;
    Edit_fh: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    GroupBox1: TGroupBox;
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    Image5: TImage;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    MainMenu1: TMainMenu;
    MenuItem1: TMenuItem;
    MenuItem10: TMenuItem;
    MenuItem11: TMenuItem;
    MenuItem12: TMenuItem;
    MenuItem13: TMenuItem;
    MenuItem14: TMenuItem;
    MenuItem15: TMenuItem;
    MenuItem2: TMenuItem;
    MenuItem3: TMenuItem;
    MenuItem4: TMenuItem;
    MenuItem5: TMenuItem;
    MenuItem6: TMenuItem;
    MenuItem7: TMenuItem;
    MenuItem8: TMenuItem;
    MenuItem9: TMenuItem;
    Panel1: TPanel;
    StringGrid1: TStringGrid;
    procedure BitBtn10Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn9Click(Sender: TObject);
    procedure BitBtn_dClick(Sender: TObject);
    procedure BitBtn_VersucheClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);

  private
    procedure Neu;

  public



  var
  Form1: TForm1;

  end;




implementation

{$R *.lfm}

{ TForm1 }

var Spieler,Versuche,Runde,Schritt: Integer;
    SpielerA,SpielerB,SpielerC:record
      eins,zwei,drei,vier,fuenf,sechs,d,v,fh,ks,gs,k,c:boolean;
    end;
    Wuerfel:array [1..5]of Integer;

function Wurf:Integer;
begin
  Wurf:=Random(6)+1;
end;

//Neue Runde
procedure TForm1.Neu;
begin
  Schritt:=1;
  Spieler:=Spieler+1;
  if Spieler>3 then
  begin
    Spieler:=Spieler-3;
    Runde:=Runde+1;
  end;

  if Runde>13 then Abort//ShowMessage:='Spiel beendet'
  else
  begin
    if Spieler=1 then
    begin
      BitBtn_eins.visible:=SpielerA.eins;
      BitBtn_zwei.visible:=SpielerA.Zwei;
      BitBtn_drei.visible:=SpielerA.drei;
      BitBtn_vier.visible:=SpielerA.vier;
      BitBtn_fuenf.visible:=SpielerA.fuenf;
      BitBtn_sechs.visible:=SpielerA.sechs;
      BitBtn_d.visible:=SpielerA.d;
      BitBtn_v.visible:=SpielerA.v;
      BitBtn_fh.visible:=SpielerA.fh;
      BitBtn_ks.visible:=SpielerA.ks;
      BitBtn_gs.visible:=SpielerA.gs;
      BitBtn_k.visible:=SpielerA.k;
      BitBtn_c.visible:=SpielerA.c;
    end;

    if Spieler=2 then
    begin
      BitBtn_eins.visible:=Spielerb.eins;
      BitBtn_zwei.visible:=Spielerb.Zwei;
      BitBtn_drei.visible:=Spielerb.drei;
      BitBtn_vier.visible:=Spielerb.vier;
      BitBtn_fuenf.visible:=Spielerb.fuenf;
      BitBtn_sechs.visible:=Spielerb.sechs;
      BitBtn_d.visible:=Spielerb.d;
      BitBtn_v.visible:=Spielerb.v;
      BitBtn_fh.visible:=Spielerb.fh;
      BitBtn_ks.visible:=Spielerb.ks;
      BitBtn_gs.visible:=Spielerb.gs;
      BitBtn_k.visible:=Spielerb.k;
      BitBtn_c.visible:=Spielerb.c;
  end;

  if Spieler=3 then
  begin
    BitBtn_eins.visible:=Spielerc.eins;
    BitBtn_zwei.visible:=Spielerc.Zwei;
    BitBtn_drei.visible:=Spielerc.drei;
    BitBtn_vier.visible:=Spielerc.vier;
    BitBtn_fuenf.visible:=Spielerc.fuenf;
    BitBtn_sechs.visible:=Spielerc.sechs;
    BitBtn_d.visible:=Spielerc.d;
    BitBtn_v.visible:=Spielerc.v;
    BitBtn_fh.visible:=Spielerc.fh;
    BitBtn_ks.visible:=Spielerc.ks;
    BitBtn_gs.visible:=Spielerc.gs;
    BitBtn_k.visible:=Spielerc.k;
    BitBtn_c.visible:=Spielerc.c;
  end;

  Versuche:=3;
  BitBtn_Versuche.caption:='3';
  BitBtn_Versuche.Visible:=true;

  Checkbox1.caption:='';
  Checkbox2.caption:='';
  Checkbox3.caption:='';
  Checkbox4.caption:='';
  Checkbox5.caption:='';
  end;
end;


//Start
procedure TForm1.FormCreate(Sender: TObject);
begin
  Versuche:=3;
  Spieler:=1;
  Runde:=1;
  with spielerA do
  begin
    eins:=true;
    zwei:=true;
    drei:=true;
    vier:=true;
    fuenf:=true;
    sechs:=true;
    d:=true;
    v:=true;
    fh:=true;
    ks:=true;
    gs:=true;
    k:=true;
    c:=true;
  end;

  with spielerb do
  begin
    eins:=true;
    zwei:=true;
    drei:=true;
    vier:=true;
    fuenf:=true;
    sechs:=true;
    d:=true;
    v:=true;
    fh:=true;
    ks:=true;
    gs:=true;
    k:=true;
    c:=true;
  end;

  with spielerc do
  begin
    eins:=true;
    zwei:=true;
    drei:=true;
    vier:=true;
    fuenf:=true;
    sechs:=true;
    d:=true;
    v:=true;
    fh:=true;
    ks:=true;
    gs:=true;
    k:=true;
    c:=true;
  end;

  Versuche:=3;
  BitBtn_Versuche.caption:='3';
  BitBtn_Versuche.Visible:=true;

  Checkbox1.caption:='';
  Checkbox2.caption:='';
  Checkbox3.caption:='';
  Checkbox4.caption:='';
  Checkbox5.caption:='';
end;


procedure TForm1.BitBtn10Click(Sender: TObject);
begin
   FormCreate(Sender);
end;


//Würfeln
procedure TForm1.BitBtn_VersucheClick(Sender: TObject);
begin
  if Checkbox1.State=cbchecked then
  begin
    Wuerfel[1]:=Wurf;
    Checkbox1.caption:=IntToStr(Wuerfel[1]);
    {Image1.Picture.LoadfromFile;}
  end;

  if Checkbox2.State=cbchecked then
  begin
    Wuerfel[2]:=Wurf;
    Checkbox2.caption:=IntToStr(Wuerfel[2]);
  end;

  if Checkbox3.State=cbchecked then
  begin
    Wuerfel[3]:=Wurf;
    Checkbox3.caption:=IntToStr(Wuerfel[3]);
  end;

  if Checkbox4.State=cbchecked then
  begin
    Wuerfel[4]:=Wurf;
    Checkbox4.caption:=IntToStr(Wuerfel[4]);
  end;

  if Checkbox5.State=cbchecked then
  begin
    Wuerfel[5]:=Wurf;
    Checkbox5.caption:=IntToStr(Wuerfel[5]);
  end;

  Versuche:=Versuche-1;
  BitBtn_Versuche.caption:=IntToStr(Versuche);
  If Versuche<1 then
  begin
    BitBtn_Versuche.Visible:=false;
    Schritt:=2;
  end;
end;



// Wahrscheinlichkeit
procedure TForm1.BitBtn9Click(Sender: TObject);

begin
  //Berechnung der Wahrscheinlichkeit für das erzielen der erforderten Folge
  {Edit_d.text:=FloatToStr((nd/x)*w);
  Edit_.text:=FloatToStr((nv/x)*w);
  Edit_.text:=FloatToStr((nfh/x)*w);
  Edit_.text:=FloatToStr((nks/x)*w);
  Edit_.text:=FloatToStr((ngs/x)*w);
  Edit_.text:=FloatToStr((nk/x)*w);}

end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  close;
end;





//Eintragen
procedure TForm1.BitBtn_dClick(Sender: TObject);
var dr:boolean;
    p:integer;
begin
  if Schritt=2 then
  begin
    {ueberpruefen(Wuerfel);}
    sort(Wuerfel);
    if Wuerfel[1]=Wuerfel[2] {and W[1]=W[3]} then
      if Wuerfel[1]=Wuerfel[3] then
      dr:=true else dr:=false;
    if Wuerfel[2]=Wuerfel[3]then
      if Wuerfel[2]=Wuerfel[4] then
      dr:=true else dr:=false;
    if Wuerfel[3]=Wuerfel[4]then
      if Wuerfel[3]=Wuerfel[5] then
      dr:=true else dr:=false;
      if dr=true then p:=25 else
      {showmessage}
      p:=0;
      StringGrid1.Cells[Spieler,8]:=IntToStr(p);

    if Spieler=1 then
    SpielerA.d:=false;
    if Spieler=2 then
    SpielerB.d:=false;
    if Spieler=3 then
    SpielerC.d:=false;

    neu;
  end;

end;




end.
Das wär mir schon aufgefallen
dachte nur der Rest wäre nicht so wichtig, ist ja nicht gerade wenig
  Mit Zitat antworten Zitat