AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Messages mit Zeilenbruch aus Datei laden
Thema durchsuchen
Ansicht
Themen-Optionen

Messages mit Zeilenbruch aus Datei laden

Ein Thema von LoL · begonnen am 14. Sep 2005 · letzter Beitrag vom 14. Sep 2005
Antwort Antwort
LoL
(Gast)

n/a Beiträge
 
#1

Messages mit Zeilenbruch aus Datei laden

  Alt 14. Sep 2005, 15:45
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 , aber ich hoffe ihr wisst was ich mein und könnt mir helfen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Messages mit Zeilenbruch aus Datei laden

  Alt 14. Sep 2005, 16:05
Wieso? Schau mal die Funktion StringReplace an.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mr.unbekannt

Registriert seit: 20. Jul 2005
Ort: Schwerin
152 Beiträge
 
Delphi 7 Professional
 
#3

Re: Messages mit Zeilenbruch aus Datei laden

  Alt 14. Sep 2005, 16:08
meinst du ungefähr so: 'message1'+#13+'message2' ich denke das müsste klappen1 oder?
  Mit Zitat antworten Zitat
LoL
(Gast)

n/a Beiträge
 
#4

Re: Messages mit Zeilenbruch aus Datei laden

  Alt 14. Sep 2005, 16:14
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:
  showmessage(ini.ReadString('sec','id','bla')); dann habe ich immer noch keinen zeilenumbruch!
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#5

Re: Messages mit Zeilenbruch aus Datei laden

  Alt 14. Sep 2005, 16:19
Kodiere den String mit Base64Base64, dann verschwinden alle Steuerzeichen, oder speicher die Strings in einem anderen Format.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von BrunoT
BrunoT

Registriert seit: 23. Jan 2003
Ort: Sandbeiendorf
360 Beiträge
 
Delphi 8 Professional
 
#6

Re: Messages mit Zeilenbruch aus Datei laden

  Alt 14. Sep 2005, 16:27
Hi Lol,

speichere die Strings in der ini-Datei mit einem # dazwischen und ersetze ihn.
Code:
[sec]
id=Blabla#blublu
und dann
showmessage(StringReplace(ini.ReadString('sec','id','bla'), '#', #13,rfReplaceAll )); mfg

BrunoT
Holger

EDV- Ende der Vernunft
Meine Calcedit-Kompo
  Mit Zitat antworten Zitat
LoL
(Gast)

n/a Beiträge
 
#7

Re: Messages mit Zeilenbruch aus Datei laden

  Alt 14. Sep 2005, 16:31
@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 von Bernhard Geyer:
Wieso? Schau mal die Funktion StringReplace an.
Zitat von LoL:
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.
Ich hab ja das auch schon erfolgreich getestet, aber dann hab ich halt noch eine zusätzliche Funktion mehr was halt unschön ist.
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#8

Re: Messages mit Zeilenbruch aus Datei laden

  Alt 14. Sep 2005, 16:40
@BrunoT: Und was machst du, wenn es mehrere '#' gibt ? 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 ).

@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:
SMOkdHRlbiBIw7x0ZSBlaW4gw58gaW0gTmFtZW4sIHfDpHJlbi BzaWUgbcO2Z2xpY2hlcndlaXNl
IGtlaW5lIEjDvHRlIG1laHIsDQpzb25kZXJuIEjDvMOfZS4NCg ==
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von BrunoT
BrunoT

Registriert seit: 23. Jan 2003
Ort: Sandbeiendorf
360 Beiträge
 
Delphi 8 Professional
 
#9

Re: Messages mit Zeilenbruch aus Datei laden

  Alt 14. Sep 2005, 16:41
Zitat von LoL:
... aber dann hab ich halt noch eine zusätzliche Funktion mehr was halt unschön ist.


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?
Holger

EDV- Ende der Vernunft
Meine Calcedit-Kompo
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:48 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