Delphi-PRAXiS
Seite 6 von 8   « Erste     456 78      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Kopf oder Zahl (https://www.delphipraxis.net/140178-kopf-oder-zahl.html)

DeddyH 12. Sep 2009 22:02

Re: Kopf oder Zahl
 
Nimm 2 TImage, lad da jeweils eins der beiden Bilder rein und setz entsprechend Deiner Anforderung eins der beiden nach vorn (das geht mit BringToFront) bzw. das andere nach hinten (SendToBack). Der Rest ist Überlegung.

Peter16 12. Sep 2009 22:52

Re: Kopf oder Zahl
 
ich bekomme es einfach nicht hin ich gebe auf!

Die Muhkuh 12. Sep 2009 23:16

Re: Kopf oder Zahl
 
Zitat:

Zitat von Peter16
ich bekomme es einfach nicht hin ich gebe auf!

:thumb:

Medium 13. Sep 2009 08:21

Re: Kopf oder Zahl
 
Schade. Grad wo ich das Popcorn kalt gestellt, und das Bier gezuckert hab :cry:

Klaus01 13. Sep 2009 14:01

Re: Kopf oder Zahl
 
Liste der Anhänge anzeigen (Anzahl: 1)
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

jfheins 13. Sep 2009 15:04

Re: Kopf oder Zahl
 
Sehr gut finde ich die Umsetzung als Set - so kann man bei Gelegenheit auch die Zustände "Kopf und Zahl" sowie "Weder Kopf noch Zahl" darstellen :)

Nicht zu vergessen: Die Euroumstellung. Die 1€ Münze hat ja nur Zahl oder Wappen/Adler - das kann man direkt umsetzen zu [Zahl] und [] :mrgreen:

Und besonders Praktisch ist das, wenn bald die Münze erfunden wird, die gleichzeitig auf beiden Seiten landen kann :mrgreen:

Wolfgang Mix 13. Sep 2009 19:14

Re: Kopf oder Zahl
 
Schade, ab Post 52 habt Ihr ihn wohl vergrault. :(

@Peter 16

Melde Dich nach der Schule noch 'mal wieder und berichte,
was der Lehrer von Deiner Arbeit hält bzw. welche Fortschritte Du gemacht hast.

Gruß

Wolfgang

Die Muhkuh 13. Sep 2009 19:16

Re: Kopf oder Zahl
 
Naja, da Klaus nun alles gemacht hat, kann man wohl nicht mehr von "seiner" Arbeit sprechen. :zwinker:

Wolfgang Mix 13. Sep 2009 19:33

Re: Kopf oder Zahl
 
@Die Muhkuh

Zitat:

Naja, da Klaus nun alles gemacht hat, kann man wohl nicht mehr von "seiner" Arbeit sprechen. Zwinkern
Du hast natürlich Recht. Dann geben wir ihm doch die Tipps, die wir allen Anfängern geben:

- Tutorials von Delphi-Treff abarbeiten
- Crashkurs Delphi dto.

Als Anfänger mit vllt. 2 Doppelstunden Delphi-Unterricht hätte ich nach Post #52 auch aufgegeben.

Gruß

Wolfgang

Die Muhkuh 13. Sep 2009 19:36

Re: Kopf oder Zahl
 
Zitat:

Zitat von Wolfgang Mix
Als Anfänger mit vllt. 2 Doppelstunden Delphi-Unterricht hätte ich nach Post #52 auch aufgegeben

Dem bringt aber dann auch die Lösung von Klaus nix. Wer kennt nach 2 Doppelstunden Klassen und Sets? :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:04 Uhr.
Seite 6 von 8   « Erste     456 78      

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