![]() |
Listview CommaText mit Leerzeichen
Hallo
ich habe vor einiger Zeit mal diesen Code gefunden um in ein Listview etwas einzutragen.
Delphi-Quellcode:
procedure TForm3.ListViewAddItm(ListView: TListView; const ersteSpalte, Rest_CommaText: String; Checked: Boolean = true); var ListItem: TListItem; begin with ListView do begin ListItem := Items.Add; ListItem.Caption := ersteSpalte; ListItem.SubItems.CommaText := Rest_CommaText; If Checkboxes then Items.Item[Items.Count - 1].Checked := Checked; end; end; Wenn jetzt aber ein Leerzeichen in einem der Comma Texts ist dann geht es automatisch eine Spalte weiter. Kann man das irgenwie verhindern ? MfG |
Re: Listview CommaText mit Leerzeichen
Das ist bei der Standard-Strngliste so. Du könntest die Leerzeichen ersetzen oder die Untereinträge anders erzeugen (Explode)
|
Re: Listview CommaText mit Leerzeichen
Hallo,
wenn der Text (CommaText) zuerst kompatibel gemacht wird, dann kann der Code beibehalten werden:
Delphi-Quellcode:
Die verwendete Funktion Explode() findest du dort:
function CommaText(const text: string; delimiter: Char = ','): string;
var s: TStrings; begin s := TStringList.Create; try Explode(text, delimiter, s); Result := s.CommaText; finally s.Free; end; end; ![]() Grüße vom marabu |
Re: Listview CommaText mit Leerzeichen
Danke. :thumb:
So gehts |
Re: Listview CommaText mit Leerzeichen
Ansonsten gibts ja noch TStringList.StrictDelimiter, mit dem man auch dafür sorgen kann, daß eine TStringList wirklich nur das vorgegebene Trennzeichen verwendet. Also, grob geraten:
Delphi-Quellcode:
Leider nur in Delphi, FreePascal kennt StrictDelimiter noch nicht.
ListItem.SubItems.StrictDelimiter := true;
ListItem.SubItems.Delimiter := ';'; ListItem.SubItems.DelimitedText := Rest_CommaText; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:08 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