Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Rechteck zeichnen lassen (https://www.delphipraxis.net/35688-rechteck-zeichnen-lassen.html)

inst666 10. Dez 2004 18:35


Rechteck zeichnen lassen
 
hi, ich bin neu hier und auch neu im bereich programmieren :)
ich hab eben mal die tutorials von computerbild gelesen und mich daran mal versucht.
man sollt einen button erstellen, der, wenn man auf ihn klickt, ein rechteck zeichnet. ich hab alles prpgrammiert und auch ablaufen lassen, delphi macht auch keine fehler, allerdgins passiert nichts, wenn ich testmodus auf den button klicke. vll kann mir ja jmd helfen :/
Hier is der quelltext zum programm:

Delphi-Quellcode:
unit rechteck;
// inst666
// 10.12.2004
// Rechteck programmieren
interface

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

type

TGrafikobjekt=class
  x,y :integer;
  fuellfarbe:TColor;
  randFarbe:TColor;
  procedure anzeigen;
  end;

  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}procedure TGrafikObjekt.anzeigen;
  begin
  Form1.canvas.pen.color:=randFarbe ;
  Form1.canvas.brush.color:=fuellFarbe;
  Form1.canvas.rectangle(x,y,x+100,y+100);
  end;

procedure TForm1.Button1Click(Sender: TObject);
 var Grafikobjekt:TGrafikobjekt;
begin
  GrafikObjekt:=TGrafikobjekt.create;
  GrafikObjekt.x:=50;
  GrafikObjekt.y:=60;
  GrafikObjekt.randFarbe:= clGreen ;
  GrafikObjekt.fuellFarbe:=clYellow;
  GrafikObjekt.anzeigen;
  GrafikObjekt.destroy;
end;

end.

Nicolai1234 10. Dez 2004 18:37

Re: Rechteck zeichnen lassen
 
Bitte benutze die [delphi]-Tags damit der Code übersichtler wird!
Benutze den Editbutton ( http://www.delphipraxis.net/template.../icon_edit.gif ), rechts oben an deinem Beitrag um ihn zu editieren! Dann merkieren den Code und drücke auf den Delphi-Code-Button oberhalb der Texteingabe!

Wenn du auf den Button klickst, wird das Bild erst erstellt und danach sofort wieder mit
Code:
GrafikObjekt.destroy;
zerstört! Das muss raus, dann müsste es klappen!

inst666 10. Dez 2004 19:06

Re: Rechteck zeichnen lassen
 
habs editiert, aber auch ohne dieses "destroy" funktioniert es nicht :/

-NIP- 10. Dez 2004 19:16

Re: Rechteck zeichnen lassen
 
irgendwie hast du zwar eine Prozedur namens "Anzeigen",
aber da steht nichts drin :/
hast du da villeicht was übersehen?

-NIP-

Ultimator 10. Dez 2004 19:19

Re: Rechteck zeichnen lassen
 
Irr ich mich, oder hast du gar keinen Constructor für deine Klasse?
Außerdem ist da kein Vorfahrtyp angegeben, du kannst also auf keine Standard-Events reagieren ;-)

-NIP- 10. Dez 2004 19:23

Re: Rechteck zeichnen lassen
 
Hast du eigentlich nicht gelesen, was Ultimator geschrieben hat? ;)
Ultimators Antwort zu dir
Schau dir mal den 3.Punkt an.

-NIP-

inst666 10. Dez 2004 19:42

Re: Rechteck zeichnen lassen
 
constructor ? ich habs nur so gemacht wie computerbild es vorgab ich weiss auch net was ein constructor oder aehnlihces ist, erlaeuterung ? bin halt noch neu im bereich programmieren

DP-Maintenance 10. Dez 2004 20:17

DP-Maintenance
 
Dieses Thema wurde von "Luckie" von "Freeware" nach "Object-Pascal / Delphi-Language" verschoben.
Ist kein Freeware Programm.

chkdsk 10. Dez 2004 20:19

Re: Rechteck zeichnen lassen
 
"ich hab eben mal die tutorials von computerbild gelesen"

Autsch!

Dies ist einer der besten Wege, sich als "Voll-Profi" zu outen, gleich nach: "Ich bin AOL-Nutzer"!

inst666 10. Dez 2004 20:48

Re: Rechteck zeichnen lassen
 
ich hab doch gesagt dass ich neu bin im berecih programmierung und mit irgendwas muss ich ja anfangen. wenn du keine konstruktiven beitraege liefern kannst, dann schreib lieber garnix ...

roderich 10. Dez 2004 21:33

Re: Rechteck zeichnen lassen
 
@inst666:
erst mal hallo und herzlich willkommen beim programmieren und hier im Forum.


muß mal 3 Sachen loswerden:
1. wie mit jemand umgegangen wurde, der sich in etwas einlernen will und freundlich fragt, warum etwas nicht funktioniert,
ist m.E. UNTER ALLER SAU !

2. Dass deshalb nichts angezeigt wird, weil das Grafikobjekt sofort wieder freigegeben wird, ist Unsinn. Das Grafikobjekt zeichnet ja nur auf dem Form-Canvas und nicht auf sich selbst.

3. Wieso braucht man immer einen Vorfahrtyp für eine Klasse bzw. muß immer auf "Standard-Events" (was auch immer das heißen sollte) reagieren ?!


Wenn man jemand nicht weiterhelfen kann, braucht man ihn auch nicht mit blöden Kommentaren niedermachen


Roderich (sauer)

roderich 10. Dez 2004 21:41

Re: Rechteck zeichnen lassen
 
hi inst666,

habs mal auf die Schnelle ausprobiert, da ich auf den ersten Blick keinen Fehler in Deinem Programm sehen konnte.
Bei mir funktioniert's, es wird links oben im Formular ein Rechteck (gelb mit grünem Rand) gezeichnet.

?!?

Gruß
Roderich

Ultimator 10. Dez 2004 21:58

Re: Rechteck zeichnen lassen
 
Zitat:

Zitat von roderich
1. wie mit jemand umgegangen wurde, der sich in etwas einlernen will und freundlich fragt, warum etwas nicht funktioniert,
ist m.E. UNTER ALLER SAU !

An wen war das gerichtet? Aber doch hoffentlich nicht an mich, oder? Ich hab mich ordentlich bemüht, ihm zu helfen, denn ich weiß, wie es ist, so behandelt zu werden, und ich muss sagen: ICH MAG ES AUCH NICHT.
Damit sollte das (im Guten) geklärt sein, hoffe ich ;-)

Zitat:

Zitat von roderich
3. Wieso braucht man immer einen Vorfahrtyp für eine Klasse bzw. muß immer auf "Standard-Events" (was auch immer das heißen sollte) reagieren ?!

Man braucht keinen Vorfahrtyp, das ist schon richtig, aber vielleicht braucht er es später mal für seine Klasse :-)

roderich 10. Dez 2004 22:34

Re: Rechteck zeichnen lassen
 
Ultimator, damit meinte ich den Kommentar von wegen "Computer-Bild" und Voll-Profi.
Find ich mehr als peinlich sowas. :roll:

Stimmt, Du (und andere) haben versucht ihm zu helfen.

Was mich nur geärgert hatte:
1. jemand interessiert sich aus eigener Initiative für eine -für ihn- neue und komplizierte Sache
2. er kauft sich dazu eine Zeitung (ok, die lese ich auch net, aber ist jetzt wurst)
3. es kommen einige Vorschläge, die ihm nicht weiterhelfen konnten (kann passieren)
4. dann kommt besagter Spruch (s.o.)
...
und damit ist der inst666 jetzt möglicherweise das letzte Mal in diesem Forum gewesen, was ich einfach sch...ade finde.


wie gesagt ich hab's auch nicht gesehen wo es klemmt (bei mir geht's ja schliesslich auch). Aber dann ist vielleicht erst mal etwas Zurückhaltung angebracht, bis man sich selber sicher ist, daß man helfen kann.


Gruß
Roderich

bigg 10. Dez 2004 22:42

Re: Rechteck zeichnen lassen
 
Schau dir mal dieses Beispiel an:
http://www.delphipraxis.net/download.php?id=8462

inst666 11. Dez 2004 13:29

Re: Rechteck zeichnen lassen
 
jo vielen danke an euch, ich werds ma ausprobieren :)


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