Autor Beitrag
Bernd59
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Di 22.12.09 14:19 
Hallo,

ich habe erst seit kurzem mit Delphi angefangen und habe nun ein Problem. Bei einem unserer Programme sollen wir einen Kreis zeichnen. Das funktioniert auch nur ist das Problem das der Radius immer gleich bleibt, obwohl ich ein SpindEdit eingefügt habe
Anbei habe ich meinen Quelltext dazugefügt
Gruß

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
unit UnitHF;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, Buttons, Spin;
type TKreis=class(TObject)
  private
  xmp,ymp,radius: integer;
  imi    : TImage;

  public
  procedure setmitte (x,y:integer);
  procedure setImi   (im :TImage);
  procedure Malen;
  procedure setradius(r :integer);

end;
type
  TForm1 = class(TForm)
    Panel1: TPanel;
    BitBtn1: TBitBtn;
    Image1: TImage;
    SpinEdit1: TSpinEdit;
    procedure FormShow(Sender: TObject);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpinEdit1Change(Sender: TObject);
  private
    Kreis: TKreis;

  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TKreis.setmitte(x,y : integer);
begin
     xmp:=X;
     ymp:=y;
end;

procedure TKreis.setimi   (im :TImage);
begin
     imi:=im;
end;

procedure TKreis.malen;
begin
 imi.canvas.ellipse(xmp-50,ymp-50,xmp+50,ymp+50);
end;

procedure TForm1.FormShow(Sender: TObject);
begin
Kreis:=TKreis.create;
Kreis.setimi(image1);
Kreis.setradius(50);
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
Kreis.setmitte(x,y);
Kreis.malen;
end;

procedure TKreis.setradius(R: integer);
begin
 radius:=r;
end;

procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
Kreis.setradius(Spinedit1.value);
end;
end.


Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Di 22.12.09 14:23 
naja, du legst in TKreis.Malen den Radius auch fix auf 50 ;) da müsste wohl anstelle von

ausblenden Delphi-Quelltext
1:
2:
3:
4:
imi.canvas.ellipse(xmp-50,ymp-50,xmp+50,ymp+50);
//eher sowas: 
imi.canvas.ellipse(xmp-radius,ymp-radius,xmp+radius,ymp+radius); 
//stehen.
Bernd59 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Di 22.12.09 14:36 
Hey danke für die schnelle und gute Antwort.
Nun haben wir noch zusätzliche Aufgaben bekommen

Wir sollen eine weitere Klasse einfügen, die von TKreis abgeleitet wird (TEllipse)
Nun habe ich den Quelltext folgendermaßen verändert (Veränderung schwarz hinterlegt)
Moderiert von user profile iconNarses: Bold- durch Highlight-Tags ersetzt.

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
unit UnitHF;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, Buttons, Spin;

type TKreis=class(TObject)
private
xmp,ymp,radius: integer;
imi : TImage;

public
procedure setmitte (x,y:integer);
procedure setImi (im :TImage);
procedure Malen;
procedure setradius(r :integer);

end;
type TEllipse=class(TKreis)
private 

public

end;

type
TForm1 = class(TForm)
Panel1: TPanel;
BitBtn1: TBitBtn;
Image1: TImage;
SpinEdit1: TSpinEdit;
procedure FormShow(Sender: TObject);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure SpinEdit1Change(Sender: TObject);
private
Kreis: TKreis;

public
{ Public-Deklarationen }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

Nun heißt es in der Aufgabe das wir bei private einen Verzerrungsfaktor setzen müssen (der Wert beträgt 5). Muss ich da jetzt einfach eine Variable namens Verzerrungsfaktor : integer definieren?
Bei Public müssen wir eine procedure setzen womit der Faktor gesetzt werden kann sowie eine procedure mit der die Ellipse gemalt werden kann
die procedure ellimalen (ellipse) ist doch so ähnlich wie bei dem Kreis in dem man den Radius bestimmt hat? Nun muss man sie nur anderst strecken( mit Verzerrungsfaktor)?

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Di 22.12.09 14:45 
stimmt soweit... auf jeden Fall empfehle ich dir, im Informatikunterricht selbst mitzuarbeiten :D ansonsten, benutz mal bitte Delphi-Tags *MODERAAAAATOOOOOOOR Schrei*

€: eine Ellipse hat halt eben einen X-Radius und einen Y-Radius *scratch*


Zuletzt bearbeitet von FinnO am Di 22.12.09 14:48, insgesamt 1-mal bearbeitet
thepaine91
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 763
Erhaltene Danke: 27

Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
BeitragVerfasst: Di 22.12.09 14:46 
Ich würde mal davon ausgehen du weist doch was du zu tun hast dann tu es doch einfach erst mal. ;)
Davon abgesehen ist die Aufgabestellung doch sehr eindeutig.
Bernd59 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Di 22.12.09 15:04 
Mal ne Frage: Wie füge ich diese Tags ein, damit es besser lesbar wird?
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Di 22.12.09 15:06 
oben im Editor auf Bereiche -> Delphi -> +
Bernd59 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Di 22.12.09 15:08 
Ok, ich habe es nun soweit gemacht nun hänge ich wieder
Ich habe bei TEllipse private und public belegt
Zusätzlich habe ich bei TForm1 TEllipse eingefügt
Nun soll ich bei Show elli erzeugen und die Werte setzen. Sind die Werte für den Verzerrungsfaktor gemeint? Wie setze ich die?
elli hat alle Werte von TKreis und die eigenen. Muss ich nun für die Ellipse jedes mal eine eigene Procedure erstellen?

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
unit UnitHF;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, Buttons, Spin;
type TKreis=class(TObject)
     private
     xmp,ymp,radius: integer;
     imi    : TImage;

     public
     procedure setmitte (x,y:integer);
     procedure setImi   (im :TImage);
     procedure Malen;
     procedure setradius(r :integer);
end;

type TEllipse=class(TKreis)
     private
     verzerrungsfaktor : integer;

     public
     procedure Faktorsetzen;
     procedure ellimalen;

end;
type
  TForm1 = class(TForm)
    Panel1: TPanel;
    BitBtn1: TBitBtn;
    Image1: TImage;
    SpinEdit1: TSpinEdit;
    procedure FormShow(Sender: TObject);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpinEdit1Change(Sender: TObject);
  private
    Kreis: TKreis;
    elli:  TEllipse;

  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}
procedure TKreis.setmitte(x,y : integer);
begin
     xmp:=X;
     ymp:=y;
end;
procedure TKreis.setimi   (im :TImage);
begin
     imi:=im;
end;
procedure TKreis.malen;
begin
 imi.canvas.ellipse(xmp-radius,ymp-radius,xmp+radius,ymp+radius);
end;

procedure TForm1.FormShow(Sender: TObject);
begin
Kreis:=TKreis.create;
Kreis.setimi(image1);
elli:=TEllipse.create;
elli.setimi.(image1);
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
Kreis.setmitte(x,y);
Kreis.malen;
end;
procedure TKreis.setradius(R: integer);
begin
 radius:=r;
end;
procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
Kreis.setradius(Spinedit1.value);
end;
procedure TEllipse.Faktorsetzen;
begin
Verzerrungsfaktor:=5;
end;
procedure TEllipse.ellimalen;
begin
imi.canvas.ellipse(xmp-verzerrungsfaktor,ymp-radius,xmp+verzerrungsfaktor,ymp+radius);
end;
end.
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Di 22.12.09 15:10 
naja, ein Faktor hat mit addition wenig zu tun. Wie wäre es mit Multiplikation? Und, es wäre u.U. ganz sinnig, wenn "Faktorsetzen" den Faktor als Parameter kriegt, wie z.B. imiSetzen...
Bernd59 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Di 22.12.09 15:51 
Ok ich habe nun alle Procedures erstellt um die Ellipsen zu zeichnen, allerdings zeichnet das Programm mir noch keine :?
Was meintest du denn mit Parameter setzen (Faktorsetzen)
Schlussendlich muss ich es noch so einstellen das wenn ich die linke Maustaste drücke der Kreis gezeichnet wird und bei der rechten Maustaste die Ellipse, allerdings haben wir den Befehl für links und rechts noch nicht behandelt
Könnt ihr mir ihn sagen
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
unit UnitHF;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, Buttons, Spin;
type TKreis=class(TObject)
     private
     xmp,ymp,radius: integer;
     imi    : TImage;

     public
     procedure setmitte (x,y:integer);
     procedure setImi   (im :TImage);
     procedure Malen;
     procedure setradius(r :integer);
end;

type TEllipse=class(TKreis)
     private
     verzerrungsfaktor : integer;

     public
     procedure setmitte (x,y:integer);
     procedure setImi   (im :TImage);
     procedure setradius(r :integer);
     procedure Faktorsetzen;
     procedure ellimalen;

end;
type
  TForm1 = class(TForm)
    Panel1: TPanel;
    BitBtn1: TBitBtn;
    Image1: TImage;
    SpinEdit1: TSpinEdit;
    procedure FormShow(Sender: TObject);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpinEdit1Change(Sender: TObject);
  private
    Kreis: TKreis;
    elli:  TEllipse;

  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}
procedure TKreis.setmitte(x,y : integer);
begin
     xmp:=X;
     ymp:=y;
end;
procedure TKreis.setimi   (im :TImage);
begin
     imi:=im;
end;
procedure TKreis.malen;
begin
 imi.canvas.ellipse(xmp-radius,ymp-radius,xmp+radius,ymp+radius);
end;

procedure TForm1.FormShow(Sender: TObject);
begin
Kreis:=TKreis.create;
Kreis.setimi(image1);
elli:=TEllipse.create;

end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);

begin
Kreis.setmitte(x,y);
Kreis.malen;
end;
procedure TKreis.setradius(R: integer);
begin
 radius:=r;
end;
procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
Kreis.setradius(Spinedit1.value);
end;

procedure TEllipse.setmitte(x,y : integer);
begin
xmp:=X;
ymp:=y;
end;
procedure TEllipse.Faktorsetzen;
begin
Verzerrungsfaktor:=5;
end;
procedure TEllipse.ellimalen;
begin
imi.canvas.ellipse(xmp*verzerrungsfaktor,ymp-radius,xmp*verzerrungsfaktor,ymp+radius);
end;
procedure TEllipse.setimi   (im :TImage);
begin
     imi:=im;
end;
procedure TEllipse.setradius(r :integer);
begin
radius:=r;
end;
end.
platzwart
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1054
Erhaltene Danke: 78

Win 7, Ubuntu 9.10
Delphi 2007 Pro, C++, Qt
BeitragVerfasst: Di 22.12.09 15:53 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
If Button = mbLeft then
 begin
  ...
 end
else
 If Button = mbRight then
  begin
   ...
  end;

_________________
Wissenschaft schafft Wissenschaft, denn Wissenschaft ist Wissenschaft, die mit Wissen und Schaffen Wissen schafft. (myself)
Bernd59 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Di 22.12.09 16:09 
Danke, aber bei ich weiß nicht genau wo ich das MB Left und MB right einfügen soll?
Ich hab den Quelltext optisch ein bisschen übersichtlicher gemacht.
Nun habe ich das Problem, das wenn ich das Programm starte erst denn Radius ändern muss damit ich einen Kreis zeichen kann
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
unit UnitHF;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, Buttons, Spin;
type TKreis=class(TObject)
     private
     xmp,ymp,radius: integer;
     imi    : TImage;

     public
     procedure setmitte (x,y:integer);
     procedure setImi   (im :TImage);
     procedure Malen;
     procedure setradius(r :integer);
end;

type TEllipse=class(TKreis)
     private
     verzerrungsfaktor : integer;

     public
     procedure setmitte (x,y:integer);
     procedure setImi   (im :TImage);
     procedure setradius(r :integer);
     procedure Faktorsetzen;
     procedure ellimalen;

end;
type
  TForm1 = class(TForm)
    Panel1: TPanel;
    BitBtn1: TBitBtn;
    Image1: TImage;
    SpinEdit1: TSpinEdit;
    procedure FormShow(Sender: TObject);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure SpinEdit1Change(Sender: TObject);
  private
    Kreis: TKreis;
    elli:  TEllipse;

  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}
procedure TKreis.setmitte(x,y : integer);
begin
     xmp:=X;
     ymp:=y;
end;
procedure TKreis.setimi   (im :TImage);
begin
     imi:=im;
end;


procedure TForm1.FormShow(Sender: TObject);
begin
      Kreis:=TKreis.create;
      Kreis.setimi(image1);
      elli:=TEllipse.create;

end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);


begin
      Kreis.setmitte(x,y);
      Kreis.malen;
end;

procedure TKreis.setradius(R: integer);
begin
      radius:=r;
end;

procedure TKreis.malen;
begin
      imi.canvas.ellipse(xmp-radius,ymp-radius,xmp+radius,ymp+radius);
end;

procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
      Kreis.setradius(Spinedit1.value);
end;

procedure TEllipse.ellimalen;
begin
      imi.canvas.ellipse(xmp*verzerrungsfaktor,ymp-radius,xmp*verzerrungsfaktor,ymp+radius);
end;

procedure TEllipse.setmitte(x,y : integer);
begin
      xmp:=X;
      ymp:=y;
end;
procedure TEllipse.Faktorsetzen;
begin
      Verzerrungsfaktor:=5;
end;

procedure TEllipse.setimi   (im :TImage);
begin
      imi:=im;
end;
procedure TEllipse.setradius(r :integer);
begin
      radius:=r;
end;

end.
thepaine91
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 763
Erhaltene Danke: 27

Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
BeitragVerfasst: Di 22.12.09 16:18 
Ganz sicher nicht im OnMouseDown event.
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Di 22.12.09 16:21 
:mrgreen: ne, auf keinen Fall da :P

[/ironie]
Bernd59 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Di 22.12.09 16:22 
ja wo muss ich es dann hineinfügen
Könnt ihr mir sagen warum ich erst denn Radius im SpinEdit ändern muss, bevor ich den Kreis zeichnen kann?
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: Di 22.12.09 16:30 
*ironieschildwedel*

weil du vermutlich vorher keinen Radius gesetzt hast, der dann entweder 0 oder irgendwas perverses á la 123481283 oder so ist.
thepaine91
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 763
Erhaltene Danke: 27

Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
BeitragVerfasst: Di 22.12.09 16:30 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.FormShow(Sender: TObject);
begin
      Kreis:=TKreis.create;
      Kreis.setimi(image1);
      elli:=TEllipse.create;

end;


Hat euer Lehrer das so vorgegeben?
Bernd59 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Di 22.12.09 16:50 
Wenn ich aber
ausblenden Delphi-Quelltext
1:
2:
3:
Kreis:=TKreis.create;
Kreis.setimi(image1);
Kreis.setradius(50);

eingebe dann zeichnet er mir den Kreis mit Radius 50, wenn ich aber dann auf 120 einstelle kann ich nur einen Kreis mit Radius 120 zeichnen, denn beim zweiten Klick springt er wieder auf 50 zurück

Nein, den letzten Befehl mit der Ellipse hab ich selber eingefügt! in der Aufgabe steht: ,,Bei Show dann elli erzeugen und Werte setzen". Deswegen habe ich den Befehl gesetzt, aber wie setzt man die Werte?

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

Erstes Problem braucht ihr nicht erläutern, hab ich gelöst mit

ausblenden Delphi-Quelltext
1:
2:
3:
Kreis:=TKreis.create;
Kreis.setimi(image1);
Kreis.setradius(SPinEdit1.value);

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
thepaine91
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 763
Erhaltene Danke: 27

Win XP, Windows 7, (Linux)
D6, D2010, C#, PHP, Java(Android), HTML/Js
BeitragVerfasst: Di 22.12.09 16:59 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.FormShow(Sender: TObject);
begin
      Kreis:=TKreis.create;
      Kreis.setimi(image1);
      elli:=TEllipse.create;

end;


Wenn die Aufgabenstellung so war beschwer dich von mir bei deinem Lehrer.
Denn (onshow) kann öfter auftreten.

In dem Fall würdest du immer wieder
ausblenden Delphi-Quelltext
1:
2:
3:
Kreis:=TKreis.create;
Kreis.setimi(image1);
elli:=TEllipse.create;

aufrufen.

Naja die folge davon ergibt sich von selbst.
Aber vielleicht denk ich grad auch zu weit. ^^

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Bernd59 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 18



BeitragVerfasst: Di 22.12.09 17:12 
Ich poste hier mal die komplette Aufgabe incl. dem was wir schon gelöst haben
Einloggen, um Attachments anzusehen!