Einzelnen Beitrag anzeigen

KingMax

Registriert seit: 30. Aug 2009
7 Beiträge
 
#1

Schalter Programm, Hilfe gesucht!

  Alt 1. Nov 2009, 21:54
Guten Abend,
im Rahmen einer Aufgabe soll ich ein Programm "Schalter" programieren, wobei auf einer Form per ButtonKlick auf zufälligen Positionen jeweils zufällig große Bit-Buttons erstellt werden, die alle die Caption "Aus" haben, und sobald man einen anklickt auf "An" gehen sollen. Erst wenn man nochmal darauf klickt, ändert sich die Caption wieder zu "Aus". Insgesamt verwende ich zwei Units.

Hier mein Problem: ich habe das Programm soweit programmiert, unter anderem habe ich einen Constructor (Create) überschrieben, doch bei der Ausführung kommt die Fehlermeldung, die Deklaration weiche von der ursprünglichen Deklaration ab. Ich weiß nicht wie ich diesen Fehler beheben kann!

Hier der Quelltext:

Delphi-Quellcode:
unit mSchalter;

interface

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

type
  TForm1 = class(TForm)
    BtGruenPanel: TButton;
    procedure BtGruenPanelClick(Sender: TObject);
  private
    { Private-Deklarationen }
  Gedrueckt: Boolean;
  public
    { Public-Deklarationen }
  constructor Create (AOwner:TComponent; Farbe:TColor); override;
  end;


type
TBuntSchalter = Class (TBuntPanel)
protected

procedure MouseDown (Button: TMouseButton; Shift: TShiftState; X,Y: Integer);override;
procedure MouseUp (Button: TMouseButton; Shift: TShiftState; X,Y: Integer); override;
end;

                                                  
var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.BtGruenPanelClick(Sender: TObject);
var GruenPanel: TGruenPanel;
    MyBuntSchalter: TBuntSchalter;
begin

  GruenPanel:=TGruenPanel.Create(Form1);
  GruenPanel.Parent:=Form1;
  GruenPanel.Left:=200;
  GruenPanel.Height:=50;

  MyBuntSchalter:=TBuntSchalter.Create(Form1);
  MyBuntSchalter.Parent:=Form1;
  MyBuntSchalter.BringToFront;
end;

procedure TBuntSchalter.MouseDown (Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
   if Gedrueckt
   then begin
   BevelOuter := bvRaised;
   Caption := 'aus';
   inherited MouseUp (Button,Shift,X,Y)
   end
 else begin
   BevelOuter := bvLowered;
   Caption := 'an';
   inherited MouseDown (Button, Shift,X,Y);
 end;
 Gedrueckt := Not Gedrueckt;
end;

procedure TBuntSchalter.MouseUp (Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begin
end;

constructor TBuntSchalter.Create(AOwner:TComponent; Farbe:TColor);
begin
   inherited Create(AOwner, Farbe);
   Caption := 'aus';
   Gedrueckt := False;
end;


end.


Unit 2:



Delphi-Quellcode:
unit mPanelDemo;

interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,ExtCtrls, Buttons;
type TGruenPanel = class (TBitBtn)

public
        constructor Create (AOwner:TComponent);virtual;
        end;


        type TBuntPanel = class (TBitBtn)
        public
        constructor Create (AOwner:TComponent);virtual;
        end;





implementation

constructor TGruenPanel.Create (AOwner:TComponent);
begin
        inherited Create (AOwner);
        Color:=clGreen;
        BorderWidth:=1;
        BevelOuter:=bvNone;
        BevelInner:=bvRaised;
        BevelWidth:=4;
end;

constructor TBuntPanel.Create (AOwner:TComponent);
begin
        inherited Create (AOwner);
        randomize;
        Color:=RGB(Random(256), Random(256), Random(256));
        BorderWidth:=1;
        BevelOuter:=bvNone;
        BevelInner:=bvRaised;
        BevelWidth:=4;
        left:=random(200);
        Width:=random(300);
        height:=random (200);
        top:=random(450);
        Caption := 'aus';
end;
end.
  Mit Zitat antworten Zitat