AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Kopf oder Zahl

Ein Thema von Peter16 · begonnen am 12. Sep 2009 · letzter Beitrag vom 15. Sep 2009
Antwort Antwort
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.779 Beiträge
 
Delphi 10.4 Sydney
 
#1

Re: Kopf oder Zahl

  Alt 13. Sep 2009, 14:01
so ...

.. ein Set und eine Klasse:

Delphi-Quellcode:
TSeite = set of (Kopf,Zahl);
TMuenze = class(TObject)
  private
    kopfSeite : TBitmap;
    zahlSeite : TBitmap;
    oben : TSeite;
  public
    constructor Create; virtual;
    destructor Destroy; override;
    procedure werfen;
    procedure zeigen(ausgabeImage: TImage); overload;
    function zeigen:AnsiString; overload;
end;
die Methoden:
Delphi-Quellcode:
constructor TMuenze.Create;
begin
  inherited create;
  randomize;

  kopfSeite := TBitmap.Create;
  kopfSeite.LoadFromFile(ExtractFilePath(ParamStr(0))+'MKopf.bmp');

  zahlSeite := TBitmap.Create;
  zahlSeite.LoadFromFile(ExtractFilePath(ParamStr(0))+'MZahl.bmp');

end;

destructor TMuenze.Destroy;
begin
  kopfSeite.Free;
  zahlSeite.Free;
end;


procedure TMuenze.werfen;
var
  kopfWurf : Boolean;
begin
  kopfWurf := random(2)+1 = 1;
  if kopfWurf then
    oben := [Kopf]
  else
    oben := [Zahl];
end;

procedure TMUenze.zeigen(ausgabeImage: TImage);
begin
  ausgabeImage.Stretch := true;
  ausgabeImage.Proportional := true;

  if oben = [Kopf] then
    ausgabeImage.Picture.bitmap.Assign(kopfSeite)
  else
    ausgabeImage.Picture.bitmap.Assign(zahlSeite);
end;

function TMuenze.zeigen:AnsiString;
begin
  if oben = [Kopf] then
    result := 'Kopf'
  else
    result := 'Zahl';
end;
wie man es nutzt:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  muenze.werfen;
  muenze.zeigen(Image1);
  label1.Caption:=muenze.zeigen;
end;
Wie man aus dem Quelltext erkennen kann, sollten die bmp Dateien im
gleichen Ordner wie die Applikation liegen.

Nicht zu vergessen sind:
Eine Instanz der Klasse zu erzeugen und auch wieder
freizugeben.

Grüße
Klaus
Angehängte Dateien
Dateityp: zip _sieuro_114.zip (47,4 KB, 6x aufgerufen)
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz