AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Memo-Text in String speichern/wiederherstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Memo-Text in String speichern/wiederherstellen

Ein Thema von torud · begonnen am 22. Jan 2007 · letzter Beitrag vom 22. Jan 2007
Antwort Antwort
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#1

Memo-Text in String speichern/wiederherstellen

  Alt 22. Jan 2007, 15:20
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???
Danke
Tom
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Memo-Text in String speichern/wiederherstellen

  Alt 22. Jan 2007, 15:37
Hi Thomas,

Zitat von torud:
Hallo Wissende
ob das nach dem AGG noch erlaubt ist? Hm.

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
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Memo-Text in String speichern/wiederherstellen

  Alt 22. Jan 2007, 15:40
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?
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#4

Re: Memo-Text in String speichern/wiederherstellen

  Alt 22. Jan 2007, 15:49
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...
Danke
Tom
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Memo-Text in String speichern/wiederherstellen

  Alt 22. Jan 2007, 15:56
Zitat von torud:
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...
Wie soll das denn gehen?

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
Klaus
  Mit Zitat antworten Zitat
Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Memo-Text in String speichern/wiederherstellen

  Alt 22. Jan 2007, 16:21
Wäre da nicht KommaText was für Dich.
Blackheart
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz