AGB  ·  Datenschutz  ·  Impressum  







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

FindComponent für Arrays?

Ein Thema von Chrissi91 · begonnen am 27. Mai 2007 · letzter Beitrag vom 27. Mai 2007
Antwort Antwort
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#1

FindComponent für Arrays?

  Alt 27. Mai 2007, 17:04
Hi,

der Titel sagt es eigentlich schon. Ich brauche eine Funktion wie FindComponent für Arrays. Also in etwa so:

FindArray('Level' + IntToStr(i))[1,1] := X Nur leider geht der Code oben nicht.

Hintergrund: Ich habe 10 Arrays, alle 2-dimensionalig (Level1, Level2, ...). Und dann habe ich eine recht lange Prozedure, die ich nach jedem erreichten Level neu aufrufen müsste. Mit der Prozdure übergebe ich einen Integerwert, um welches Array / Level es sich handelt. Ich könnte auch für 10 Level die Prozedure 9x kopieren und das entsprechende Array "per Hand" einsetzen. Das ist mir aber zu viel Code.

Klar gibt es auch Lösungen, um das Problem zu umgehen, aber ich möchte das unbedingt auf diese Art lösen. Ich hoffe ihr könnt mir helfen.

Verregnete Grüße aus Berlin

Chrissi91
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: FindComponent für Arrays?

  Alt 27. Mai 2007, 17:07
Geht so nicht. Nimm lieber eine Lösung, die dein Problem umgeht
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#3

Re: FindComponent für Arrays?

  Alt 27. Mai 2007, 17:09
moin,
warum nicht einfach ein "Levelarray: array of TMyarray" (TMyArray ist halt dein vorhandener ArrayTyp)?
also deine 2-dimensionalen arrays in einem Level-array halten...(hoffe ich drücke mich verständlich aus)
dann kannste einfach per Levelarray[levelnumber] auf die Daten zugreifen

notfalls kannst du auch noch zusätzlich eine "Umsetzungsliste" in eine ini schreiben, intern greifst du nur über die nummer zu...

Code:
[levelnames]
1=erstes Level
2=zweites Level
oder für eine evtl. vorhandene level-definition:

Code:
[Level_0]
name=erstes Level
...daten für das level...
HTH Frank
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: FindComponent für Arrays?

  Alt 27. Mai 2007, 17:13
Soetwas wie FindArray gibt es nicht weil ja sonst die Variablennamen der Arrays mit in der Exe gespeichert werden müssten. Und Variablennamen werden nicht in der Exe gespeichert sondern werden in Speicheradressen gewandelt.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#5

Re: FindComponent für Arrays?

  Alt 27. Mai 2007, 17:25
Danke für eure Antworten.

Leider verstehe ich _frank_ noch nicht ganz. Ich übersetz mal wie ich das verstanden hab und ihr könnt mich dann ja gegebenfals verbessern.

Folgende Level habe ich:
  • MainLevel
  • Level1
  • Level2
  • Level3
  • ...

MainLevel ist 1-dimensional und sieht so aus:
  • Level1
  • Level2
  • Level3
  • ...

In meiner Prozedure würde ich dann auf die Arrays wie folgt zugreifen:

MainLevel[1][I,J] := 10; Das würde dann bedeuten:

Level1[I,J] := 10; Aber der vorletzte Delphicode kann doch so gar nicht gehen. Oder hab ich mittlerweile in Delphi alles vergessen?
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#6

Re: FindComponent für Arrays?

  Alt 27. Mai 2007, 18:04
was soll da nicht gehen?

Delphi-Quellcode:
type
  TLevel=array[1..10,1..10] of string;
  TLevels=array[1..10] of TLevel;
...

implementation

...

procedure TForm1.Button1Click(Sender: TObject);
var levels:TLevels;
begin
  levels[1][2,5]:='test';
  showmessage(levels[1][2,5]);
end;
funktioniert bei mir wunderbar
kann deinen Postings noch kein Gegenargument erkennen, was gegen eine solche vorgehensweise sprechen würde...vielleicht hab ich dich auch falsch verstanden.

Gruß Frank
  Mit Zitat antworten Zitat
Chrissi91

Registriert seit: 28. Jul 2005
849 Beiträge
 
#7

Re: FindComponent für Arrays?

  Alt 27. Mai 2007, 18:25
Achso.

Habe wirklich zu lange kein Delphi mehr gemacht. Ich dachte ihr meintet mit dem MainArray von String wo drin steht 'Level1', 'Level2', etc.

Dann ist alles klar. Thx!!!
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#8

Re: FindComponent für Arrays?

  Alt 27. Mai 2007, 19:24
chrissi91 wollte sowas:
http://nopaste.org/p/ag1onqWYO

Gruß Frank
  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 09: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