AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TStringList in ListView einlesen

Ein Thema von napsterxx · begonnen am 6. Jun 2007 · letzter Beitrag vom 7. Jun 2007
Antwort Antwort
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#1

TStringList in ListView einlesen

  Alt 6. Jun 2007, 23:22
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?
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#2

Re: TStringList in ListView einlesen

  Alt 6. Jun 2007, 23:25
Hallo,

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

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: TStringList in ListView einlesen

  Alt 7. Jun 2007, 00:45
Versteh die schleife nicht. Also ich will das automatisch alle Einträge der Listbox in meine ListView box übernommen werden. ??
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#4

Re: TStringList in ListView einlesen

  Alt 7. Jun 2007, 01:40
Hm,...

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

Hier mal meiner der nur mit der ListView arbeitet!
Miniaturansicht angehängter Grafiken
process_viewerr_438.png  
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.858 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: TStringList in ListView einlesen

  Alt 7. Jun 2007, 02:37
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
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
marabu

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

Re: TStringList in ListView einlesen

  Alt 7. Jun 2007, 06:15
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 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
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#7

Re: TStringList in ListView einlesen

  Alt 7. Jun 2007, 14:12
Zitat von napsterxx:
Zitat von s-off:
With ListView1.Items.Add do begin
Caption := 'Spalte1';
SubItems.Add('Spalte2');
SubItems.Add('Spalte3');
...
SubItems.Add('Spalten');
end;
Versteh die schleife nicht.
Da ist auch keine drin
  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 02:12 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