AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Saubere Programmierung mit Delphi

Ein Thema von Christian18 · begonnen am 15. Mär 2008 · letzter Beitrag vom 16. Mär 2008
Antwort Antwort
Seite 1 von 3  1 23      
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#1

Saubere Programmierung mit Delphi

  Alt 15. Mär 2008, 20:25
Hallo,

da ich sehr viel Wert auf saubere Programmierung lege, habe ich mir folgendes gedacht. Vieleicht könntet ihr euch mal eine Klasse von mir anschauen und mir ein paar Tips geben, was ich vieleicht besser machen kann.

Delphi-Quellcode:
unit UBackground;

interface

uses
  Forms, Graphics;

type
  TBackground = class
  private
    FForm : TForm;
    FColor : Array[0..1] of TColor;
    FDistance : Byte;
  public
    constructor Create(Form: TForm; Color1, Color2: TColor; Distance: Byte);
    procedure Horizontal();
    procedure Vertical();
    destructor Destroy();
  end;

implementation

constructor TBackground.Create(Form: TForm; Color1, Color2: TColor; Distance: Byte);
begin
  FForm:=Form;
  FColor[0]:=Color1;
  FColor[1]:=Color2;
  FDistance:=Distance;
end;

procedure TBackground.Horizontal();
  var i : Integer; // Schleifenvariable
begin
  FForm.Color:=FColor[0];
  FForm.Canvas.Pen.Color:=FColor[1];
  i:=0;
  while i <= FForm.ClientHeight do
    begin
      FForm.Canvas.MoveTo(0, i);
      FForm.Canvas.LineTo(FForm.ClientWidth, i);
      Inc(i, FDistance);
    end;
end;

procedure TBackground.Vertical();
  var i : Integer; // Schleifenvariable
begin
  FForm.Color:=FColor[0];
  FForm.Canvas.Pen.Color:=FColor[1];
  i:=0;
  while i <= FForm.ClientWidth do
    begin
      FForm.Canvas.MoveTo(i, 0);
      FForm.Canvas.LineTo(i, FForm.ClientHeight);
      Inc(i, FDistance);
    end;
end;

destructor TBackground.Destroy();
begin
  FForm.Free();
end;

end.
MFG Christian18
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Saubere Programmierung mit Delphi

  Alt 15. Mär 2008, 20:28
Ich weiß jetzt nicht genau was du meinst? Willst du, dass dir jemand sagt, dass xyz bei abc an der Stelle besser aussieht oder etwas was vielleicht Code technisch einen Vorteil hat?
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Saubere Programmierung mit Delphi

  Alt 15. Mär 2008, 20:30
Es fehlt das inherited beim Destruktor
Markus Kinzler
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Saubere Programmierung mit Delphi

  Alt 15. Mär 2008, 20:34
Wieso gibt du FForm wieder frei? Das Objekt wird doch übergeben?

Wenn ich dort nil übergebe, schützt du deine interne Verarbeitung nicht.

Gruss
Thorsten
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#5

Re: Saubere Programmierung mit Delphi

  Alt 15. Mär 2008, 20:43
Brauche ich denn überhaupt einen Destructor?
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Saubere Programmierung mit Delphi

  Alt 15. Mär 2008, 20:45
Zur Zeit ja, weil du ja deine FForm dort freigibst.

Und den deklariert man dann als override.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Saubere Programmierung mit Delphi

  Alt 15. Mär 2008, 20:45
Eigentlich nicht.
Markus Kinzler
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#8

Re: Saubere Programmierung mit Delphi

  Alt 15. Mär 2008, 20:46
in deinem ersten beitrag klang es so, als müsste ich die form gar nicht freigeben. also könte ich dann den dectructor auch weg lassen.

LG Chris
  Mit Zitat antworten Zitat
1234588

Registriert seit: 14. Jan 2007
Ort: Stuttgart
164 Beiträge
 
#9

Re: Saubere Programmierung mit Delphi

  Alt 15. Mär 2008, 21:08
FForm wird ja normalerweise mit der TBackground instance zerstoert, imho
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#10

Re: Saubere Programmierung mit Delphi

  Alt 15. Mär 2008, 21:15
keine ahnung. würde mich aber freuen, wenn mir jemand ein paar tips gibt wie ich es besser machen kann?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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