![]() |
Re: Werte an Array übergeben?
Naja, ich dachte eher, ich könnte den Quelltext damit verkleinern und vereinfachen, (ich nehme mal an, dass ihr die Frage richtig verstanden habt, gab ja 3 Beispiele *g*) und nich noch etwa anfangen zu rechnen oder so.
Es geht einfach nur darum einen Array, der 9 Strings beinhaltet mit "hardgecodeten" Strings zu füllen. Naja, dann mache ichs halt weiter mit 9 Zeilen, aber danke für die Antworten :stupid: Lukaro |
Re: Werte an Array übergeben?
Bei meiner Variante musst du nicht rechnen, du musst nur ein einziges Mal diese paar Zeilen rund um "implementation" hinzufügen. Danach hast du eine komfortable Funktion (komfortabler geht es eigentlich nicht mehr), die du im Code verwenden kannst, ohne überhaupt zu wissen, was Pointer sind.
Ich finde sie jedenfalls elegant :wink: . |
Re: Werte an Array übergeben?
Zitat:
Axxxooooooooo :wall: Ich machs mit einer. :mrgreen: na dann so.
Delphi-Quellcode:
Gruß Net7.const meinehardcorestrings: array[1..50] of string = ('bla','blabla','blubb',usw |
Re: Werte an Array übergeben?
Ich hab noch ne variante, die der geforderten wohl am nähesten kommt:
Delphi-Quellcode:
das geht natürlich nur wegen den dynamischen-array-konstruktoren, die man bei const-array-parametern zur verfügung hat.
type
TPointerArr = array [0..3] of pointer; procedure Setpointers(var pointers:TPointerArr; const values:array of pointer); var i:integer; begin for i := 0 to Pred(Min(Length(pointers), Length(Values))) do pointers[i] := values[i]; end; ... procedure TForm2.Button1Click(Sender: TObject); var ps : TPointerArr; begin Setpointers(ps, [pointer($bad74f),pointer($bad74f),pointer($bad74f)]); end; |
Re: Werte an Array übergeben?
@Khabarakh & @Net7: Ich dachte solche Varianten gehen nur wenn man mit Konstanten werten arbeitet so das sie letztendlich zum Zeitpunkt des compilierens in feste Adressen gewandelt werden können. Bei Pseudemys Nelsoni geht es ja aber darum die Werte einer Variablen in so ein Array zu packen und da wird nix konstant definiert sein (sonst könnte er ja auf die Werte verzichten)
|
Re: Werte an Array übergeben?
Zitat:
Delphi-Quellcode:
Funktioniert ebenfalls.
procedure TForm1.FormCreate(Sender: TObject);
var sArray: StringArray; i: Integer; s: string; begin Randomize; s := StringOfChar(Chr(Ord('A') + Random(Ord('Z') - Ord('A') + 1)), Random(20)); sArray := FillArray(['*blubb*', 'Hello', 'World', '*blubb*', s]); for i := 0 to High(sArray) do ShowMessage(sArray[i]); end; [edit]Bei der Konstante von Net7 hast du natürlich Recht. [/edit] |
Re: Werte an Array übergeben?
Zitat:
Hmm dann war ja mein erstest Beispiel doch richtg. (also richtig gelesen :wink: ) Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:12 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