Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Source verschönern (https://www.delphipraxis.net/16648-source-verschoenern.html)

tuxic 20. Feb 2004 22:13


Source verschönern
 
Hi ihrs,
ihr kennt das doch sicher auch, man versucht sein Programm in viele kleine Stücke (Units) aufzuteilen, um den Source schön übersichtlich zu machen. Doch leider wird das Programm immer größer und die Ereignis-Prozeduren und "Ausgabe-Funktionen" (also die die irgendwas im Formular darstellen z.b. irgendwas in den Titel schreiben....) immer mehr. Da ist es schnell vorbei mit der übersichtlichkeit. Leider kann man die Prozeduren auch nicht auslagern, weil sie ja in der Klasse der Form (z.b. TForm1) stehen müssen, weil man sonst kein zugriff auf die Objekte hat.

Also meine Frage, wie kann man den Source übersichtlicher machen?

Ich hoffe das ist hier nicht all zu unpassend, da das ja eigentlich "nur" an der OOP scheitert... ich kann mich dran erinnern das ich das in Pascal anders gelöst hatte :)
Falls nicht möge der Moderator sein Finger auf mich nieder strecken *duck* :) :cheers: :freak:

MfG Daniel

Taladan 20. Feb 2004 22:20

Re: Source verschönern
 
Ich kopiere bei längeren Units die Prozeduren und Funktionen so, das sie nach Alphabet und Nutzen/Funktion (z. B. alle Buttonfunktionen dann alle Editfunktionen usw.) nacheinander geschrieben sind.

Luckie 20. Feb 2004 22:24

Re: Source verschönern
 
Wieso? Über nimm die Unit des Formulars in deine Unit, dann kannst du auf öffentliche Variablen mit Form1.xsowoieso auf die Variable xsowieso zugreifen.

Generell würde ich aber alles so aufbauen, dass Code von der Oberfläche geternnt ist. Also so was:

Delphi-Quellcode:
function Tuwas(s: String): String;
begin
  result := ...;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  s: String;
begin
  s := Tuwas(Edit1.Text);
end;
Und nicht so:
Delphi-Quellcode:
function TForm1.Tuwas: String;
begin
  result := Edit1.Text;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  s: String;
begin
  s := Tuwas;
end;
So hast du den funktionalen Code von der Oberfläche getrennt. Ist besser wiederverwertbar, da unabhängig vom Formular. Übersichtlicher und einfacher zu warten.

tuxic 20. Feb 2004 22:29

Re: Source verschönern
 
Zitat:

Zitat von Luckie
Wieso? Über nimm die Unit(A) des Formulars in deine Unit(B), dann kannst du auf öffentliche Variablen mit Form1.xsowoieso auf die Variable xsowieso zugreifen.

naja, aber um dann auf die Unit(B) zuzugreifen, muss ich in der Formularunit(A) ein uses Eintrag für Unit(B) machen, oder? Dann würde ich doch zwei Units auf einander zeigen... das geht soweit ich weiß nicht...

MfG
Daniel

Luckie 20. Feb 2004 22:42

Re: Source verschönern
 
Doch geht:
Delphi-Quellcode:
unit UnitA

interface

uses ..., ..., ..., UnitB;
Delphi-Quellcode:
unit UnitB

interface
 
uses ..., ..., ...;

implementation

uses UnitA;

tuxic 20. Feb 2004 23:14

Re: Source verschönern
 
Zitat:

Zitat von Luckie
Doch geht:
Delphi-Quellcode:
unit UnitA

interface

uses ..., ..., ..., UnitB;
Delphi-Quellcode:
unit UnitB

interface
 
uses ..., ..., ...;

implementation

uses UnitA;

cool, thx... ich glaub das kann ich gut gebrauchen... ich wusst gar nicht das es da ein Unterschied gibt, wo man die uses-Klausel einträgt...


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