Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Strings mit mehr als 255 Zeichen IM CODE
MrZBot - Fr 03.07.09 17:30
Titel: Strings mit mehr als 255 Zeichen IM CODE
Hallo,
Ich habe folgende Frage:
Wie kann ich im Code Strings mit mehr als 255 verwenden? Generell kann ich in Strings zwar quasi unendlich viele Zeichen speichern, aber wie kann ich das tun, ohne sie zu generieren? Ich möchte nämlich einen längeren Text im Programm anzeigen lassen, der Vorher geschrieben wurde...
Narses - Fr 03.07.09 17:31
Moin!
Delphi-Quelltext
1: 2:
| const MyStr = '123'+'456'+... |
;)
cu
Narses
MrZBot - Fr 03.07.09 17:58
Also geht es nicht wie gewünscht? Ich möchte einen Text mit 5000 Zeichen nicht lauter 255er Parts aufteilen müssen...
Sinspin - Fr 03.07.09 17:58
Schmeiß dir einfach ein Memo (TMemo) auf dein Form und schreibe den Text da rein.
Da kannst du ganze Romane unterbringen ohne das es voll wird.
Das Memo macht du dann einfach unsichtbar und zeigst den Text an wie und wo du willst.
Ist zwar keine tolle Lösung, aber es geht.
MrZBot - Fr 03.07.09 18:03
Hey Sinspin, das war die Antwort, auf die ich gewartet habe ;-) Danke!
BenBE - Fr 03.07.09 22:26
Hi Sinspin, das war genau die Antwort, wie man's nicht tun sollte ;-)
Das Stichwort Ressourcen ist ja bereits gefallen und hier wesentlich angebrachter. VCL-Controls sind nicht als Datenspeicher gedacht, sondern dienen der Anzeige. Ressourcen sind zum Vorhalten von Daten da.
Sinspin - Sa 04.07.09 02:02
BenBE hat folgendes geschrieben : |
Hi Sinspin, das war genau die Antwort, wie man's nicht tun sollte ;-)
Das Stichwort Ressourcen ist ja bereits gefallen und hier wesentlich angebrachter. VCL-Controls sind nicht als Datenspeicher gedacht, sondern dienen der Anzeige. Ressourcen sind zum Vorhalten von Daten da. |
Das ist mir schon klar, aber die Lösung ist schneller realisiert als mit Ressourcen und auch fixer (jedenfalls mit D7) geändert wenn es nötig ist.
Ob man bei neueren Versionen die Ressourcen bequemer bearbeiten kann weis ich nicht.
Reinhard Kern - Sa 04.07.09 11:10
BenBE hat folgendes geschrieben : |
| ... VCL-Controls sind nicht als Datenspeicher gedacht, sondern dienen der Anzeige. Ressourcen sind zum Vorhalten von Daten da. |
Hallo,
im Prinzip richtig, aber Resource-Strings sind auch begrenzt, und darüber hat jeder Resourceeditor und -Compiler eigene Ansichten. Weil mit den üblichen Mitteln lange Strings garnicht gehen, bin ich auch auf RC_DATA ausgewichen, aber Resourcen gehören wohl zu den wenig erforschten Landschaften: FindResource ist zickig mit dem Finden nach ID (wahrscheinlich wird MAKEINTRESOURCE unter Delphi nicht richtig umgesetzt), und die entsprechende VCL-Funktion lässt gleich das gesamte Programm abstürzen, wenn eine Resource nicht da ist.
Der Vorteil ist natürlich, dass man keine extra Datei braucht.
Gruss Reinhard
jaenicke - Sa 04.07.09 17:44
Reinhard Kern hat folgendes geschrieben : |
| im Prinzip richtig, aber Resource-Strings sind auch begrenzt, und darüber hat jeder Resourceeditor und -Compiler eigene Ansichten. |
Man muss doch nur den Text in eine Textdatei speichern und diese dann einbinden, fertig. Danach noch via TResourceStream und ggf. z.B. TStringStream auslesen, fertig. ;-)
Popov - Sa 04.07.09 17:55
Du hast schon Recht, aber du darfst nie vergessen, daß es Tipps für Anfänger sind. Zugegeben, man kann auf dem Standpunkt stehen, daß einer gleich von Anfang an es richtig machen sollte, aber keiner wird ewig Tricks anwenden. Entweder hört er auf zu progen, dann erledigt sich das von selbst, oder er macht weiter, dann kommt irgendwann der Zeitpunkt wo er es richtig machen wird. Ken Anfänger kann sich das Wissen innerhalb von zwei Wochen aneignen. Man muß bestimmtes Wissen zurückstellen.
jaenicke - Sa 04.07.09 17:59
Popov hat folgendes geschrieben : |
| aber keiner wird ewig Tricks anwenden. |
Das stimmt bei zwei Sachen nicht so richtig glaube ich. Viele, wenn nicht die meisten, die am Anfang die Komponenten nicht lernen richtig zu bennennen, machen es auch später nicht. Und sehr viele, die visuelle Komponenten als Datenspeicher missbrauchen, bleiben auch dabei.
Jedenfalls ist das so die Erfahrung, die ich bisher machen musste.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!