Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Stringtable: Eintrag länger als 255 Zeichen. Möglich? (https://www.delphipraxis.net/104104-stringtable-eintrag-laenger-als-255-zeichen-moeglich.html)

Ares 27. Nov 2007 13:59


Stringtable: Eintrag länger als 255 Zeichen. Möglich?
 
Hallo!

Ich will ein paar Texte für Fehlermeldungen, etc. per Stringtable/Ressourcedatei in mein Programm einfügen. Die Stringtable Quelldatei lässt sich problemlos mit beliebig langen Texten compilieren. Gebe ich einen Text im Programm aus, ist dieser jedoch nach 255 Zeichen abgeschnitten. Lässt sich diese bechränkung irgendwie umgehen?

Besten Dank
Ares

Progman 27. Nov 2007 14:04

Re: Stringtable: Eintrag länger als 255 Zeichen. Möglich?
 
einfachste Lösung: Aufteilen auf mehrere Strings und diese mit + verknüpfen.

Ares 27. Nov 2007 14:42

Re: Stringtable: Eintrag länger als 255 Zeichen. Möglich?
 
Zitat:

Zitat von Progman
einfachste Lösung: Aufteilen auf mehrere Strings und diese mit + verknüpfen.

Klar, ich könnte in der Stingtable nur kürzere Strings speichern und diese dann im Programm verknüpfen. Dies wäre aber mehr als umständlich.

Ich verwende das Ganze so:
Delphi-Quellcode:
const
  ERR_MSG = 123;
...
  // Mit GetString(ID: Integer) wird der String mit der
  // zugehörigen ID geladen
  showMessage(GetString(ERR_MSG));
Hierbei wäre dann unter der ID 123 der Text der Fehlermeldung in der Stringtable gespeichert. Wenn ich die String zusammenbauen muss, müsste ich also so etwas machen:
Delphi-Quellcode:
  showMessage(GetString(ERR_MSG1) + GetString(ERR_MSG2) + GetString(ERR_MSG3));
Das ist ziemlich unübersichtlich. Man müsste dann bei jeder Verwendung von GetString kontrollieren ob der gewünschte Text auf mehrere IDs aufgetreilt ist.

Gibt es keine Möglichkeit längere Strings in der Stringtable oder einem ähnlichen Konstrukt zu speichern? Ich will mir auf diese Weise ein "Wörterbuch" mich häufig verwendeten Meldungen anlegen.

Die Verwendung von + in der Stringtable ist leider nicht Möglich. Folgendes führt zu einem Fehler:
Delphi-Quellcode:
  123, "Erster Teil"+"Zweiter Teil"
Noch eine Idee
Gruß
Ares

Progman 27. Nov 2007 14:47

Re: Stringtable: Eintrag länger als 255 Zeichen. Möglich?
 
Und die Strings als PChar ausgeben? Da dürfte es keine Längenbeschränkung geben.
Übrigens kann ShowMessage mehr als 255 Zeichen ausgeben. Kann es sein, dass GetString nicht mehr als 255 kann?

DP-Maintenance 27. Nov 2007 19:05

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Delphi-Frage


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