AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Variablen in Objektnamen verwenden?
Thema durchsuchen
Ansicht
Themen-Optionen

Variablen in Objektnamen verwenden?

Ein Thema von Sluak · begonnen am 21. Mär 2011 · letzter Beitrag vom 22. Mär 2011
Antwort Antwort
Seite 1 von 3  1 23      
Sluak

Registriert seit: 21. Mär 2011
7 Beiträge
 
#1

Variablen in Objektnamen verwenden?

  Alt 21. Mär 2011, 12:32
Hallo

Es geht um folgendes Problem: Ich schreibe gerade ein Memory Spiel mit Delphi. Dabei gibt es 30 Bilder der einzelnen Karten. Nun möchte ich(wenn zwei Karten gezogen wurden, die nicht übereinstimmen) die Karten wieder umdrehen.
Derzeit wäre mein einziger Lösungsansatz dafür, dem Array (was die Koordinaten der Karten in der Form darstellt) einen Wert zB 0 zuzuweisen und dann per If then Schleife die Karten wieder zurück zum Deckblatt zu führen.

Das Problem an der ganzen Sache ist, dass so bei 30 Bildern mindestens 100 Zeilen entstehen, die weder übersichtlich, noch praktisch sind.

Gibt es eine Möglichkeit, zB um eine Variable x:Integer in den Objektnamen einzubringen?
Beispiel:
Statt bisher Image1.Picture.LoafFromFile(...);
möchte ich nun also ImageX.Picture.LoadFromFile(...);

Bei google fand ich bisher leider absolut nichts.

Könnt ihr mir vielleicht helfen?


mit freundlich(st)en Grüßen
Sluak
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Variablen in Objektnamen verwenden?

  Alt 21. Mär 2011, 12:34
Schau dir mal FindComponent() an
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von pustekuchen
pustekuchen

Registriert seit: 27. Aug 2010
265 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Variablen in Objektnamen verwenden?

  Alt 21. Mär 2011, 12:41
Danke. Genau das hab ich mich vor 10 min auch gefragt^^

So könnte es aussehen:
(FindComponent('Image' +IntToStr(choice+1)) as TPicture).LoadFromFile(....);
Delphi programming is awesome.
  Mit Zitat antworten Zitat
Sluak

Registriert seit: 21. Mär 2011
7 Beiträge
 
#4

AW: Variablen in Objektnamen verwenden?

  Alt 21. Mär 2011, 12:51
Delphi-Quellcode:
For i:=1 to 30 do
begin
(FindComponent('Image'+IntToStr(i)) as TPicture).LoadFromFile('bilder\deckblatt.bmp');
end;
Leider kommt dabei bei mir folgende Fehlermeldung: [Fehler] Memory.pas(149): Undefinierter Bezeichner: 'LoadFromFile'
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: Variablen in Objektnamen verwenden?

  Alt 21. Mär 2011, 12:52
Hallo,

Es muss so aussehen:

Delphi-Quellcode:
for i:=1 to 30 do
begin
  (FindComponent('Image'+IntToStr(i)) as TImage).Picture.LoadFromFile('bilder\deckblatt.bmp');
end;
Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#6

AW: Variablen in Objektnamen verwenden?

  Alt 21. Mär 2011, 12:53
Delphi-Quellcode:
For i:=1 to 30 do
begin
TImage(FindComponent('Image'+IntToStr(i)).LoadFromFile('bilder\deckblatt.bmp');
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von Bummi (21. Mär 2011 um 12:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Variablen in Objektnamen verwenden?

  Alt 21. Mär 2011, 12:54
PS: Die Dinger auf dem Formular heißen "TImage"
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#8

AW: Variablen in Objektnamen verwenden?

  Alt 21. Mär 2011, 12:54
Delphi-Quellcode:
For i:=1 to 30 do
begin
(FindComponent('Image'+IntToStr(i)) as TPicture).LoadFromFile('bilder\deckblatt.bmp');
end;
Leider kommt dabei bei mir folgende Fehlermeldung: [Fehler] Memory.pas(149): Undefinierter Bezeichner: 'LoadFromFile'
tausch das aus:

Delphi-Quellcode:
For i:=1 to 30 do
begin
(FindComponent('Image'+IntToStr(i)) as TImage).Picture.LoadFromFile('bilder\deckblatt.bmp');
end;
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#9

AW: Variablen in Objektnamen verwenden?

  Alt 21. Mär 2011, 12:57
@Neutral General

uuuppps, danke, habe gepennt
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Sluak

Registriert seit: 21. Mär 2011
7 Beiträge
 
#10

AW: Variablen in Objektnamen verwenden?

  Alt 21. Mär 2011, 13:01
Vielen, vielen Dank.
Es funktioniert (wie auch nicht anders zu erwarten )

EDIT: Geht das auch mit Prozeduren?

Delphi-Quellcode:
procedure TForm1.Image1Click(Sender: TObject);
begin
BildKlick(1,0,0);
Image1.Picture.LoadFromFile('bilder\'+IntToStr(i)+'.jpg');
Etwas dergleichen habe ich auch 30 mal derzeit in dem Programm stehen.

Geändert von Sluak (21. Mär 2011 um 13:15 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 14:55 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