AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bild verschieben

Ein Thema von Jaegermeister1992 · begonnen am 2. Okt 2009 · letzter Beitrag vom 2. Okt 2009
Antwort Antwort
Seite 1 von 2  1 2      
Jaegermeister1992

Registriert seit: 2. Okt 2009
18 Beiträge
 
#1

Bild verschieben

  Alt 2. Okt 2009, 18:33
Code:
procedure TForm1.Nachlegen(Zahl:integer);
var i:integer;
    name, name2: string;
begin
    for i:=Zahl+1 to 14 do begin
        Name := 'S1K' + inttostr(i-1); //S1K und dann noch eine Zahl ist der Name der Karte , auf Deutsch
        Name2 := 'S1K' + inttostr(i); // S für Spieler 1 für SPieler1 K für Karte und die Zahl dahinter für die Nummer
        ......
        ......
        ......
    end;
end;
Es handelt sich bei meinem Spiel um ein Kartenspiel.

Diese Procedure ist von mir selber verfasst sie soll dafür sorgen dann wenn eine Karte aus der Hand verschwindet die Karten Rechtsdavon alle ein Feld sozusagen nach links rutschen.

Das ganze habe ich mir so vorgestellt das ich es mti einer for schleife mache da durch die procedure ja die Variable Zahl mit rein kommt(dabei handelt es sich um die entfernte nummer der Karte) Sollten nur ja alle anderen Nummern der Karten erreichbar sein.
Name steht somit für die Karte wo die Karte von Name2 hinsoll.
und des was etz in Name steht ist der name von dem Bild sozusagen.

Etz die Frage wie kann ich es machen das der Compilier etz versteht wenn ich schreib
Name.Picture, dass damit der Inhalt von Name gemeint ist?
Also:
zum Beispiel
S1K3.Picture für Name
und
S1K4.Picture für Name2
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Bild verschieben

  Alt 2. Okt 2009, 18:47
Hi und willkommen in der DP!

Ich versteh deine Frage nicht so ganz genau um ehrlich zu sein. Aber kann es sein, dass du sowas suchst wie den Befehl "FindComponent". Da gibst du als Parameter den Namen als String ein, und bekommst eine Komponente zurück:

Delphi-Quellcode:

Name1:='S1K1';
MyPicture:=TImage(FindComponent(Name1));
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Jaegermeister1992

Registriert seit: 2. Okt 2009
18 Beiträge
 
#3

Re: Bild verschieben

  Alt 2. Okt 2009, 19:06
So ähnlich, also nochmal:^^

Mal vereinfacht nicht genua auf mein Programm aber mein TImage heißt S1K1
ich möchte etz aber nicht schrieben
S1K1.Picture.LoadfromFile('blablabla');
sondern davor eine Variable bestimmen Name heißt und den Inhalt hat S1K1
udn dann
halt zum Beispiel des so darstellen:
Name.Picture.Loadfromfile('blablabla');
blos Name soll hal umgewandelt werden in S1K1

mfg Jo
  Mit Zitat antworten Zitat
hugo1990

Registriert seit: 27. Dez 2006
166 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Bild verschieben

  Alt 2. Okt 2009, 19:16
Also ich find das immer noch nicht wirklich verständlicher erklärt, aber so wie ich es verstanden habe, was du willst, ist es genau das was alleinherrscher geschrieben hat.
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Bild verschieben

  Alt 2. Okt 2009, 19:17
ooookay...Du willst quasi einen "Platzhalter" für den Variablennamen haben? Bin mir nicht sicher ob das geht... Aber ich denke, dein Problem würde sich viel besser lösen lassen, wenn du mit Arrays arbeitest.

Ich würde dir empfehlen ein zweidimensionales Array vom Typ TImage anzulegen, dann könntest du direkt über die Indizes auf ein Bild zugreifen. Und das ist doch genau das, was du eigentlich willst oder?

Also z.B.

Delphi-Quellcode:

MyImageArray:Array [0..15] of TImage;

//[...]

for x:=1 to bla do
  for y:=1 to bla do
  MyImageArray[x,y].picture.loadfromfile('C:\bla.bmp');
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Jaegermeister1992

Registriert seit: 2. Okt 2009
18 Beiträge
 
#6

Re: Bild verschieben

  Alt 2. Okt 2009, 19:23
man kann also nicht den Namen eines Bildes durch den Inhalt einer Variable tauschen?

sName := 'Image1'
sName.Picture.Loadfromfile('bla');

des geht nicht iwie?
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Bild verschieben

  Alt 2. Okt 2009, 19:24
Das wurde doch bereits genannt:

Delphi-Quellcode:
ImgName := 'Image1';
TImage(FindComponent(ImgName)).Picture.LoadFromFile('...');
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Bild verschieben

  Alt 2. Okt 2009, 19:25
Zitat von Jaegermeister1992:
man kann also nicht den Namen eines Bildes durch den Inhalt einer Variable tauschen?

sName := 'Image1'
sName.Picture.Loadfromfile('bla');

des geht nicht iwie?
Das ist doch genau das was ich oben geschrieben habe:

Delphi-Quellcode:
sName:='Image1';
TImage(FindComponent(sName)).picture.loadfromfile('bla');
//edit: Sry, Matze, du warst schneller und ich habs nicht mitbekommen
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Jaegermeister1992

Registriert seit: 2. Okt 2009
18 Beiträge
 
#9

Re: Bild verschieben

  Alt 2. Okt 2009, 19:27
Super Danke!!!
Etz funkts!
  Mit Zitat antworten Zitat
Jaegermeister1992

Registriert seit: 2. Okt 2009
18 Beiträge
 
#10

Re: Bild verschieben

  Alt 2. Okt 2009, 19:41
kann man auch einem Bild ein anderes zuordnen
also Images1 := Images2 ???
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:34 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