| Autor |
Beitrag |
delphistart
      
Beiträge: 119
|
Verfasst: Sa 19.07.08 21:20
Hallo,
Seit langem habe ich mal wieder Urlaub UND Zeit ein bisschen zu mit Delphi zu Programmieren.
Für folgendes Problem finde ich aber leider einfach keine Lösung:
Ich habe auf meinem Formular mehrere Labels. Diese werden mit Daten gefüllt, die ich aus einer Textdatei lade.
Nun möchte ich in der Techtdatei irgendwie Zeilenumbrüche vordefinieren. Das heist wenn dort z.B. das Zeichen '#' vorkommt soll es als Zeilenumbruch ausgegeben werden.
Dann muss ich noch irgendwie Abfragen wie viele Zeileumbrüche dieser Art vorhanden sind.
Wäre echt super, wenn jemand von euch eine Lösung hat!
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Sa 19.07.08 21:42
Hi,
Das verstehe ich nicht: In Delphi ist ein Zeilenumbruch ein #13#10.. In einer Textdatei kann man doch auch einfach Zeilenumbrüche einfügen(Enter!; bzw. per Delphi #13#10).
Wenn du alle '#'s durch Zeilenumbrüche ersetzen willst, müsstest du folgendes machen: Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| function Parse(S: String): String; var i: Integer; begin StringReplace(S, #13#10, '', [rfReplaceAll]); StringReplace(S, '#', #13#10, [rfReplaceAll]); result := S; end; |
E: Siehe auch: r2c2.weingut-rehn.de...itung_mit_Delphi.htm
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
delphistart 
      
Beiträge: 119
|
Verfasst: Sa 19.07.08 22:03
Ja, genau so habe ich das auch zuerst probiert, aber bei dieser Variante bekomme ich #13#10 als Text ausgegeben und nicht als Zeilenumbruch, weil das dann ja quasi so da steht:
'Text#13#10Text'
die Korrekte Angabe wäre aber
'Text'#13#10'Text'
Nur wie bekomme ich die #13#10 in Label.Caption auserhalb vom String bzw. zwischen die beiten Teilstrings?
|
|
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 19.07.08 22:13
am besten bauen wir uns ein schleifchen ...
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| NeuStr = ''; for c in AltStr do if c = '#' then NeuStr := NeuStr + #10#13 else NeuStr := NeuStr + c; |
|
|
delphistart 
      
Beiträge: 119
|
Verfasst: Sa 19.07.08 22:41
|
|
delfiphan
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: So 20.07.08 10:28
|
|
Hidden
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: So 20.07.08 11:56
Hi,
Aus deiner Beschreibung entnehme ich mal, dass du #13#10 einfach unter properties\caption eingetippt hast.
Nochmal eine vollständige Lösung: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| function Parse(S: String): String; var i: Integer; begin StringReplace(S, '#13#10', #13#10, [rfReplaceAll]); result := S; end;
procedure TForm1.FormCreate(Sender: TObject); begin Label1.Caption := Parse(Label1.Caption); end; |
mfG,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|