Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Arrays, Variablenwerte - Fragen eines PHPlers (https://www.delphipraxis.net/88111-arrays-variablenwerte-fragen-eines-phplers.html)

Guttural 10. Mär 2007 11:08


Arrays, Variablenwerte - Fragen eines PHPlers
 
Hallo!

Als Delphi Noob habe ich ein paar grundsätzliche Fragen zu Pascal/Delphi.

1. In PHP ist es möglich Stings als Array-Schlüssel zu benutzen:
Code:
$arr = array("schluessel_1" => "wert1", "schluessel_2" => "wert2");
echo $arr[schluessel_2] . ' - ' . $arr[schluessel_1];
Wie setze ich so etwas in Delphi um?
Ich denke da an
Delphi-Quellcode:
arr: Array of Array of String;
aber ich finde auch keine simple und schnelle in_array() Funktion in Delphi... :oops:



2. Es ist zwar keine feine und saubere Art, aber für schnelle Projekte sehr nützlich.
Code:
// erste Variable hat den Variablennamen der zweiten Variablen als Stringwert
$var1 = 'var_name';

// der zweiten Variablen wird der Wert zugewiesen
$var_name = 'Der eigentliche Wert...';

// es wird über den Variablenwert der Variable 1 auf den Variablennamen der Variable 2 zugegriffen
// und somit auf deren Wert - als Ergebnis wird hier 'Der eigentliche Wert...' ausgegeben
echo $$var1;
Kann so etwas mit Delphi realisiert werden (gilt es auch für Methoden und Eigenschaften)?


Danke im Voraus für die Beantwortung.
Meine Kenntnisse sind hier noch gering... :mrgreen:

yankee 10. Mär 2007 11:19

Re: Arrays, Variablenwerte - Fragen eines PHPlers
 
php stellt dir solche Sachen in grösserem Umfang zur Verfügung.

Delphi nicht. Bedenke aber auch, dass solche Sachen wie
$var['bla']
Für php nicht wirklich schwierig ist, da sowieso alle Variabeln in Hashlisten gespeichert werden.
$var['bla'] ist also nicht bedeutend langsamer als $bla ist, wäre das in Delphi anders. Hier hast du einen signifikanten Geschwidnigkeitsgewinn wenn du den Variabelnname direkt nimmst.

Wenn du sowas trotzdem unbedinght haben willst, dann kannst du dir sowas selbst schreiben:
Delphi-Quellcode:
TListItem =record
  name: string;
  wert: string;
end;
dann machst du ein array of TListItem und kannst dann mit einer for-Schleife diesen Array nach dem richtigen Key durchsuchen...
Das ist natürlich fürchterlich langsam. Etwas schneller wird's, wenn du die liste sortierst und binär suchst, oder so, wie php es auch machst Hash-Tabellen nimmst, die dir Delphi aber auch nicht mitliefert. Dafür findest du sowas ind er Code-Lib unter Hash-TabellenHash-Tabellen: http://www.delphipraxis.net/internal...ct.php?t=53653

Wenn du kannst nimm aber lieber Konstanten:

const
BLA =1;

myarray[BLA] :=...;

Guttural 10. Mär 2007 11:27

Re: Arrays, Variablenwerte - Fragen eines PHPlers
 
Danke!

Ich glaub das ist was für mich!: :mrgreen:
Zitat:

Zitat von yankee
Dafür findest du sowas ind er Code-Lib unter Hash-TabellenHash-Tabellen: http://www.delphipraxis.net/internal...ct.php?t=53653

Das durchgehen einer Schlaufe wäre wirklich zu heftig (bei den Arrays ;) )

Matze 10. Mär 2007 11:40

Re: Arrays, Variablenwerte - Fragen eines PHPlers
 
Moin

Zitat:

Zitat von Guttural
Das durchgehen einer Schlaufe wäre wirklich zu heftig (bei den Arrays ;) )

Was anderes wird in_array() aber auch nicht machen. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz