![]() |
Messages mit Zeilenbruch aus Datei laden
Moin,
eine Frag zum ausgeben von Messages: Wenn ich eine Message ausgebe muss ich diese ja als String angeben. Kann ich einen Zeilenumbruch auch in den String schreiben? zb in einer Ini: [test] test=ich_mache_einen_zeilenumbruch #13 das_steht_in_der_zewiten_zeile Das das nicht funktionieren kann weis ich ja :mrgreen: , aber ich hoffe ihr wisst was ich mein und könnt mir helfen. |
Re: Messages mit Zeilenbruch aus Datei laden
Wieso? Schau mal die Funktion StringReplace an.
|
Re: Messages mit Zeilenbruch aus Datei laden
meinst du ungefähr so: 'message1'+#13+'message2' ich denke das müsste klappen1 oder?
|
Re: Messages mit Zeilenbruch aus Datei laden
Folgendes:
@Bernhard Geyer: Das ist ganz nett und funktioniert soweit, nur würde ich das gerne alles in die Datei speichern um die von dir genannte Funktion noch zu übergehen. @mr.unbekannt Wenn das in der INI-Datei steht: [sec] id= 'message1' + #13 + 'message2' und dann folgendes in delhi schreibe:
Delphi-Quellcode:
dann habe ich immer noch keinen zeilenumbruch!
showmessage(ini.ReadString('sec','id','bla'));
|
Re: Messages mit Zeilenbruch aus Datei laden
Kodiere den String mit
![]() |
Re: Messages mit Zeilenbruch aus Datei laden
Hi Lol,
speichere die Strings in der ini-Datei mit einem # dazwischen und ersetze ihn.
Code:
und dann
[sec]
id=Blabla#blublu
Delphi-Quellcode:
mfg
showmessage(StringReplace(ini.ReadString('sec','id','bla'), '#', #13,rfReplaceAll ));
BrunoT |
Re: Messages mit Zeilenbruch aus Datei laden
@Khabarakh:
Könntest du das noch etwas erläutern was du genau meinst? Ich weis nicht genau was du mir damit sagen willst @BrunoT Zitat:
Zitat:
|
Re: Messages mit Zeilenbruch aus Datei laden
@BrunoT: Und was machst du, wenn es mehrere '#' gibt :stupid: ? Base64 ist IMO die beste Lösung, auch andere Steuerzeichen werden damit "unschädlich gemacht". Einziger Nachteil: Die Stringlänge vergrößert sich ein wenig, außerdem kann man den kodierten String nicht lesen (aber ich hoffe doch, dass Lols User die Ini nicht von Hand bearbeiten müssen :mrgreen: ).
@Lol: Base64 kodiert einen String, sodass er nur noch aus "sichtbaren" Zeichen besteht. Damit kannst du ihn ohne Probleme in eine Ini schreiben, sonst wirst du immer Probleme mit Steuerzeichen bekommen. Einziger Ausweg wäre noch, wie gesagt, ein ganz anderes Format (z.B. Binärdateien per TFileStream). Beispiel Hätten Hüte ein ß im Namen, wären sie möglicherweise keine Hüte mehr, sondern Hüße. Zitat:
|
Re: Messages mit Zeilenbruch aus Datei laden
Zitat:
Was ist daran so schlimm? Mach doch eine Unterfunktion daraus, die beide Funktionen zusammenfasst und einen String zurückgibt. mfg BrunoT @Khabarakh: Klar ist das eine gute Lösung, aber wenn die ini-Datei auch von anderen gelesen werden soll? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:56 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