Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi [OO] checklistbox erweitern (https://www.delphipraxis.net/78364-%5Boo%5D-checklistbox-erweitern.html)

Go2EITS 3. Okt 2006 20:24


[OO] checklistbox erweitern
 
Meine Frage an die DP.

Ich stehe mit OO auf Kriegsfuss. Bevor ich nun eine Woche benötige, um mich reinzulesen, traue ich mich mal hier her und frage, wie ich die Checklistbox um eine Boolean Funktion erweitere:
Dies dürfte auch für andere User der DP interessant sein.

Es scheint unter den Methoden der Checklistbox keine zu geben, die alle Einträge, die mit Hacken versehen sind, zu löschen. Daher mein "Rahmen:"
Delphi-Quellcode:
Procedure DeleteChecked:Boolean;
begin
result:=False
if checklistbox1.SelCount=0 then exit;
for i:=checklistbox1.count-1 downto 0 do
  begin
   if checklistbox1.Checked[i]=true then
    checklistbox1.items.Delete(i);
end;
result:=true;
end;
Wie gehe ich vor, um diese Methode zu ergänzen?
Danke für die Hilfe im voraus!

Go2EITS

mkinzler 3. Okt 2006 20:28

Re: [OO] checklistbox erweitern
 
Leite dir ne eigene Klasse von TChecklistbox ab und erweitere diese um diese Methode.

Delphi-Quellcode:
type
   TnChecklistbox = class( TChecklistbox)
      function DeleteChecked:Boolean;
   end;

function TnChecklistbox.DeleteChecked:Boolean;
...

Go2EITS 3. Okt 2006 20:41

Re: [OO] checklistbox erweitern
 
Hallo mkinzler,
danke für die schnelle Antwort.

Der Compiler meckert.
Implementation erwartet. Ich habe den Code nach Type Form1 und dem var Form1: TForm1;
vor die Implementation eingefügt. Ich habe natürlich den Code verschoben, aber da fehlt mir Know how, dass der Copiler es ohne Nörgeln annimmt.

Hast Du noch einen Tipp für mich übrig?

mkinzler 3. Okt 2006 20:47

Re: [OO] checklistbox erweitern
 
Was beanstandet der Compiler? Zeigm al die ganze Unit.

Go2EITS 3. Okt 2006 20:55

Re: [OO] checklistbox erweitern
 
Delphi-Quellcode:
unit mytest;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, CheckLst, Buttons;

type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
var
  Form1: TForm1;

  type
   TnChecklistbox = class( TChecklistbox)
      function DeleteChecked:Boolean;
end;

implementation

{$R *.dfm}

end.
Hab es in eine Testform verfrachtet. In einer Unit allein habe ich es auch nicht zum Compilieren gebracht. Da muss wohl die Unit mit der Checklistbox-Klasse wohl eingebunden sein.
Jetzt die Fehlermeldung:
Ungenügende Forward- oder External-Deklaration...

mkinzler 3. Okt 2006 20:58

Re: [OO] checklistbox erweitern
 
Es fehlt ja uach dei Implementierung der Methode.

Go2EITS 3. Okt 2006 21:02

Re: [OO] checklistbox erweitern
 
:wall:
Ich dachte, die könnte ich später einzufügen. Es geht natürlich. Jetzt hab ich den Einstieg.

Herzlichen Dank und guten Abend noch, mkinzler.
Go2EITS


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