AGB  ·  Datenschutz  ·  Impressum  







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

Dynamisches Array verschachteln und speichern

Ein Thema von flosoft · begonnen am 4. Jul 2012 · letzter Beitrag vom 6. Jul 2012
Antwort Antwort
Iwo Asnet

Registriert seit: 11. Jun 2011
313 Beiträge
 
#1

AW: Dynamisches Array verschachteln und speichern

  Alt 5. Jul 2012, 11:35
Dafür gibt's die For-Schleife.
Das ursprüngliche Datendesign enthielt verschachtelte Arrays in Records. Durch geeignete Speicherfunktionalität, z.B. durch die von mir beschriebene, muss man davon nicht abweichen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#2

AW: Dynamisches Array verschachteln und speichern

  Alt 5. Jul 2012, 12:25
Dafür gibt's die For-Schleife.
Gut, aber wie ist es mit dem Auslesen?
Beim Auslesen des records schreibst du einen "defekten" Pointer in den Record, also an die Stelle wo das Array steht.
Sobald du dann versuchst mit SetLength dem array seine größe zuzuweisen, weil du nun ja auch noch dieses befüllen willst, knallt es ganz furchtbar.
OK, man könnte jetzt das Speichermanagement mit wilden Pointeroperationen umgehen und dort diesen internen Pointer anpassen, aber dann doch lieber die Felder einzeln auslesen ... jedenfalls für die Personen, welche keine Ahnung davon haben wie z.b. die dynamischen arrays intern verwaltet werden.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
tgvoelker

Registriert seit: 9. Sep 2002
Ort: Oelsnitz, Vogtland
44 Beiträge
 
Delphi 12 Athens
 
#3

AW: Dynamisches Array verschachteln und speichern

  Alt 6. Jul 2012, 00:27
Dafür gibt's die For-Schleife.
Gut, aber wie ist es mit dem Auslesen?
Beim Auslesen des records schreibst du einen "defekten" Pointer in den Record
Ja, das Auslesen ist schon etwas kniffliger, aber nicht wegen dem Zeiger, der wird einfach auf $00000000 gesetzt und dann die Länge des Arrays iterativ erhöht, sondern, weil man die nacheinander abgespeicherten Records unterscheiden muß. Das Kriterium dafür würde ich bei dem (wie ich vorhin schrieb, anstelle Stirng) Shortstring setzen, wobei da natürlich geprüft werden müßte, ob die Zeichen im String überhaupt zulässige Zeichen sind. Wahrscheinlich hätte ich im Rahmen der Implementierung die Records geändert und einen Strukturidentifikator eingefügt an die erste Stelle, das würde die Sache deutlich einfacher machen.
Thomas Völker
  Mit Zitat antworten Zitat
tgvoelker

Registriert seit: 9. Sep 2002
Ort: Oelsnitz, Vogtland
44 Beiträge
 
Delphi 12 Athens
 
#4

AW: Dynamisches Array verschachteln und speichern

  Alt 5. Jul 2012, 12:29
Dafür gibt's die For-Schleife.
Das ursprüngliche Datendesign enthielt verschachtelte Arrays in Records. Durch geeignete Speicherfunktionalität, z.B. durch die von mir beschriebene, muss man davon nicht abweichen.
Das impliziert zweierlei: erstens, daß der Algorithmus sich nicht auf "verschachtelte Arrays" anwenden ließe (was nicht stimmt, weil genau diese Verschachtelung durch die For-Schleife behandelt wird), und zweitens, daß der Algorithmus nicht geeignet wäre.
Thomas Völker
  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 10:03 Uhr.
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 by Thomas Breitkreuz