Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi listview selected schleife? (https://www.delphipraxis.net/51129-listview-selected-schleife.html)

marabu 6. Aug 2005 20:11

Re: listview selected schleife?
 
Ich weiß immer noch nicht, warum du die ListItems vor der Bearbeitung überhaupt markieren willst...

marabu

jolomino 7. Aug 2005 01:03

Re: listview selected schleife?
 
also ich kann auf die auszuführende procedure nur zugreifen wenn ein oder mehrere zeilen markiert sind. alle sind aber zuviel, deswegen ist nun die überlegung, einen eintrag nach dem anderen zu markieren.
bloss wie bekomme ich den dieses hin?
mit
Delphi-Quellcode:
with ListView do
  for i := 0 To Items.Count -1  do
    Items[i]. Selected := true ;
//hier dann die procedure
werden immer alle markiert.

gruss jolomino

marabu 7. Aug 2005 12:54

Re: listview selected schleife?
 
Zitat:

Zitat von jolomino
aber das selectall() dauert nicht lange, nur die anzeige das etwas im MultiPart.Start(GetSelectedFile(), True); passiert.

Damit sich deine Anzeige ändert, musst du in der Verarbeitungsschleife "Application.ProcessMessages" aufrufen.

Grundsätzlich macht ein SelectAll() vor deiner Verarbeitungsschleife keinen Sinn. SelectAll() ist ein Befehl der innerhalb einer Action aufgerufen wird, die üblicherweise im Hauptmenü über "Bearbeiten | Alle markieren" zu erreichen ist. Die Verarbeitung der markierten ListItems geschieht in einer Action, die einem Menüpunkt im Kontextmenü deiner ListView zugeordnet ist.

marabu

DGL-luke 7. Aug 2005 13:10

Re: listview selected schleife?
 
auch ist ein selectall mit nachfolgender bearbeitung aller selektierten items herzlicxh sinnlos - da kann man auch gleich die selektion lassen wie sie ist und einfach alle bearbeiten. wenn die selektion nur was kosmetisches ist, kann man das anders machen.

jolomino 13. Aug 2005 20:05

Re: listview selected schleife?
 
also,
ich versuche es momentan ohne zeilen zu markieren

Delphi-Quellcode:
var
    i : integer;
    Item : TListItem;

begin
   for i:=0 to ListView1.Items.Count-1 do begin

       Item := ListView1.Items.Item[i]
       // Hier soll dann die verarbeitung sattfinden
   end;
end;
nun möchte ich aber, das wirklich step by step das listview abgearbeitet wird. es sollen max. 3 zeilen im listview bearbeitet werden, ist eine fertig, soll die nächste bearbeitet werden. so das immer 3 zeilen in bearbeitung sind. wie stelle ich das an, muss ich da nen zähler oder so setzen? muss ich da das abarbeiten in der schleife überwachen, mit rüchgabewert? hab keinen blassen :cry:

gruss jolomino

marabu 13. Aug 2005 20:14

Re: listview selected schleife?
 
Hallo jolomino,

Zitat:

Zitat von jolomino
es sollen max. 3 zeilen im listview bearbeitet werden, ist eine fertig, soll die nächste bearbeitet werden. so das immer 3 zeilen in bearbeitung sind

was meinst du damit?

Grüße vom marabu

jolomino 14. Aug 2005 07:53

Re: listview selected schleife?
 
nun ja,
mit
Delphi-Quellcode:
for i:=0 to ListView1.Items.Count-1 do begin

       Item := ListView1.Items.Item[i]
       // Hier soll dann die verarbeitung sattfinden
   end;
wird ja die ganze listview aufeinmal abgearbeitet. nun möchte ich nur die ersten 3 zeilen bearbeiten, wegen der übersicht. wenn die drei zeilen fertig sind, sollen die nächsten 3 bearbeitet werden. oder besser gesagt, wen die ersten 3 zeilen in bearbeitung sind und eine davon ist eher fertig als die anderen 2, soll wieder eine zeile dazu in bearbeitung gehen. naja, wie gesagt, das halt immer 3 zeilen in bearbeitung sind, bis ich am ende der liste angekommen bin.

gruss jolomino

Sharky 14. Aug 2005 08:11

Re: listview selected schleife?
 
Hai jolomino,

das was Du vorhast kannst Du nur mit Threads lösen. Du müsstest also für jede "Item-Bearbeitung" einen Thread erzeugen dem Du die Daten für die Bearbeitung übergibst. Wenn nun ein Thread fertig ist bekommt er die Daten von dem nächsten Item.

Von der Geschwindigkeit dürfte das aber kaum schneller sein als die sequentielle Abarbeitung der Daten.

tigerman33 14. Aug 2005 09:20

Re: listview selected schleife?
 
Im Gegenteil, sogar noch langsamer. Oder sagen wir mal zumindest aufwändiger (neue Rechtschreibung? Schreibt man doch jetzt so, oder? :?: ). Denn jetzt müsstest du noch zusätzlichen Code schreiben, der verhindert, dass die Threads gleichzeitig auf ein Item zugreifen. Dazu musst du sie "synchronisieren", also kurz unterbrechen. Dann bist du mit einer sequentiellen Bearbeitung aber schon mal schneller...

DGL-luke 14. Aug 2005 11:45

Re: listview selected schleife?
 
ich finde auch, dass das nur zusatzarbet ist.

einfach die liste komplett durchlaufen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:43 Uhr.
Seite 2 von 3     12 3      

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