AGB  ·  Datenschutz  ·  Impressum  







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

Arrays, Variablenwerte - Fragen eines PHPlers

Ein Thema von Guttural · begonnen am 10. Mär 2007 · letzter Beitrag vom 10. Mär 2007
Antwort Antwort
Guttural

Registriert seit: 6. Jun 2006
11 Beiträge
 
#1

Arrays, Variablenwerte - Fragen eines PHPlers

  Alt 10. Mär 2007, 12:08
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
arr: Array of Array of String; aber ich finde auch keine simple und schnelle in_array() Funktion in Delphi...



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...
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#2

Re: Arrays, Variablenwerte - Fragen eines PHPlers

  Alt 10. Mär 2007, 12:19
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] :=...;
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Guttural

Registriert seit: 6. Jun 2006
11 Beiträge
 
#3

Re: Arrays, Variablenwerte - Fragen eines PHPlers

  Alt 10. Mär 2007, 12:27
Danke!

Ich glaub das ist was für mich!:
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 )
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Arrays, Variablenwerte - Fragen eines PHPlers

  Alt 10. Mär 2007, 12:40
Moin

Zitat von Guttural:
Das durchgehen einer Schlaufe wäre wirklich zu heftig (bei den Arrays )
Was anderes wird in_array() aber auch nicht machen.
  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 23:34 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