![]() |
Dynamische Mehrdimensionalige Arrays
Hallo,
ich komme aus der PHP- Branche, und würde gerne wissen wie man folgendes in Delphi realisiert. Bitte mit Deklaration der Variablen:
Delphi-Quellcode:
<?php
$arr = array( "abc" => "def", "123" => "jkl", "anotherOne" => "lol" ); foreach($arr AS $key => $val) { showMessage($key); showMessage($val); } ?> |
Re: Dynamische Mehrdimensionalige Arrays
Könntest du vielleicht kurz sagen, was der Code bewirkt?
|
Re: Dynamische Mehrdimensionalige Arrays
Es wird ein Array in dieser Form erstellt:
Array: Schlüssel|Wert abc|def 123|jkl anotherOne|lol Anschließend wird das Array Stück für Stück durchlaufen, wobei jeweils der Schlüssel und der Wert in einer Variable zur Verfügung stehen. |
Re: Dynamische Mehrdimensionalige Arrays
moin,
würde ich wie folgt machen:
Delphi-Quellcode:
alternativ ginge auch:
type
Eintrag = record key, val: string; end; var arr: array of Eintrag; i: integer; begin setlength(arr, 4); arr[0].key := 'aa'; arr[0].val := '11'; // ... For i:=0 to high(arr) do showmessage( arr[0].key +' --> '+ arr[0].val ); end;
Delphi-Quellcode:
Die direkte Zuweisung funktioniert afaik nur bei statischen arrays:
var
arr: array of array[1..2] of string; i: integer; begin begin setlength(arr, 4); arr[0,1] := 'aa'; arr[0,2] := '11'; // ... For i:=0 to high(arr) do showmessage( arr[0,1]+' --> '+ arr[0,2] ); end;
Delphi-Quellcode:
var
arr: array[0..3,1..2] of string = (('aa','11'),('bb','22'),('cc','33'),('dd','44')); i: integer; begin For i:=0 to high(arr) do showmessage( arr[0,1]+' --> '+ arr[0,2] ); end; |
Re: Dynamische Mehrdimensionalige Arrays
Hallöchen,
wenns nicht unbedingt ein Array sein muss, würde sich auch eine Stringliste anbieten. Du kannst zwei Strings miteinander verknüpfen und bist deutlich flexibler. Müsstest mal in der Hilfe schaun. Hier ein Beispiel:
Delphi-Quellcode:
Gruß
var
strList: TStringlist; i: Integer; begin strList := TStringlist.Create; strList.Add('abc=def'); strList.Add('123=456'); for i := 0 to strList.Count - 1do begin showmessage(strList.Names[i]); showmessage(strList.ValueFromIndex[i]); end; strList.Free; end; Iris |
Re: Dynamische Mehrdimensionalige Arrays
das ist ein typischer hash. gibt in delphi von hause aus nicht (anders als bei php, c#...). aber du kannst mal auf diversen komponenten-sammlungs-seiten (torry, delphi super page...) schauen, das hat bestimmt schon mal wer gemacht.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:44 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-2025 by Thomas Breitkreuz