AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi nachträglich Zeilenumbruch in String einfügen
Thema durchsuchen
Ansicht
Themen-Optionen

nachträglich Zeilenumbruch in String einfügen

Ein Thema von goessler · begonnen am 18. Feb 2006 · letzter Beitrag vom 18. Feb 2006
Antwort Antwort
goessler

Registriert seit: 6. Feb 2006
Ort: Graz
8 Beiträge
 
#1

nachträglich Zeilenumbruch in String einfügen

  Alt 18. Feb 2006, 13:31
Es soll in den String, der anschließend in der Listbox angezeigt wird,
nach 17 und 34 Zeichen ein Zeilenumbruch stattfinden.

Anzeige:
12345678901234567
Text2



if Melodie.ShowModal = mrOk then
begin
Insert(#13#10, DialogStr, 17);
Insert(#13#10, DialogStr, 34);
MelLB.Items.Add(DialogStr);
MelLB.ItemIndex:=MelLB.Items.Count+1;
end


Es werden aber nur zusätzlich zwei dicke, senkrechte Striche (||) angezeigt.



wer kann helfen, danke.
H.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: nachträglich Zeilenumbruch in String einfügen

  Alt 18. Feb 2006, 13:33
Füge doch Kommas ein un benutze die Eigenschaft CommaText bzw. DelimitedTest der Stringliste.
Markus Kinzler
  Mit Zitat antworten Zitat
goessler

Registriert seit: 6. Feb 2006
Ort: Graz
8 Beiträge
 
#3

Re: nachträglich Zeilenumbruch in String einfügen

  Alt 18. Feb 2006, 14:03
das Problem ist nicht das Einfügen von Zeichen sondern die
korrekte Darstellung in Listbox.
H.
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#4

Re: nachträglich Zeilenumbruch in String einfügen

  Alt 18. Feb 2006, 14:16
Dann würde ich dir Raten folgendes zu tun:

Delphi-Quellcode:
var
  liste:TStringlist;
begin
  liste := TStringlist.Create;
  liste.assign(mellb.items);
  .
  . Hier führst du jetzt deine Zeilenumbrüche ein. Allerdings nimmst du anstatt Mllb.items liste.items
  .
  mellb.text := liste.text;
  liste.free;
end;
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: nachträglich Zeilenumbruch in String einfügen

  Alt 18. Feb 2006, 14:23
Zitat von goessler:
das Problem ist nicht das Einfügen von Zeichen sondern die
korrekte Darstellung in Listbox.
H.
Wenn du bei einer Stringliste die Eigenschaft .CommaText setzt, wird der zugewiesene String anhand der Kommas getrennt und in verschiedene Zeilen der Stringliste verteilt.
Markus Kinzler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: nachträglich Zeilenumbruch in String einfügen

  Alt 18. Feb 2006, 14:44
Hallo H.

Mit der folgenden Funktion kannst du einen String in einen Text mit einer bestimmten Zeilenlänge verwandeln:

Delphi-Quellcode:
procedure LineToText(var line: String; len: Integer; sep: String = sLineBreak);
var
  chunks: integer;
begin
  chunks := Length(line) div len + Ord(Length(line) mod len > 0);
  while chunks > 1 do begin
    Dec(chunks);
    Insert(sep, line, Succ(chunks * len));
  end;
end;

procedure TDemoForm.ButtonClick(Sender: TObject);
var
  DialogStr: String;
begin
  DialogStr := '12345678901234567Text2';
  LineToText(DialogStr, 17);
  ListBox.Items.Text := DialogStr;
end;
Warum du Steuerzeichen einer StringList nicht per Insert() oder Add() hinzufügen kannst, das kannst du hier nachlesen: klick. Bei deiner Vorgehensweise würde nur die erste Zeile 17 Stellen aufweisen, die nächste hätte nur 15 Stellen ...

Grüße vom marabu
  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 10:42 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