Einzelnen Beitrag anzeigen

Benutzerbild von Tormentor32
Tormentor32

Registriert seit: 27. Okt 2005
Ort: Düsseldorf
369 Beiträge
 
Delphi XE5 Professional
 
#10

Re: Problem beim Einbinden von Komponenten

  Alt 5. Okt 2006, 21:01
Hier ist der Code!

Delphi-Quellcode:
unit Wuerfel;

interface

uses
  SysUtils, Classes;

type
  TWuerfelEvent = procedure(var Wert: int64) of object;
  TWuerfel = class(TComponent)
  private
    FAnzahlWuerfel: Word;
    FAnzahlSeiten: Word;
    FBonus: Integer;
    FWert: Int64;
    FNegativeWerte: Boolean;
    FOnWuerfeln: Twuerfelevent;
    { Private-Deklarationen }
  protected
    { Protected-Deklarationen }
  public
    function GetZufallsWert: int64;
    //constructor Create(AOwner: TComponent); override;
    { Public-Deklarationen }
  published
    property AnzahlWuerfel: Word read FAnzahlWuerfel write FAnzahlWuerfel;
    property AnzahlSeiten: Word read FAnzahlSeiten write FAnzahlSeiten;
    property Bonus: Integer read FBonus write FBonus;
    property NegativeWerte: boolean read FNegativeWerte write FnegativeWerte;
    property OnWuerfeln: TWuerfelevent read FonWuerfeln write FonWuerfeln;
    { Published-Deklarationen }
  end;

procedure Register;

implementation
{
constructor Twuerfel.Create(AOwner: TComponent);
begin
  randomize;
end;
}

function Twuerfel.GetZufallsWert: int64;
var i: word;
    a: int64;
begin
  Fwert := 0;
  if FAnzahlWuerfel > 0
    then
      for i := 1 to FAnzahlWuerfel do
        begin
          a := (random(FAnzahlSeiten)+Fbonus+1);
          if (FNegativeWerte = false) and (a < 0)
            then
              a:=0;
          Fwert := Fwert+a;
        end;
  if Assigned(OnWuerfeln)
    then
      OnWuerfeln(Fwert);
  result := Fwert;
end;

procedure Register;
begin
  RegisterComponents('Beispiele', [TWuerfel]);
end;

end.
Zuhause funzt das, aber auf der Arbeit nicht, der sagt "Ruft sich selbst auf"
Richard Mahr
  Mit Zitat antworten Zitat