Zeilenumbruch mit Resource Strings

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Reinhard
Beiträge: 46
Registriert: Fr 26. Sep 2008, 16:56

Zeilenumbruch mit Resource Strings

Beitrag von Reinhard »

Hallo,

Wie funkioniert der Zeilenumbruch in einem Resource String ?

Laut FP/LazarusWiki sollte dies mit "\n" im string funktionieren, dies ziegt aber mir keinerlei Wirkung, der String wird komplett mit den "\n" dargestellt, und kein Zeielumbruch eingefügt.



Die Resourcedatei sieht so aus :

Resourcestring
TestString='Dies ist die erste Zeile \n Dies ist die zweite Zeile';

Diese Datei wird mit $I (include) im Programm als Include eingefügt.


Im Programm slebst rufe ich den string dann auf :

ShowMessage(TestString);

Es wird abr kein Zeilenumbruch eingeügt .


Ich hab ees auch schon mit den Gänsefüßchen (") probiert - also TestString='Dies ist die erste Zeile "\n" Dies ist die zweite Zeile'; - funktioniert aber auch nicht.

Irgendwie bin ich da Ratlos ....

Ich verwende Version 1.01 von Lazarus und FP 2.6.x

Danke

Benutzeravatar
theo
Beiträge: 10869
Registriert: Mo 11. Sep 2006, 19:01

Re: Zeilenumbruch mit Resource Strings

Beitrag von theo »

Verstehe nicht ganz und kenne mich damit auch nicht besonders aus.
Aber die "\n" beziehen sich auf die PO Dateien oder?
Im Lazarus Quelltext reicht doch ein 'a'+LineEnding+'b';

Oder meinst du was anderes?

Reinhard
Beiträge: 46
Registriert: Fr 26. Sep 2008, 16:56

Re: Zeilenumbruch mit Resource Strings

Beitrag von Reinhard »

theo hat geschrieben:Verstehe nicht ganz und kenne mich damit auch nicht besonders aus.
Aber die "\n" beziehen sich auf die PO Dateien oder?
Im Lazarus Quelltext reicht doch ein 'a'+LineEnding+'b';

Oder meinst du was anderes?
Naja nicht direkt die .po dateien , einfach nur einen "resourcestring" also quasi aus dem Projekt selbst ausgelagerte Strings.

Innerhalb der IDE bzw des codes funkt das mit der "lineending" funktion, die fügt dem string einen Zeilenumbruch hinzu.

Da man aber schlecht einen string mit "#10" im Namen abspeichern kann (wird ja als Zeichen interpretiert und nicht als Steuerbefehl) muss im string irgendein Zeichen / Kombination mitgegeben werden
das einen Zeilenumbruch an der gewünschten Stelle signalisiert.

Später beim laden dieses Stirings müsste/sollte das Zeichen dann aufgelöst werden (also aus dem String entfernt) und als Steuerzeichen interpretiert werden was dann den Zeilenumbruch auslöst.

Z.b.
Wenn der String vorher wäre "Das ist ein Test \n Das ist die zweite Zeile"

Sollte nacher beim laden der String so aussehen :

"Das ist ein Test#10#13dDas ist die zweite Zeile"

also statt dem \n müsste ein Linebreak drinnen sein, ist es aber nicht,

Reinhard
Beiträge: 46
Registriert: Fr 26. Sep 2008, 16:56

Re: Zeilenumbruch mit Resource Strings

Beitrag von Reinhard »

Okay , hat sich erledigt ...

Muss ich halt manuell machen bevor ich den string anzeige / ausgebe in dem ich auf die /n oder was weis ich was abfrage und dann ein "Linebreak" in den string einfüge.

Ist halt mühsamer so, aber was solls ...

Antworten