![]() |
Delphi und flexible Arrays
Erst einmal Hallo,
ich weiss der Titel ist nicht der Beste, aber mir faellt auch das formulieren der Frage schwer. Am besten ist es wohl wenn ich beschreibe was ich vor habe. Ich frage einen Spieleserver via UDP ab, dieser schickt mir einen String zurueck der wie folgt aussieht
Code:
Das Problem ist jetzt das ich den String nicht einfach auseinandernehmen kann (ich verwende eine split() Funktion hier aus dem Forum) und ein
protocol\46\players\0\proxytarget\0\lan\0\max\15\...
array generieren kann, da sich die Position der Elemente aendern kann. Aber wie man sehen kann hat der String eine Schluessel/Wert Struktur protocol : 46 players : 0 usw. Unter PHP wuerde ich den Schluessel jetzt als Arrayindex definieren und in der weiteren Verwendung auf diesen zugreifen. echo $server['protocol']; // 46 Kann ich sowas auch in Delphi/Pascal verwirklichen? Wenn ja, wie ? :D RTFM Pointer und aehnliches sehr willkommen. :lol: Ich hoffe ich konnte mich einigermassen Verstaendlich ausdruecken. Achja hab es ja fast vergessen: Delphi 7 verwende ich. MfG Mr. Magix |
Re: Delphi und flexible Arrays
Probiers mal mit [Gemütlichkeit, mit Ruhe und Gelassenheit...]
Delphi-Quellcode:
procedure TextArrayToAssStringList(const Text: string; Delimiter: Char; List: TStrings);
var F, P: PChar; Name, Value: string; begin P := PChar(Text); while P[0] <> #0 do begin F := P; while (P[0] <> #0) and (P[0] <> Delimiter) do Inc(P); SetString(Name, F, P - F); if P[0] <> #0 then begin Inc(P); F := P; while (P[0] <> #0) and (P[0] <> Delimiter) do Inc(P); SetString(Value, F, P - F); end else Value := ''; List.Add(Name + '=' + Value); end; end; ... var List: TStrings; begin List := TStringList.Create; try TextArrayToAssStringList('myname\myvalue\yourname\yourvalue', List, '\'); if List.Values['myname'] = 'myvalue' then ShowMessage('Gefunden'); finally List.Free; end; end; |
Re: Delphi und flexible Arrays
Super, es macht es genauso wie ich mir das vorgestellt habe. Vielen Dank.
Achja nur so fuer die Akten im unteren Teil ist ein Parameter-dreher! Erst der Delimiter und dann die Liste. So und in 3 Wochen verstehe ich auch warum es geht :D *Befehlsreferenz zueck...* MfG Magix |
Re: Delphi und flexible Arrays
Zitat:
Der wahre Grund lag daran, dass die der Delimiter Parameter ganz zu Anfang der letzte war und ich ihn dann aus logischen Gründen nach vorne verschoben habe. Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 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