![]() |
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. |
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.
|
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. |
AW: Die Caption-Länge von TLabel
Hm, sonderbar, vielleicht habe ich das seit D1 so im Kopf.
|
AW: Die Caption-Länge von TLabel
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
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. |
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:
Und das geht schon seit Delphi 2 und auch mit deutlich mehr als 255 Zeichen.
var
a: string; begin a := 'Text: Mein erster Text ...' + 'Text 2: ...'; |
AW: Die Caption-Länge von TLabel
Zitat:
|
AW: Die Caption-Länge von TLabel
Zitat:
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. |
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. |
AW: Die Caption-Länge von TLabel
Und dann gibts da auch noch
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:19 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