Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Array of Array of record (https://www.delphipraxis.net/160354-array-array-record.html)

FredlFesl 10. Mai 2011 06:21

AW: Array of Array of record
 
Bei Google suchendelphi array zugriff mehrdimensional

EWeiss 10. Mai 2011 06:25

AW: Array of Array of record
 
Zitat:

Zitat von FredlFesl (Beitrag 1099895)

10.300 Ergebnisse
Hilft mir aber nicht weiter da mein Array ja steht.
Aber beim vergleiche total irrationale ergebnisse liefert obwohl sie stimmen.
Wenn man mit dem Debugger vergleicht.

siehe http://www.delphipraxis.net/1099885-post1.html

gruss

FredlFesl 10. Mai 2011 06:45

AW: Array of Array of record
 
Zitat:

Zitat von WikiBooks
Auch die Auswertung der gespeicherten Daten erfolgt über komma-getrennte Indizes. Alternativ kann man jede Dimension in eigenen eckigen Klammern notieren:
Delphi-Quellcode:
a1[1, 0] := 15;     // gleichbedeutend mit: a1[1][0] := 15;
a2[2, 4, 8] := 0;   // gleichbedeutend mit: a2[2][4][8] := 0

Ich dachte, das wäre die Antwort auf deine Frage, nachdem Du die Sache mit der AV gelöst hast.
Zitat:

Zitat von EWeiss (Beitrag 1099847)
Es ging um die frage wo der unterschied liegt.. mit oder ohne Komma

Zitat:

Zitat von EWeiss (Beitrag 1099836)
...Ich verwende ein komma ... du hingegen nicht.. Ist es das selbe?
Oder wo liegt der Unterschied.

Ein Compiler wird beim Erzeugen des Codes u.U. zu anderen Ergebnissen kommen, je nachdem, ob er die Komma- oder Klammerschreibweise vorfindet.

Zitat:

Zitat von EWeiss (Beitrag 1099898)
...Aber beim vergleiche total irrationale ergebnisse liefert obwohl sie stimmen.
Wenn man mit dem Debugger vergleicht.

siehe http://www.delphipraxis.net/1099885-post1.html

Hab mir das andere Problem mal angeschaut. Ich gehe davon aus, das Du die Lösung nun selbst erarbeiten kannst. Wenn nicht => Array-Index korrekt ermitteln.

Aber eins fällt schon mal auf: Du schreibst, das der Code "total irrationale ergebnisse liefert obwohl sie stimmen." Das ist definitiv falsch beobachtet. Sie stimmen nämlich nicht.

Delphi hat zwar Macken, aber der Arrayzugriff gehört definitiv nicht dazu.

EWeiss 10. Mai 2011 07:04

AW: Array of Array of record
 
Zitat:

Aber eins fällt schon mal auf: Du schreibst, das der Code "total irrationale ergebnisse liefert obwohl sie stimmen." Das ist definitiv falsch beobachtet. Sie stimmen nämlich nicht.
Danke für deine Ausführung.
Habe im anderen Thread schon geschrieben das laut der informationen
die vom Tooltip des Debugger kommen sind alle Daten korrekt werden aber falsch ausgewertet.

das meine ich mit Irrational

gruss

himitsu 10. Mai 2011 09:15

AW: Array of Array of record
 
a = array of array of ...

a[x, y] = a[x][y]

Jumpy 10. Mai 2011 09:44

AW: Array of Array of record
 
OT:
Da das Problem ja im anderen Thread gelöst ist erlaub ich mir eine kurze Entführung:

Zitat:

Zitat von himitsu (Beitrag 1099925)
a[x, y] = a[x][y]

Ist das also egal, ob das mehrdimensionale Array statisch oder dynamisch ist?
Ich meine das in andern Programmiersprachen so gesehen zu haben, dass man mit
a[1,2] statische und mit a[1][2] dynamische Arrays angesprochen hat (oder war das umgekehrt)?

/OT

p80286 10. Mai 2011 09:59

AW: Array of Array of record
 
Also soo ganz kompatibel sind die beiden schreibweisen wohl nicht.
wenn Du eine Stringliste hast, die ja wohl auch ein Array ist(?) kannst Du so nicht zugreifen
Delphi-Quellcode:
Bstb:=MyStringlist[0,1];
so aber geht es
Delphi-Quellcode:
Bstb:=MyStringList[0][1];
Allerdings meckert da der Compiler schon im Vorfeld.

Gruß
K-H

EWeiss 10. Mai 2011 10:13

AW: Array of Array of record
 
Zitat:

Zitat von Jumpy (Beitrag 1099930)
OT:
Da das Problem ja im anderen Thread gelöst ist erlaub ich mir eine kurze Entführung:

Zitat:

Zitat von himitsu (Beitrag 1099925)
a[x, y] = a[x][y]

Ist das also egal, ob das mehrdimensionale Array statisch oder dynamisch ist?
Ich meine das in andern Programmiersprachen so gesehen zu haben, dass man mit
a[1,2] statische und mit a[1][2] dynamische Arrays angesprochen hat (oder war das umgekehrt)?

/OT

Das ist also der Unterschied.. Danke.
konnte mir irgendwo auch nicht vorstellen das unterschiedliche Schreibweisen
das gleiche sein soll. Abgesehen vom Ergebnis in diesen fall

himitsu 10. Mai 2011 10:27

AW: Array of Array of record
 
Das bezog sich nur auf Arrays ... egal ob statisch oder dynamisch.

Bei einer Stringlist steht SL[i] eigentlich für SL.Item[i], wobei das Item weggelassen werden kann, da es als "default" Array-Property deklariert ist.
Aus diesem Grund läßt sich z.B
Delphi-Quellcode:
Array of TStringList
nur als [x][y] und nicht als [x, y] schreiben, da es ja eigentlich [x].Item[y] heißt.

Bei verschachtelten Array geht aber Beides.

DeddyH 10. Mai 2011 10:30

AW: Array of Array of record
 
Und weil es für [x, y] keinen Getter in TStringlist gibt und das Array zwar intern vorhanden, der Zugriff aber gekapselt ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:54 Uhr.
Seite 2 von 3     12 3      

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-2025 by Thomas Breitkreuz