![]() |
Dateiinhalt -> TStrings?
Hallo,
ich möchte gerne einer Assign- Methode gerne einen Dateiinhalt übergeben. Was funktioniert ist:
Delphi-Quellcode:
Jedoch möchte ich kein Memo- Feld übergeben, sondern wie gesagt den Inhalt einer Datei.
XYZ.ASSIGN(Memo1.Lines);
Also habe ich probiert:
Delphi-Quellcode:
Dies funktioniert jedoch nicht! :-(
var
str: TStrings; begin str := TStrings.Create; str.LoadFromFile('abc.tpl'); XYZ.Assign(str); end; Kann mir einer sagen wie es richtig sein muss? Die Assign Methode erwartet: "Source: TPersistent" Was aber eigentlich mein Ziel ist: Ich möchte in der Datei gerne bestimmte Variablen (%xyz%) durch bestimmte Werte ersetzen. Wie schreibe ich mir eine Funktion welche den Inhalt einer Datei einliest, bestimmte Sachen, die irgendwo in der Datei vorkommen ersetzt, und mir eine konforme Form (TStrings?) zurückliefert? Danke für eure Ideen und Hilfen! |
Re: Dateiinhalt -> TStrings?
Du kannst auch TStringList benutzen. LoadFromFile ist dabei schon integriert.
|
Re: Dateiinhalt -> TStrings?
Wahrscheinlich ist XYZ ein Memo oder eine Listbox, dann musst du so vorgehen:
Delphi-Quellcode:
Bzw. bei Listbox
var
str: TStrings; begin str := TStrings.Create; str.LoadFromFile('abc.tpl'); XYZ.Lines.Assign(str); end;
Delphi-Quellcode:
XYZ.Items.Assign(str);
end; |
Re: Dateiinhalt -> TStrings?
Zitat:
Sie stellt eigentlich nur sowas wie ein Interface dar. |
Re: Dateiinhalt -> TStrings?
Noch mal neu:
Es handelt sich um das Objekt TidMessage von den Indy- Komponenten. Dieses Objekt hat folgende Methode: MsgSend.Body.Assign(Source: TPersistent) So. Folgendes funktioniert: MsgSend.Body.Assign(Memo1.Lines); Aber: Da ich nicht mit einem Memo arbeiten möchte, sondern eine TXT- Datei dareinladen möchte muss ich was tun? Ich bin soweit, bzw. glaube soweit zu sein, dass ich eine TStringList oder ein TStrings brauche. Aber mehr weiß ich nicht. |
Re: Dateiinhalt -> TStrings?
Dann nimm am besten:
Delphi-Quellcode:
grüße, daniel
MsgSend.Body.LoadFromFile(textdatei);
|
Re: Dateiinhalt -> TStrings?
Zitat:
das funktioniert prinzipiell. Jetzt nur noch ein Problem: Ich will die TXT- Datei ja nicht im unveränderten Zustand senden, sondern gewisse Wörter ersetzen. Wie gehe ich da vor? |
Re: Dateiinhalt -> TStrings?
Hallo,
Dann lädst du die Datei am Besten in eine Stringlist und "assignst" dann die Stringliste dem Body.
Delphi-Quellcode:
var str: TStringlist;
begin str := TStringlist.Create; str.LoadFromFile(textfile); //hier kannst du den Text manipulieren MsgSend.Body.Assign(str); end; grüße, daniel |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 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