Hi und herzlich Willkommen in der
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