Autor Beitrag
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Mo 13.12.10 19:12 
Hi!

Ich habe in mehreren Prozeduren eine Variable vom Typ array[1..7of TIrgendwas. Die 7 ist jedes Mal anders. Das sollte aber so sein, da ich nur statische Arrays eines Records angenehm initialisieren kann (die sind lokal). TIrgendwas enthält nur zwei String-Variablen, die aber unbeschränkt sind. Nun habe ich eine Funktion, die als Argument ein TNochwas erwartet. TNochwas ist definiert als TNochwas = array of TIrgendwas;.

Ich brauche nun also eine Funktion, die ein array[1..n] of TIrgendwas in ein TNochwas konvertiert. Hat jemand eine Idee, wie man das macht?

Meine erste Idee war, dass man einfach einen Pointer auf das erste Argument und evtl. noch die Länge übergibt und dann einfach n-mal Inc(ptr) gemacht wird. Aber das dürfte ja nicht gehen, da die Strings eine Variable Länge aufweisen.

Ich habe wahrscheinlich gerade ein Brett vor dem Kopf...
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Mo 13.12.10 20:47 
Also entweder das ist Slice, oder die macht genau das Gegenteil. Ich kann mir das immer nicht merken ;)

Wenn nicht, kannst du die Daten ja immer noch kopieren.

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."