Delphi-PRAXiS

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 Fehler wenn Listview nicht Selected ist. (https://www.delphipraxis.net/64444-fehler-wenn-listview-nicht-selected-ist.html)

wlfmario 3. Mär 2006 18:22


Fehler wenn Listview nicht Selected ist.
 
Hallo zusammen,

ich mache hier irgend etwas Falsch.
In meiner Listview möchte ich wenn ich die Entf. Taste drücke einen Eintrag löschen was nicht das Problem ist.
Nur wenn kei Eintrag Selected ist, verursacht mei Procedure fehler.
Wie kann ich jetzt abfragen ob überhaupt etwas ausgewählt wurde oder nicht ?
Hier mal meine Procedure:

Delphi-Quellcode:
procedure MailLoeschen;
//------------------------------------------
// Gespeicherte Mail Löschen
//------------------------------------------
var
  MailPfadDaten: TMailPfadDaten;
  i: integer;
begin
  with HauptForm.ListView1 do
  begin
    for I := 0 to Items.Count - 1 do
          if (Items.Item[i].Selected) then
        MailPfadDaten := TMailPfadDaten(Items[I].data);
  end;
  DeleteFile(ExtractFilePath(Application.ExeName) +
    '/Mail-In/' + MailPfadDaten.Mailpfad);
  HauptForm.ListView1.DeleteSelected;
  with HauptForm do
  begin
  StatusBar1.Panels.Items[2].Text := 'Anzahl Mails gesammt: ' + IntToStr(ListView1.Items.Count);
  end;
  end;

KingIR 3. Mär 2006 18:35

Re: Fehler wenn Listview nicht Selected ist.
 
Hi,

anstelle von
Delphi-Quellcode:
  with HauptForm.ListView1 do
  begin
    for I := 0 to Items.Count - 1 do
          if (Items.Item[i].Selected) then
        MailPfadDaten := TMailPfadDaten(Items[I].data);
  end;
kannst du das hier benutzen:

Delphi-Quellcode:
if HauptForm.ListView1.SelCount = 0 then
begin
  // Nix ausgewählt...
  exit;
end
else
  MailPfadDaten := TMailPfadDaten(Items[HauptForm.ListView1.Selected.Index].data);
Sollte gehen :coder:

//edit, sry, variable falsch kopiert :P

wlfmario 3. Mär 2006 18:52

Re: Fehler wenn Listview nicht Selected ist.
 
Danke das klappt.

Muetze1 3. Mär 2006 20:42

Re: Fehler wenn Listview nicht Selected ist.
 
Und an Stelle von ...

Zitat:

Zitat von KingIR
Delphi-Quellcode:
if HauptForm.ListView1.SelCount = 0 then
begin
  // Nix ausgewählt...
  exit;
end
else
  MailPfadDaten := TMailPfadDaten(Items[HauptForm.ListView1.Selected.Index].data);

auch einfach nur ...

Delphi-Quellcode:
if Assigned(HauptForm.ListView1.Selected) then
Begin
  MailPfadDaten := TMailPfadDaten(HauptForm.ListView1.Selected.Data);

  // ... etc
End;


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