Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Die Caption-Länge von TLabel (https://www.delphipraxis.net/168269-die-caption-laenge-von-tlabel.html)

Popov 12. Mai 2012 08:21

Die Caption-Länge von TLabel
 
Nur eine Verständnisinnige, ich habe im Kopf den Wert 256 Zeichen bei Label Caption, aber ich Programmiere seit Delphi 1 und Windows 98 oder 95.

Also entweder gab es nie die Begrenzung, oder bei älteren Delphi's, oder bei Windows 9x, oder ich hab einen falschen Wert im Kopf. Zumindest habe ich gerade kein Problem 1500 Zeichen in das Label zu packen. Nur seit wann ist es anders, wenn überhaupt?

Ein anderer Wert den ich im Kopf habe ist 1024 pro Zeile bei Memo und Ini, somit wahrscheinlich bei TStrings allgemein. Der stimmt noch. Aber bei Label bin ich mir ganz sicher, dass alles über 256 früher abgeschnitten wurde.

Andreas L. 12. Mai 2012 09:04

AW: Die Caption-Länge von TLabel
 
Die Grenze von 256 Zeichen pro String gab es in Delphi 6 noch, bei Delphi 7 bin ich mir nicht sicher. In Turbo Delphi war die Begrenzung weg. In TStrings (und somit auch im Memo) kannst du meines Wissens nach soviele Zeilen bzw. Zeichen schreiben bis der Arbeitsspeicher voll ist. Bei TIniFile gibt (oder gab?) es eine Begrenzung durch die API-Funktionen die intern verwendet werden. TMemIniFile hingegen verwendest intern eine TStringList, hat also keine Begrenzung.

jaenicke 12. Mai 2012 10:38

AW: Die Caption-Länge von TLabel
 
Liste der Anhänge anzeigen (Anzahl: 1)
Bei Delphi 6? :shock: Maximal 255 Zeichen gab es nur bei ShortString, das als String nur bei Delphi 1 eingesetzt wurde. Seit Delphi 2 kannst du in einen String auch längere Texte packen.

Im Anhang ein kleines Beispiel, erstellt mit Delphi 3, da sind knapp 10000 Zeichen im Quelltext in einem String und werden in ein Label gepackt.

Popov 12. Mai 2012 11:27

AW: Die Caption-Länge von TLabel
 
Hm, sonderbar, vielleicht habe ich das seit D1 so im Kopf.

Andreas L. 12. Mai 2012 11:47

AW: Die Caption-Länge von TLabel
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von jaenicke (Beitrag 1166223)
Bei Delphi 6? :shock:

Ich habe jetzt nur für dich Delphi 6 PE in einer VM installiert. Siehe Bild:
Anhang 36889
TLabel.Caption hat diese Begrenzung allerdings nicht.

EDIT: So wie in deinem Code (einzelne Strings mit + verbinden) geht das natürlich auch mit Delphi 6. In meiner obigen Aussage bezog ich mich darauf, das nur 255 Zeichen innerhalb von ' stehen dürfen. Das wurde entweder bei Delphi 7 oder Turbo Delphi geändert.

jaenicke 12. Mai 2012 11:51

AW: Die Caption-Länge von TLabel
 
Diese Beschränkung gab es pro Zeile, nicht pro String:!:

Und wer schreibt schon so viele Zeichen in eine Zeile? :shock: Insofern war die Beschränkung in der Praxis ohnehin kein Problem...
Denn da schreibt man so viel erstens ohnehin kaum direkt in den Quelltext und wenn doch, dann strukturiert über mehrere Zeilen:
Delphi-Quellcode:
var
  a: string;
begin
  a := 'Text: Mein erster Text ...'
    + 'Text 2: ...';
Und das geht schon seit Delphi 2 und auch mit deutlich mehr als 255 Zeichen.

Andreas L. 12. Mai 2012 11:57

AW: Die Caption-Länge von TLabel
 
Zitat:

Zitat von jaenicke (Beitrag 1166234)
Und das geht schon seit Delphi 2 und auch mit deutlich mehr als 255 Zeichen.

Das bestreite ich auch gar nicht, siehe mein Edit :wink:

himitsu 12. Mai 2012 17:53

AW: Die Caption-Länge von TLabel
 
Zitat:

Zitat von Andreas L. (Beitrag 1166215)
Die Grenze von 256 Zeichen pro String gab es in Delphi 6 noch, bei Delphi 7 bin ich mir nicht sicher.

255 Zeichen (0 bis 255 = 256 = 1 Byte).

Und den "ShortString" gibt es immernoch.
Irgendwann wurde dann der "AnsiString" eingeführt, welcher bis zu 2 Milliarden Zeichen enthalten kann.

Anfangs war der String quasi ein ShortString,
dann wurde "String" auf den AnsiString umgeleitet
und seit Delphi 2009 leitet der "String" zum UnicodeString weiter.

Popov 12. Mai 2012 19:42

AW: Die Caption-Länge von TLabel
 
Vielleicht sollte ich mir mal angewöhnen gelegentlich wieder die Hilfe zu lesen. So wie es aussieht habe ich mich in Delphi 1 sehr ausführlich mit dem was Delphi kann oder nicht kann auseinander gesetzt und danach weniger.

Wie auch immer, ich hätte mir einiges an Arbeit gespart wenn mir das früher aufgefallen wäre. So habe ich noch letztens das Ganze über eine Bitmap gelöst, weil ich einen Langen Text ausgeben wollte. Dazu habe ich eine Funktion entwickelt die den Text passend umbricht. Canvas TextOut hat meines Wissens kein WordWrap. Oder doch? Inzwischen weiß ich gar nichts mehr. Auf jeden Fall habe ich einen ganzen Abend an so einer beschissenen WordWrap Funktion gessessen, damit ich einen langen Text ausgeben kann. Schön, das ganze geht auch mit TLabel. Peinlich.

jaenicke 12. Mai 2012 20:02

AW: Die Caption-Länge von TLabel
 
Und dann gibts da auch noch DrawText mit DT_WORDBREAK. ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:15 Uhr.
Seite 1 von 2  1 2      

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