![]() |
Name als Objektbezeichnung
Hallo :D
Für den Informatikunterricht müssen wir ein Programm entwickeln. Wir (Gruppenarbeit) haben uns dazu entschieden ein kleineres Spiel zu schreiben. Nun stehen wir jedoch vor einem, für uns scheinbar, unlösbaren Problem. Um ein Bild (bmp) bewegen zu können haben wir uns dazu entschieden dies mittels folgenden Codes zu tun: 'Traktor'+IntToStr(FZustand)+'bmp'.Top := 'Traktor'+IntToStr(FZustand)+'bmp'.Top - 25; Dieser Aufruf(bis zum .Top) hat bisher zum erzeugen oder ähnlichen auch funktioniert. Doch mit .Top stehen wir nun vor dem Problem dass folgende Fehlermeldung kommt: [Fehler] uTTraktor.pas(52): Record, Object oder Klassentyp erforderlich. Wie können wir dem werten Delphi nun beibringen, dass der Name eine Bezeichnung für ein Bild ist. Für den Fall das dies hier der falsche Thread ist, bitte verschieben. Bereits im davor, Danke für eure Hilfe. Ende der Durchsage :-D |
AW: Name als Objektbezeichnung
Schau Dir mal FindComponent an.
|
AW: Name als Objektbezeichnung
Als alternative, kann man auch die verwendeten Bilder (beim Erzeugen) in einer Liste oder einem Array speichern und dann einfach über die Nummer darauf zugreifen.
|
AW: Name als Objektbezeichnung
Zitat:
Delphi-Quellcode:
// TImage Komponente aufs Formular ziehen und so benennen
FTraktorImage: TImage;
Delphi-Quellcode:
begin
// Bild ins TImage laden FTraktorImage.Picture.LoadFromFile('Traktor' + IntToStr(FZustand)+ '.bmp'); // Image auf Formular bewegen FTraktorImage.Top := FTraktorImage.Top - 25; ... end; |
AW: Name als Objektbezeichnung
Ihr versucht einen Variablennamen zu stricken, das kann nicht funktionieren, da das kompilierte Programm keine Namen mehr kennt. Und Delphi verfügt nicht über hierfür notwendigen Präprozessor.
Eure Alternative lautet Array oder Liste. Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 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 by Thomas Breitkreuz