![]() |
Verwendung von TStrings
Wie kann man TStrings manuell schreiben, ohne den Befehl Add zu verwenden?
Geht das überhaupt ? z.B.:
Delphi-Quellcode:
Kann jemand den obigen Quellcode korrigieren, so dass er funzt?
var Test: TStrings;
Test:='Zeile 1'+#0+'Zeile 2'+#0+'Zeile 3'; (Ich hätte gerne einen Befehl, ohne Add). |
Re: Verwendung von TStrings
Delphi-Quellcode:
Manueller ist aber das falsche Wort, Add wird damit intern sowieso wieder aufgerufen.
Test.Text :='Zeile 1'#13#10'Zeile 2'#13#10'Zeile 3';
[add] #0 würde den String beenden (der Rest wird von SetText ignoriert).[/add] |
Re: Verwendung von TStrings
Hmm...
vom Prinzip war's das, was ich wollte. Aber ich habe eine Prozedur, und will dort TStrings als Variable übergeben.
Delphi-Quellcode:
Geht der Aufruf dann nur so:
procedure Irgendwas(Test: TStrings);
Delphi-Quellcode:
oder kann ich die Prozedur auch ohne eine zusätzliche Variable aufrufen (so wäre es mir lieber):
var Test: TStrings;
Test.Text:='Zeile 1'+#0+'Zeile 2'+#0+'Zeile 3'; Irgendwas(Test);
Delphi-Quellcode:
Wie geht das?
Irgendwas('Zeile 1'+#0+'Zeile 2'+#0+'Zeile 3');
(Meinetwegen auch mit #13#10 anstatt #0, das ist mir eigentlich egal.) |
Re: Verwendung von TStrings
oder:
Gibt's vielleicht eine Umwandlung von String nach TStrings ? z.B.:
Delphi-Quellcode:
Irgendwas(StringToTStrings('Zeile 1'+#13#10+'Zeile 2'+#13#10+'Zeile 3'));
|
Re: Verwendung von TStrings
Delphi-Quellcode:
Allerdings muss die StringListe auch mit Free wieder freigegen werden, was bei deiner Variante schwierig wird.
function StringToStrings(Text: String): TStrings;
begin result:=TStringList.Create; // TStringList weil TStrings ein abstrakter Typ ist und nicht instanziiert werden kann result.Text:=Text; end; |
Re: Verwendung von TStrings
Ich wollte keine Function selber schreiben, sondern wissen ob's eine schon in Delphi gibt,
oder ob man TStrings so direkt irgendwie übergeben kann. Aber anscheinend gibt's da nix in Delphi... Aber Danke erstmal an euch! |
Re: Verwendung von TStrings
Zitat:
Delphi-Quellcode:
Aufruf dann so:
procedure Irgendwas(Wert: String);
begin var Test: TStringList; Test := TStringList.Create; Test.Text := Wert; ... Test.Free; end;
Delphi-Quellcode:
Irgendwas('Zeile 1'+#13#10+'Zeile 2'+#13#10+'Zeile 3');
|
Re: Verwendung von TStrings
Danke, ich hab das Problem schon anders gelöst.
|
Re: Verwendung von TStrings
und wie?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:18 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