![]() |
Delphi-Version: 2010
(String-) Format - variable Anzahl an Paramern (dynamisch!)
Vielleicht ist das jetzt Deppen-einfach und ich steh einfach nur auf'm Schlauch.
Normales Format-Strings-Usage:
Delphi-Quellcode:
Memo1.Lines.Add(Format('Test %s %s', ['eins', 'zwei']));
Nur was wenn die Anzahl der Parameter erst zur Laufzeit feststeht? Wie erzeuge ich das array of Const das die Format-funktion so gerne hätte? Das geht z.B. nicht:
Delphi-Quellcode:
Der Vorlagen-String würd natürlich sinnvoller weise auch erst zur Laufzeit generiert werden, aber das schaff ich grad noch selber :-)
var x : array of string;
begin setlength(x,2); x[0]:='Test'; x[1]:='tritz'; Memo1.Lines.Add(Format('Test %s %s', x)); Thx! Ralf |
AW: (String-) Format - variable Anzahl an Paramern (dynamisch!)
Ein Array of Const ist doch ein Array of Variant, oder?! :gruebel:
|
AW: (String-) Format - variable Anzahl an Paramern (dynamisch!)
Zitat:
Aber das Array als Variantenarray zu deklarieren hilft in dem Fall leider auch nicht. |
AW: (String-) Format - variable Anzahl an Paramern (dynamisch!)
|
AW: (String-) Format - variable Anzahl an Paramern (dynamisch!)
Zitat:
Wen's interessiert:
Delphi-Quellcode:
type
TConstArray = array of TVarRec; procedure FinalizeVarRec(var Item: TVarRec); begin case Item.VType of vtUnicodeString: UnicodeString(Item.VUnicodeString):=''; else raise Exception.Create('type not handled properly'); end; Item.VInteger := 0; end; procedure FinalizeVarRecArray(var Arr: TConstArray); var I: Integer; begin for I := Low(Arr) to High(Arr) do FinalizeVarRec(Arr[I]); Arr := nil; end; procedure TForm1.butLoadClick(Sender: TObject); var x : TConstArray; i: Integer; begin setlength(x,2); for i:=0 to High(x) do begin x[i].VType:=vtUnicodeString; x[i].VUnicodeString:=nil; UnicodeString(x[i].VUnicodeString):=IntToStr(i); end; Memo1.Lines.Add(Format('Test %s %s', x)); FinalizeVarRecArray(x); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:43 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