Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TStringList in ListView einlesen (https://www.delphipraxis.net/93506-tstringlist-listview-einlesen.html)

napsterxx 6. Jun 2007 23:22


TStringList in ListView einlesen
 
hoi
Jeder von euch kennt ja die Listboxen und die ListViews. Ich finde ListViews sehen besser aus, und stelle deshalb mein Programm gerade um. Es ist ein erweiterter Taskmanager. Vor meiner Umstellung wurden alle aktiven Prozesse in eine Listbox hinzugefügt (funktioniert prima) jetzt will ich die ganzen Prozesse in mein ListView im vsReport Style einfügen. Doch das geht nich hab schon Schleifen etc ausprobiert. Es geht nicht.
Meine Prozesse werden als StringList gespeichert.
Ca so:
Data := TStringList.Create;
GetProcessList(listbox2.Items);
Data.Text := Listbox2.Items.Text;

Umständlich okok aber egal^^ Komme so klar. Mein Ansatz
var
List := TListItem;
begin
List := Form3.ListView1.Items.Insert(0);
for i := 0 to Data.Count-1 do
List.SubItems := Listbox2.Items;

Hinzufügen tut er ja die Prozesse allerdings nur in der ersten reihe, und da ich nur zwei spalten habe fügt er nur ein item hinzu -.- Kann man das irgendwie anderes machen?

s-off 6. Jun 2007 23:25

Re: TStringList in ListView einlesen
 
Hallo,

Delphi-Quellcode:
With ListView1.Items.Add do begin
   Caption := 'Spalte1';
   SubItems.Add('Spalte2');
   SubItems.Add('Spalte3');
   ...
   SubItems.Add('Spalten');
end;
Edit: Code formatiert

napsterxx 7. Jun 2007 00:45

Re: TStringList in ListView einlesen
 
:wiejetzt: Versteh die schleife nicht. Also ich will das automatisch alle Einträge der Listbox in meine ListView box übernommen werden. ??

Mackhack 7. Jun 2007 01:40

Re: TStringList in ListView einlesen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hm,...

warum willst du denn noch zusätzlich die ListBox nutzen?

Hier mal meiner der nur mit der ListView arbeitet!

Chemiker 7. Jun 2007 02:37

Re: TStringList in ListView einlesen
 
Hallo napsterxx,


Vielleicht hilft Dir das weiter, ist allerdings nicht getestet.

Delphi-Quellcode:
List:= TListItem;
begin
  for i:=0 to Data.Count-1 do
  begin
    List:= Form3.ListView1.Items.Add;
    List.SubItems.Add(Data.Strings[i]);
  end;
end;
Die Bezeichnung: Data für die String-Liste würde ich ändern.

Bis bald Chemiker

marabu 7. Jun 2007 06:15

Re: TStringList in ListView einlesen
 
Guten Morgen,

Delphi-Quellcode:
var
  List: TListItem;
begin
  List := Form3.ListView1.Items.Insert(0);
  for i := 0 to Data.Count-1 do
    List.SubItems := Listbox2.Items;
  // ...
end;
die erste Spalte der ListView repräsentiert ListItem.Caption - diese Eigenschaft setzt du gar nicht. Die anderen Spalten entsprechen den SubItems, aber da solltest du besser ListItem.SubItems.Assign(ListBox.Items) verwenden - du willst die Einträge schließlich kopieren.

Zitat:

Zitat von napsterxx
... Hinzufügen tut er ja die Prozesse allerdings nur in der ersten reihe, und da ich nur zwei spalten habe fügt er nur ein item hinzu ...

Mit Insert)0) fügst du ein neues ListItem stets am oberen Rand hinzu, mit Add() am unteren. Die Reihen in deiner ListBox werden so wie du es machst zu Spalten in deinem ListItem. Wenn du etwas anderes möchtest, dann musst du es besser beschreiben. Insbesondere welche Information stehen in welchem Format in der ListBox.

Freundliche Grüße

s-off 7. Jun 2007 14:12

Re: TStringList in ListView einlesen
 
Zitat:

Zitat von napsterxx
Zitat:

Zitat von s-off
With ListView1.Items.Add do begin
Caption := 'Spalte1';
SubItems.Add('Spalte2');
SubItems.Add('Spalte3');
...
SubItems.Add('Spalten');
end;

:wiejetzt: Versteh die schleife nicht.

Da ist auch keine drin :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 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