Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Glyph.LoadFrom?????? (https://www.delphipraxis.net/68533-glyph-loadfrom.html)

Teddy. 1. Mai 2006 09:42


Glyph.LoadFrom??????
 
Ich versuche gerade ein Spiel mit delphi zu machen. Leider bin ich noch sehr unerfahren und würd gern wissen wie ich Bilder variabel auf BitBtn bekomme. Soweit hab ich das schon geschafft:
Delphi-Quellcode:
x:=random(7-14);
if x=7
  then Karte1.Glyph.LoadFrom     ?????
[edit=SirThornberry]Delphi-Tags gesetzt Mfg, SirThornberry[/edit]

Der_Unwissende 1. Mai 2006 09:56

Re: Glyph.LoadFrom??????
 
Hi und herzlich Willkommen in der DP :dp:

Erstmal vorweg, bitte markieren deinen Code mit den Delphi Tags (die siehst du während du die Nachricht tippst, ob ist eine Liste und da gibt es Delphi-Code für öffnende Tags und *Delphi-Code dann für Schließende)

Wie du ein Bild zuweist kann variieren. Der einfachste Weg ist es, wenn du dein Bild direkt aus einer Datei lädst

Delphi-Quellcode:
CONST FILENAME = 'C:\Bilder\Bild1.bmp';
begin
  x:=random(7-14);

  // hier dein Code auch etwas eingerückt, erhöht die Lesbarkeit und senkt die Fehlermöglichkeiten!
  if x = 7 then
  begin
    Karte1.Glyph.LoadFromFile(FILENAME);
  end;
end;
Dabei gibt es aber mehrere Probleme, einerseits müsstest du die Dateien mitliefern und würdest eine Menge Zeit damit verbringen diese Bilder zu laden, andererseits siehst du hier, dass der Pfad absolut ist. Wenn die bilder jetzt auf D:\ landen hast du ein Problem. Ist immer eine eher schlechte Idee.
Altnernativ kannst du Bilder direkt als Ressourcen einbinden (dazu würdest du dann sicherlich Hilfe finden), leichter ist es aber eine TImageList zu verwenden. Bei der ist es wichtig, dass all dein Bilder die gleiche Größe haben. Width und Height der ImageList festlegen und mit Doppelklick ein Fenster öffnen, in dass du deine Bilder laden kannst. Die werden dann mit in die .exe eingebunden.
Bilder bekommst du mittels getBitmap wieder aus der Liste raus.

Delphi-Quellcode:
begin
  x:=random(7-14);

  if x = 7 then
  begin
    // hier wird jetzt das Bild mit dem Index 3 in den BitBtn geladen
    self.ImageList1.GetBitmap(3, Karte1.Glyph);
  end;
end;
Gruß Der Unwissende

Hawkeye219 1. Mai 2006 10:16

Re: Glyph.LoadFrom??????
 
was möchtest du eigentlich mit dieser Zeile erreichen? :gruebel:

Delphi-Quellcode:
x:=random(7-14);

Teddy. 1. Mai 2006 17:11

Re: Glyph.LoadFrom??????
 
Mit dieser Zeile habe ich nicht viel erreicht....
Deshalb hab ich die auch schon in
x:= random(8)
umbenannt.
Nochmal Dankeschön an den_Unwissenden. Hast mir sehr geholfen! :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz