![]() |
String und array
Hallo,,,
habe folgende COnstante
Delphi-Quellcode:
so weit so gut nun ist es so, dass ich per String den Namen des Arrays erhalte
ar_1 : array[0..2] of string = ('ar_1', 'info_1', 'info_2');
ar_2 : array[0..2] of string = ('ar_2', 'info_a1', 'info_a2'); und mit diesem String würde ich dann gerne auf das Array zugreifen also erhalte den String ar_1 und möchte dann damit weiter so vorgehen ar_1[2] um halt 'info_2' zu erhalten... nur funktioniert das nicht :-( Gibt es einen Weg?! |
Re: String und array
Nein, so einfach geht das nicht. Du müsstest an passender Stelle im Programm eine Map anlegen, wo den Variablennamen die entsprechende Variablen zugeordnet werden. Das ist aber recht umständlich. Vielleicht können wir dir einen einfacheren Weg vorschlagen, wenn du uns dein "Gesamtproblem" mal näher erläuterst (tldr: Was willsch denn machä?)
|
Re: String und array
Also was ich machen will ich versuch es zu erklären
Ich habe in einer Liste infos zu Video Titel... und zwar den namen des Videos
Delphi-Quellcode:
In dem Array ist nun folgendes gespeichert.
ar_1 : array[0..2] of string = ('ar_1', 'info_1', 'info_2');
ar_2 : array[0..2] of string = ('ar_2', 'info_a1', 'info_a2'); [0] der Array name [1] Fiminfo 1 [2] Filminfo 2 der Array name steht dadrinn da ich den mit in die ListView übergebe damit ich dann anhand dieses Substring herausfinden wollte welches Array nun zu welchem Film gehört! Das kann/soll fest/constant sein da sich dieses nicht so ohne weiteres ändert ok ok werden wohl 3 - 8 Array mehr aber na ja :-) |
Re: String und array
Ui, das klingt aber kompliziert! Warum baust du dir nicht einfach eine TVideo-Klasse, die ein einzelnes Video repräsentiert., zum Bleistift so
Delphi-Quellcode:
... und packst dann alle deine TVideos in eine TObjectList. Wenn du mal eine Liste der Videos hast, z.B.
type
TVideo = class(TPersistent) private FAbspielDauerMs: Int64; FTitel: String; public published property Titel: String read FTitel write FTitel; property AbspielDauerMs: Int64 read FAbspielDauerMs write FAbspielDauerMs; {etc.} end;
Delphi-Quellcode:
dann dürfte es ja kein Problem mehr sein, daraus neue TListItems zu bauen. Das hätte den Vorteil, dass du die Videos auch in einer Text oder Ini-Datei speichern könntest, falls sich doch mal was ändert ;)
type
TVideoMgrForm = class(TForm) {...} private MeineVideos: TObjectList; public { Public-Deklarationen } end; |
Re: String und array
Delphi-Quellcode:
Grüße // Martin
function GetValue (ArrayName : string, ArrayIndex, Integer) : String;
begin Result := ''; if Array_Name = 'ar_1' then begin Result := ar_1[ArrayIndex]; end else if Array_Name = 'ar_2' then begin Result := ar_2[ArrayIndex]; end; end; PS: Horror ist für jeden Projektplaner, wenn für eine Winzlingsaufgabe gleich der Grundlagenordner aus dem Regal geholt wird. Die Lösung von Sirius ist allerdings eleganter! |
Re: String und array
Zitat:
|
Re: String und array
Oder vielleicht so:
Delphi-Quellcode:
const
ar : array[1..2,0..2] of string = (('ar_1', 'info_1', 'info_2'), ('ar_2', 'info_a1', 'info_a2')); function getvalue(aName:string;aIndex:integer):string; var i:integer; begin result:=''; for i:=1 to 2 do if ar[i,0]=aName then result:=ar[i,aIndex]; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 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 by Thomas Breitkreuz