![]() |
Memo-Text in String speichern/wiederherstellen
Hallo Wissende,
ich weiss, diese Frage ist was absolute Nichtswisser, aber ich bekomme es einfach nicht hin. Ich lasse einen User freien Text in eine TMemo eingeben. Er kann dort ein Produkt beschreiben. Diesen Text, will ich samt Zeilenumbrüchen in einen String schreiben. Dieser String ist selbst Teil eines mehrdimensionalen Strings. Wie kann ich nun sicherstellen, dass ich die Daten des Memos in den String schreiben kann, und dann auch wieder auslesen kann? Bisher mache ich es so: MyData[9,akt_produkt] := memo.text; Das Problem ist, dass dann die Steuerzeichen irgendwie beim Speichern mit eingespeichert werden. Ich brauche aber den String zwar mit der Info über die Zeilenumbrüche, aber diese sollten in nicht in real gespeichert werden. Geht das überhaupt Ich schreibe also MyData[0..9,akt_produkt] in eine ini. Das sieht dann in der ini ungefähr so aus, wenn alles ok ist. prod_1 = name$$nummer$$preis$$sonstiges$$$$$$$$$$$$$$$$zeil e 1$$$$ und so, wenn die zeilen umbrüche mit drin sind: prod_1 = name$$nummer$$preis$$sonstiges$$$$$$$$$$$$$$$$zeil e 1 zeile 2 zeile 3 $$$$ Hat jemand etwas davon verstanden, was ich suche oder was mein Problem ist und weiss Abhilfe??? |
Re: Memo-Text in String speichern/wiederherstellen
Hi Thomas,
Zitat:
Was dein Problem angeht, so kannst Du es (denke ich) recht einfach umgehen. Verwende einfach die Funktion StringReplace und ersetz den Zeilenumbruch (chr(13) + chr(10) oder nur eines von beiden, musst Du mal schauen) einfach durch ein Zeichen, dass garantier nicht verwendet wird (z.B. chr(26) = Substitute). Einen solchen String kannst Du leicht in einer Ini-Datei speichern, da alle Zeilenumbrüche hier durch ein (nicht interpretiertes) Steuerzeichen ersetzt wurden. Beim Laden ersetzt Du dann entsprechend diesen Teilstring wieder durch Zeilenumbrüche und fertig. Gruß Der Unwissende |
Re: Memo-Text in String speichern/wiederherstellen
Wenn Du den Inhalt eines TMemo in eine Textdatei speichern willst, kannst Du auch einfach TMemo.SaveToFile() bzw. TMemo.LoadFromFile() verwenden.
Oder ist es nicht das was Du suchst? |
Re: Memo-Text in String speichern/wiederherstellen
Ne das suche ich nicht. Das wusste ich schon. Ich will den Inhalt in einem String speichern, der zwar die Steuerzeichen enthält, diese aber in der ini slebst nicht anwendet...
|
Re: Memo-Text in String speichern/wiederherstellen
Zitat:
Wenn sie nicht in der Ini sind, kannst Du sie auch nicht wieder aus der Ini laden. Es gibt mehrere Möglichkeiten: - Ersetze #13#10 durch ein Zeichen, welches sonst nicht im Text vorkommt und speicher den String dann in die Ini. - Speicher den Text in eine Datei und schreibe den Pfad und Dateinamen in die Ini um die Datei bei Bedarf wieder zu laden. - Oder Du kodierst Deinen String so das er nur Druckbare Zeichen enthält, UUEncode oder Mime würde sich hier anbieten. Und wenn Du größere Daten in der Ini speichern willst, könntest Du einmal darüber nachdenken MemIni zu verwenden, denn da gibt es keine 64KByte Begrenzung. Grüße Klaus |
Re: Memo-Text in String speichern/wiederherstellen
Wäre da nicht KommaText was für Dich.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:23 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