AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Objekte und Variablen nummeriet verwenden
Thema durchsuchen
Ansicht
Themen-Optionen

Objekte und Variablen nummeriet verwenden

Ein Thema von schrimm · begonnen am 23. Feb 2007 · letzter Beitrag vom 24. Feb 2007
Antwort Antwort
schrimm
(Gast)

n/a Beiträge
 
#1

Objekte und Variablen nummeriet verwenden

  Alt 23. Feb 2007, 16:20
Also ich hab hier ein hoffentlich leicht zu lösendes Problem:
ich will, dass der mit mehreren objekten inherhalb einer zählschleife was gemacht wird.
also
Delphi-Quellcode:
image1.left:=image1.left+5
image2.left:=image2.left+5
image3.left:=image3.left+5
oder irgend sowas nun die frage: wie krig ich die Zählvariable in das objekt rein?

das ganze mit variablen wäre auch ganz praktisch
also a1,a2,a3,a4, ... alle um das gleiche verändern

[edit=SirThornberry]Delphi-Tags gesetzt, doppelte Buchstaben im Titel entfernt, Buchstabendreher berichtigt und Leerzeichen im Titel gesetzt - nächstes mal bitte die Zeit nehmen nochmal zu schauen was du getippt hast!! Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Obbjekteund variabeln nummerieet verwenden

  Alt 23. Feb 2007, 16:23
Hallo,

dazu musst du deine Objekte einfach in ein array packen:

Delphi-Quellcode:
var
  Images: array[0..4] of TImage; //statisches array
  ImagesO: array of TImage //dynamisches array
Zuweisung so:

Delphi-Quellcode:
//statisch
Images[0] := Image1;
//dynamisch
SetLength(ImagesO, 1);
Images[0] := Image1;
Die Deklaration packst du am besten in den private-abschnitt deiner formdeklaration und weist die werte im OnCreate zu.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
schrimm
(Gast)

n/a Beiträge
 
#3

Re: Obbjekteund variabeln nummerieet verwenden

  Alt 24. Feb 2007, 12:55
das mit den arrays hatte ich auch schon, aber muss man da nicht trotzdem wieder jedes Bild zuweisen?
also
bildarray[1]:=Image1.left;
bildarray[2]:=Image2.left;
...
könnta man das nicht irgendwie so:
Delphi-Quellcode:
for k:=1 to 30 do
 begin
  bildarray[k]:=Image[k].left;
 end;
das problem ist nur, dass ich das Image nicht mit der variablen verbinden kann, also das oben gezeigte geht so ni.
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#4

Re: Obbjekteund variabeln nummerieet verwenden

  Alt 24. Feb 2007, 13:17
Bei DGL-Luke ist Images ein array of TImage. Wenn ich Dich richtig verstanden habe, gilt das auch für Dein bildarray. Dann darfst/kannst Du einem Element doch keine Zahl zuweisen (bei Deinem Versuch left). Folgendes ist dann möglich:
Delphi-Quellcode:
// Zuweisen eines Bildes; das muss "am Anfang" gemacht werden
Images[0] := Image1;
// Zuweisen der Eigenschaft left
Images[1].Left := 344;
// oder
Images[1].Left := Images[1].Left + 5;
oder was auch immer Du machen willst.

Gruß Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Thorben_K

Registriert seit: 22. Okt 2006
Ort: Darmstadt
105 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Objekte und Variablen nummeriet verwenden

  Alt 24. Feb 2007, 14:40
Ich denke das Stichwort ist wie so oft: FindComponents


Delphi-Quellcode:

var
  Img : TComponent;
  i : LongInt;

begin
  for i := 1 to AnzahlImage do
  begin
    Img := FindComponent('Image' + IntToStr(i));
    (Img as TImage).Left := (Img as TImage).Left + 10;
  end;
end;
Thorben
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Objekte und Variablen nummeriet verwenden

  Alt 24. Feb 2007, 15:29
Wah nein, das ist das Stichwort für "wie mache ich es nicht?"!

Delphi-Quellcode:
for k:=1 to 30 do
begin
  bildarray[k]:=Image[k].left;
end;
Was heißt da das geht so nicht? nix da!

Einmal ins formcreate reingepackt:

Delphi-Quellcode:
SetLength(Images,5);

Images[0] := Image1;
Images[1] := Image2;
Images[2] := Image3;
Images[3] := Image4;
Images[4] := Image5;
Und schon kann man durch seine Images durchiterieren wie man will.

FindComponent mach ich erst, wenns über 100 Images sind - die werden dann aber eh dynamisch erzeugt und das Problem stellt sich erst gar nicht, weil sie dann gleich ins Array kommen!
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
schrimm
(Gast)

n/a Beiträge
 
#7

Re: Objekte und Variablen nummeriet verwenden

  Alt 24. Feb 2007, 19:29
Jo, also DANKE für eure Lösungen.
Ich werds erstma mit dem FindComponent probieren, bin ja noch in der Grundlagenforschung, dann mach ich auch mal das andere, fallst es weitere Fregen gibt nerv ich wieder
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:23 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