![]() |
Re: Hilfe ( Lies X Position)
Zitat:
|
Re: Hilfe ( Lies X Position)
Delphi-Quellcode:
an dieser Stelle sagt Delphi ungenuegende Parameter.
begin
Bogen := TBogen.Create; Heisst das, dass ich alle Parameter, wie z. B
Delphi-Quellcode:
eingeben muss?
TBogen.Create (Zeichenflaeche: TForm; XPos, YPos, Breite, Hoehe :Integer; Farbe: TColor);
|
Re: Hilfe ( Lies X Position)
Dann gib ihm doch die Werte
Delphi-Quellcode:
äh ... bevor du dass jetzt einfach so übernimmst, du musst natürlich die passenden Werte übergeben :mrgreen:
TBogen.Create ( EineBeliebigeForm, 1, 2, 3, 4, clBlack);
|
Re: Hilfe ( Lies X Position)
Koennt ihr mir bitte erklaeren, was die aktuelle X werte auszugebe, heisst ...?
|
Re: Hilfe ( Lies X Position)
Zitat:
Wir kennen den ProgrammCode nicht, wie sollen wir dir da sagen, was da rauskommen soll??? Oder was das bedeuten soll??? |
Re: Hilfe ( Lies X Position)
Delphi-Quellcode:
So sieht mein komplette Baukasten aus.
onstructor TBogen.Create (Zeichenflaeche: TForm; XPos, YPos, Breite, Hoehe :Integer; Farbe: TColor);
// mit diesem Befehl rufe ich TBogen auf. Aber dabei muss alles eingeben werden, was in Klammern steht. begin zZF := Zeichenflaeche; zX := XPos; zY := YPos; zB := Breite; zH := Hoehe; zFarbe := Farbe; // hier wird bestimmt, wie die Eingabe heissen. end; procedure TBogen.Zeichnen; var FarbeAlt: TColor; E1,E2,E3,E4 : TPoint; K1,K2,K3,K4,K5,K6,K7 : TPoint; // Um TBogen zu zeichnen braucht man alle diese Werte. begin zSichtbar := true; with zZF.Canvas do begin FarbeAlt := Brush.Color; Brush.Color := zFarbe; E1:= Point (zX,zY); E2:= Point (zX,zY-zH); E3:= Point (zX+zB, zY-zH); E4:= Point (zX+zB,zY); // Zuerst werden vier Punkte gezeichnet. K1 := Point (zX+Round(0.8*zB),zY); K2 := Point (zX+Round(0.7*zB),zY-Round(0.15*zB)); K3 := Point (zX+Round(0.5*zB),zY-Round(0.25*zB)); K4 := Point (zX+Round(0.3*zB),zY-Round(0.15*zB)); K5 := Point (zX+Round(0.2*zB),zY); // Danach werden weitere fuenf Punkte gezeichnet Polygon([E1,E2,E3,E4,K1,K2,K3,K4,K5]); Brush.Color:= FarbeAlt; end; end; procedure TBogen.Loeschen; var FarbeAlt: TColor; E1,E2,E3,E4 : TPoint; K1,K2,K3,K4,K5,K6,K7 : TPoint; begin zSichtbar := true; with zZF.Canvas do begin FarbeAlt := Brush.Color; Brush.Color := clWhite; Pen.Color := clWhite; E1:= Point (zX,zY); E2:= Point (zX,zY-zH); E3:= Point (zX+zB, zY-zH); E4:= Point (zX+zB,zY); K1 := Point (zX+Round(0.8*zB),zY); K2 := Point (zX+Round(0.7*zB),zY-Round(0.15*zB)); K3 := Point (zX+Round(0.5*zB),zY-Round(0.25*zB)); K4 := Point (zX+Round(0.3*zB),zY-Round(0.15*zB)); K5 := Point (zX+Round(0.2*zB),zY); Polygon([E1,E2,E3,E4,K1,K2,K3,K4,K5]); Brush.Color:= clWhite; end; end; procedure TBogen.SetzeFarbe (Farbe: TColor); begin zFarbe := Farbe; Zeichnen; end; procedure TBogen.SetzePosition (XPos, YPos: Integer); begin Loeschen; zX := XPos; zY := YPos; Zeichnen; end; function TBogen.LiesXPosition: Integer; begin LiesXPosition := zX ; end; function TBogen.LiesYPosition: Integer; begin LiesYPosition := zY ; end; end. Alles was in diesem Baukasten stehen, muessen wir in der eigenen Klasse rufen und benutzen. Bis function LiesXPosition habe ich alles geschaft.
Delphi-Quellcode:
unit mBauen1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, mZeichenfenster1, mBaukasten1, mGebaeude; type TFrmMain = class(TForm) btZeichenfenster: TButton; Button1: TButton; Button3: TButton; Button2: TButton; Button4: TButton; Button5: TButton; Button6: TButton; procedure btZeichenfensterClick(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); private test : TBogen; Zeichenfenster : TFrmZeichnen; public { Public-Deklarationen } end; var FrmMain: TFrmMain; implementation {$R *.DFM} procedure TFrmMain.btZeichenfensterClick(Sender: TObject); begin Zeichenfenster := TFrmZeichnen.Create (FrmMain); Zeichenfenster.Show; end; procedure TFrmMain.Button1Click(Sender: TObject); begin test := TBogen.Create(zeichenfenster,100,100,100,70,clGreen) ; test.Zeichnen; end; procedure TFrmMain.Button2Click(Sender: TObject); begin test.SetzeFarbe (clBlack); end; procedure TFrmMain.Button3Click(Sender: TObject); begin test.Loeschen; end; procedure TFrmMain.Button4Click(Sender: TObject); begin test.Loeschen; test.SetzePosition (200, 200); test.Zeichnen; end; procedure TFrmMain.Button5Click(Sender: TObject); // LiesXPosition end; procedure TFrmMain.Button6Click(Sender: TObject); begin // LiesYPosition end; end. |
Re: Hilfe ( Lies X Position)
Zitat:
|
Re: Hilfe ( Lies X Position)
Das mit dem Code-Fragment ist ja ein schöner Anfang, aber
gib uns die GESAMTE Unit, wo die Klasse TBogen definiert ist. Es sein denn, diese Unit enthält den geheimen Code zur Übernahme der Weltherrschaft, dann können wir verstehen, dass wir nur diese Schnipselchen bekommen. |
Re: Hilfe ( Lies X Position)
Delphi-Quellcode:
Meinst du das hier ? Sir Rufo?
type TBogen = class (TObject)
private zZF: TForm; zX, zY, zB, zH : Integer; zFarbe: TColor; zSichtbar: Boolean; public constructor Create (Zeichenflaeche: TForm; XPos, YPos, Breite, Hoehe:Integer; Farbe: TColor); // destructor Destroy; {geerbt} procedure Zeichnen; procedure Loeschen; procedure SetzeFarbe (Farbe: TColor); procedure SetzePosition (XPos, YPos: Integer); function LiesXPosition: Integer; function LiesYPosition: Integer; end; |
Re: Hilfe ( Lies X Position)
Auch ...
bei mir sieht eine Unit so aus:
Delphi-Quellcode:
Also wir hätten gerne alles zwischen "unit" und "end." inklusive der beiden.
unit DieUnitMitDemNamenUnit; // <-- Hier fängt die Unit an
interface type TWeltherrschaft = class private public constructor Create; end; implementation constructor TWeltherrschaft.Create; begin inherited Create; end; end. // <-- Hier hört die Unit auf Kann doch nicht so schwer sein, bei der Unit mBauen1 hast du es ja auch geschafft. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:33 Uhr. |
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