Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - mehrdimensionale dynamische Arrays?


webmaker - Sa 29.03.03 18:11
Titel: mehrdimensionale dynamische Arrays?
Hallo wie kann ich das machen?
Es sollen praktisch 2 Spalten sein, in dem einen soll eine Nummer stehen und in dem anderen ein Text (string)


Christian S. - Sa 29.03.03 18:14

Nun, das wirst Du mit einem eindimensionalen Array machen müssen, indem Du einen Record speicherst. Die Elemente eines Arrays haben nämlich immer den selben Typ!

Mehr zu Arrays findest Du in diesem Tutorial [http://www.delphi-forum.de/viewtopic.php?t=7204].


webmaker - Sa 29.03.03 18:31

ja schon klar, aber ich kann ja die Nummer mittels IntoTostr in ein String konvertieren. Hast du mal schnell eine Lösung für mich?


Christian S. - Sa 29.03.03 18:36

Steht zwar alles in dem Tutorial und wenn Du es nicht liest werde ich auf ewig beleidigt sein, aber na gut:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
var
  my_array : Array[0..1] of Array of String;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  SetLength(my_array[0],10);
  SetLength(my_array[1],10);
  my_array[0,0]:=IntToStr(1);
  my_array[1,0]:='Erster Text';
end;


MfG,
Peter


webmaker - Sa 29.03.03 18:56

hey danke...
werde mir auch morgen oder heute Abend dein Tutorial durchlesen. Hab es shcon ein wenig angefangen. Nur habe ich jetzt sehr viel am Hut, aber es sehr gut (zumindest der Anfang...) beschrieben und erklärt.


webmaker - Mo 31.03.03 21:00

habe am Samstag noch dein Tutorial gelesen, muss sagen es gefällt mir sehr gut!!!!!!


Christian S. - Mo 31.03.03 21:23

Das freut mich! Wenn Du Verbesserungsvorschläge hast, dann sag' bitte Bescheid. Ich verändere immer wieder Dinge, die anderen oder mir auffallen!


AndyB - Mo 31.03.03 22:57

Peter Lustig hat folgendes geschrieben:

Quelltext
1:
2:
  SetLength(my_array[0],10);
  SetLength(my_array[1],10);

Wenn Borland die SetLength() Funktion schon erweitert, dann könnte man diese Erweiterung auch nutzen:

Quelltext
1:
SetLength(my_array, 10, 10);                    


Christian S. - Mo 31.03.03 23:12

Zitat:
Wenn Borland die SetLength() Funktion schon erweitert, dann könnte man diese Erweiterung auch nutzen:
Und man könnte auch einen freundlicheren Tonfall nutzen.

Im übrigen ist hier ein Array mit nur zwei Spalten gefragt, Deine Anmerkung ist also nicht ganz korrekt. Ich werde das allerdings in das Tutorial aufnehmen. Komisch, dass das in der Delphi-Hilfe nicht dokumentiert ist.


AndyB - Di 01.04.03 10:34

Peter Lustig hat folgendes geschrieben:
Und man könnte auch einen freundlicheren Tonfall nutzen.

Findest du diesen Tonfall etwa unfreundlich. Meine erste Formulierung war sehr angreifend, das wollte ich aber nicht. Vielleicht hätte ich noch eine andere Formulierung verwenden sollen. Aber wenn ich dich angreifen wollte, dann hätte ich sicherlich ein Ausrufezeichen am Satzende angefügt. :cry:


Christian S. - Di 01.04.03 10:57

Zitat:
Findest du diesen Tonfall etwa unfreundlich.
Naja, etwas merkwürdig war sie schon. Ich war einfach nur überrascht. Vielleicht habe ich auch überreagiert.

:beer: :?: