Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Frage zu Tstrings/Tstringlist (https://www.delphipraxis.net/131742-frage-zu-tstrings-tstringlist.html)

p80286 30. Mär 2009 10:33


Frage zu Tstrings/Tstringlist
 
Hallo zusammen,

mir ist irgendwann einmal aufgefallen, daß eine Stringlist, die über ein Memo angezeigt wird nicht mit der Stringlist übereinstimmt, die nach Anzeige aus dem Memo ausgelesen wird. Wenn WorWrap eingeschaltet ist.
Dies ist allerdings nicht immer der Fall, und widerspricht der OH.
OK, die Arbeitsweise ist kein guter Stil, aber u.U. nicht zu vermeiden. Ich habe auch eine Möglichkeit gefunden damit umzugehen. Was mich interessiert ist:

warum ist das so?

Liegt's vielleicht daran, daß in dem Memo editiert wurde, und das dadurch Zeilenumbrüche "festgeschrieben" wurden?

Gruß
k-H

himitsu 30. Mär 2009 11:10

Re: Frage zu Tstrings/Tstringlist
 
die StringList im Edit ist nur virtuell ... das Memo hat seine eigene interne Liste und das ist nichts was direkt mit TStringList vergleichbar ist. Wenn du auf die StringList der VCL zugreifst, dann wird der Inhalt aus dem Memo gezogen.

Du hast also praktisch beim Reinladen und folgendem Auslesen noch 2 Konvertierungen dazwischen.

p80286 30. Mär 2009 12:52

Re: Frage zu Tstrings/Tstringlist
 
Hallo Himitsu,

Zitat:

Zitat von himitsu
die StringList im Edit ist nur virtuell ... das Memo hat seine eigene interne Liste und das ist nichts was direkt mit TStringList vergleichbar ist. Wenn du auf die StringList der VCL zugreifst, dann wird der Inhalt aus dem Memo gezogen.

Du hast also praktisch beim Reinladen und folgendem Auslesen noch 2 Konvertierungen dazwischen.

vielen dank für Deine Antwort, aber ich kann das nicht so ganz akzeptieren.
Wenn ich mich nicht irre (bitte um Korrekturen) dann werden die Daten eines Memo auch über TStrings verwaltet. TStringlist ist TStrings plus Sortier und Suchfunktionen (platt gesprochen).

Was für mich eine Erklährung wäre, die Daten würden über einen String (Text) ausgetauscht und die Lines würden über einen Scan nach #13#10 erzeugt.
Mein eigentliches Problem ist aber, daß Zeilenumbrüche in der Anzeige sich hinterher in der Anzahl der Zeilen wiederfindet.
Eine Änderung der Anzeige dürfte sich aber nicht auf die Daten auswirken. (lt. OH soll das auch nicht der Fall sein.)

Muß ich das "Konvertieren" ernst nehmen? Ich verstehe darunter eine Übersetzung von z.B. EBCDIC nach (Ansi)ASCII. Und das ist doch wohl nicht gemeint?

Gruß
K-H

mkinzler 30. Mär 2009 12:59

Re: Frage zu Tstrings/Tstringlist
 
TMemo und verwendet eine intere Liste auf duie man nicht so einfach zugreifen kann. Deshalb hat Borland eine Delphi-Stringliste hinzugefügt, deren Inhalt dann mit der internen Liste sychronisiert wird.

p80286 30. Mär 2009 13:06

Re: Frage zu Tstrings/Tstringlist
 
Mit anderen Worten,
intern ist TMemo eine BlackBox, die man nicht als "Durchlauferhitzer" für Daten verwenden sollte?

Gruß
K-H

mkinzler 30. Mär 2009 13:52

Re: Frage zu Tstrings/Tstringlist
 
Zitat:

Mit anderen Worten,
intern ist TMemo eine BlackBox, die man nicht als "Durchlauferhitzer" für Daten verwenden sollte?
Das ist eine gute Metapher

p80286 30. Mär 2009 13:58

Re: Frage zu Tstrings/Tstringlist
 
Danke,

das interpretiere ich mal als "Ja"

Gruß
K-H

mkinzler 30. Mär 2009 14:01

Re: Frage zu Tstrings/Tstringlist
 
So war es auch gemeint :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:10 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