![]() |
AW: Array mit mehreren Strings auf einmal füllen
Zitat:
Verwenden kann man es. :?: Grüße Klaus |
AW: Array mit mehreren Strings auf einmal füllen
Zitat:
![]() Es funktioniert so auch und ist auf jeden Fall besser als die alte Methode :thumb: Allerdings ist es immer noch nicht optimal... denn es wird mir der Speicher etwas zugemüllt, obwohl ich gewisse Arrays nicht nutze. _____ Dazu eine etwas weiterführende Erklärung: Programm wird mit Parametern gestartet. Je nach Parameter durchläuft er eine andere Routine. Jetzt müsste ich für jeden Parameter der mitgegeben wird ein eigenes Array basteln mit den vorgegebenen Konstanten. Hier ein Beispiel:
Delphi-Quellcode:
Gibt es nicht die Möglichkeit ein Array festzulegen, welches ich mit einer Zeile Code (Nämlich je nachdem welcher Parameter dem Programm mitgegeben wurde) füllen kann ?
[...]
const ArrayOfFiles1: array[1..12] of String = (ab, ac, ad, ab, gs, hw, qa, jq, wh, hw, qa, hw); ArrayOfFiles2: array[1..12] of String = (ab, ac, ad, ab, gs, hw, qa, jq, wh, hw, qa, hw); ArrayOfFiles3: array[1..12] of String = (ab, ac, ad, ab, gs, hw, qa, jq, wh, hw, qa, hw); [...] procedure TForm1.XX; [...] begin [...] if ParamStr(1) = 'aa' then begin [...] for i := 0 to Length(ArrayOf2CopyFiles1) do begin AndereProzedurVonMir(ArrayOf2CopyFiles[i]); end; end if ParamStr(1) = 'bb' then begin [...] for i := 0 to Length(ArrayOf2CopyFiles2) do begin AndereProzedurVonMir(ArrayOf2CopyFiles2[i]); end; end; end; Denn mit der jetzigen Methode würde er die Constanten immer in den Speicher schreiben, auch wenn er gar nicht drauf zugreift bzw. diese gar nicht braucht (Und ich hätte > 20 Arrays, obwohl ich zur Laufzeit immer nur ein Einzige (!) benötige.) EDIT1:// Ich war nicht mal mit dem Schreiben fertig, schon mehr als 4 Antworten zwischenzeitlich, der Hammer :-D Danke für die Function Patty. EDIT2:// StringDynArray ist genau das, was ich gesucht habe, fabelhaft ! :D Klappt genau wie in deinem Beispiel :P Wäre super wenn du mir sagst wie man auf so etwas kommen kann, wenn man es nicht kennt. (Ich suche meist 30min - 2 Std bevor ich eine Frage stelle, allerdings scheint meine Google suche nicht optimal zu sein... könnte man auch "so", auf die Antwort stoßen durch eine optimierte Suche wo anders ? EDIT3:// Komme gar nicht zum abschicken, bei mir erscheint immer nur "Zwischenzeitlich sind neue Beiträge geschrieben worden." :thumb: Edit4:// Ich komme wirklich nicht zum abschicken des Posts... "Zwischenzeitlich sind neue Beiträge geschrieben worden." Ich kann nicht mehr :lol: Edit5:// Jetzt hat das abschicken geklappt :) |
AW: Array mit mehreren Strings auf einmal füllen
Mike,
nach dem Array-Konstruktor habe ich gar nicht gesucht, ich bin eher zufällig in der ![]() Wertvolle Informationen erhält man auch beim Lesen von Blogs. Eine gute Startadresse ist ![]() Gruß Hawkeye |
AW: Array mit mehreren Strings auf einmal füllen
Guten Morgen,
dies hier, könnte vielleicht noch mit Hilfe einer Ini Datei vereinfacht werden:
Delphi-Quellcode:
c
onst ArrayOfFiles1: array[1..12] of String = (ab, ac, ad, ab, gs, hw, qa, jq, wh, hw, qa, hw); ArrayOfFiles2: array[1..12] of String = (ab, ac, ad, ab, gs, hw, qa, jq, wh, hw, qa, hw); ArrayOfFiles3: array[1..12] of String = (ab, ac, ad, ab, gs, hw, qa, jq, wh, hw, qa, hw); [...] procedure TForm1.XX; [...] begin [...] if ParamStr(1) = 'aa' then begin [...] for i := 0 to Length(ArrayOf2CopyFiles1) do begin AndereProzedurVonMir(ArrayOf2CopyFiles[i]); end; end if ParamStr(1) = 'bb' then begin [...] for i := 0 to Length(ArrayOf2CopyFiles2) do begin AndereProzedurVonMir(ArrayOf2CopyFiles2[i]); end; end; end;
Delphi-Quellcode:
Wobei der Aufbau der Ini-Datei dann so aussehen müsste:var iniFile: TIniFile; fileList: TStringList; ... begin // ... try iniFile := TiniFile.create(PathToIniFile); fileList := TStringList.create; fileList.delimetedText := iniFile.ReadString(Paramstr(1),'FileList',''); for i:=0 to fileList.count -1 do AndereProzedurVonMir(fileList[i]); finally iniFile.free; fileList.free; end; // ... end;
Code:
.. nur mal so ein Gedanke
[aa]
FileList=aa bb cc dd ee ff gg [bb] FileList=ab bc cd de ef fg gh [cc] ... Grüße Klaus |
AW: Array mit mehreren Strings auf einmal füllen
Zitat:
bist du ein Hellseher ? Genau das hatte ich heute vor einzubauen und du lieferst gleich noch den Quellcode mit. Fabelhaft ! :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:16 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