![]() |
StringListe
Hallo,
irgendwie hab ich gerad ein Brett vorm Kopf und zwar wollt ich eine konstante Liste mit z.Bsp. 6 Einträgen erstellen. Wobei ich diese Einträge dann in einer
Delphi-Quellcode:
abarbeiten wollte und dann ShowMessage (liste[i]).
for i:=0 to liste.eof-1 do
Geht das irgendwie eine Liste konstant zu definieren ohne TStringlist.create und ..add? |
Re: StringListe
Meinst du das?
Delphi-Quellcode:
const liste:array[1..10] of string=('A','B','C','D','E','F','G','H','I','K');
|
Re: StringListe
genau danke
|
Re: StringListe
wie ist das, wenn ich 2 listen habe und mich in einer funktion für eine entscheide, also:
Delphi-Quellcode:
const listA:array[1..10] of string=('A','B','C','D','E','F','G','H','I','K');
const listB:array[1..7] of string=('H','G','D','R','E','F','G'); procedure test; var list : array of string; begin if ... then list:= listA else list:= listB ShowMessage(list[4]); end; geht das irgendwie? |
Re: StringListe
Delphi-Quellcode:
So vllt? Ungetestet, aber erscheint mir logisch, nur muss du aufpassen, das der index i bei dem jeweiligen Array überhaupt existiert!
const listA:array[1..10] of string=('A','B','C','D','E','F','G','H','I','K');
const listB:array[1..7] of string=('H','G','D','R','E','F','G'); procedure test; var list : array of string; begin if ... then Showmessage(listA[i]) else showmessage(listB[i]) end; |
Re: StringListe
Delphi-Quellcode:
Vielleicht etwas zu umständlich, vielleicht gibt es auch noch
const listA:array[1..4] of string=('A','B','C','D');
const listB:array[1..3] of string=('1','2','3'); procedure test; var list : array of string; i: Byte; begin if ... then begin setLength(list,length(listA)); for i:=0 to length(ListA)-1 do list[i]:=listA[i+1]; end else begin setLength(list,length(listB)); for i:=0 to length(ListB)-1 do list[i]:=listB[i+1]; end; ShowMessage(list[2]); setLength(List,0); end; eine Möglichkeit den Speicher direkt zu kopieren (move)? Grüße Klaus |
Re: StringListe
Delphi-Quellcode:
const listA:array[1..3] of string=('A','B','C');
const listB:array[1..2] of string=('Z','X'); procedure TForm1.Button1Click(Sender: TObject); var list:array of string; i:integer; begin list:=@listB; for i:=0 to 1 do memo1.lines.add(list[i]); //Achtung Index jetzt ab 0 egal womit die ursprüngliche Liste anfing end; |
Re: StringListe
Super. Danke funktioniert prima.
Ist es auch möglich folgendes Problem zu lösen: Eine Liste mit Strings und Variablen:
Delphi-Quellcode:
einfach irgendwie zu sagen
list: array[1..3] of string=('Abc','Beta','Ce');
var viAbc,viBeta,viCe : integer; if edit.text=list[1] then inc(viAbc); if edit.text=list[2] then inc(viBeta); if edit.text=list[3] then inc(viCe)
Delphi-Quellcode:
Danke Tim
inc (vi[edit.text] )
|
Re: StringListe
Nee, das dürfte nicht gehen. für die Interpretation von Code ist Delphi nicht ausgelegt. Da müsstest du einen Weg über Objekte wählen.
|
Re: StringListe
Danke. Gibt es ein kurzes Exempel dazu mit Objekten?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:39 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