Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Suche Datenbank für eigene Codebausteine (https://www.delphipraxis.net/87484-suche-datenbank-fuer-eigene-codebausteine.html)

davar 1. Mär 2007 10:47


Suche Datenbank für eigene Codebausteine
 
Hallo Leute,

bei der Programmierung benutzt man ja öfters denselben Quellcode in verschiedenen Anwendungen. Wie verwaltet ihr für diesen Fall eure Codeschnipsel eigentlich? Gibt es da eine Software, die ihr mir empfehlen könnt?

hsg 1. Mär 2007 10:49

Re: Suche Datenbank für eigene Codebausteine
 
ich benutze den DevProject-Manager hier aus dem Forum (unter Freeware zu finden)
Damit kann ich gleichzeitig auch andere Sachen projektabhängig verwalten (ToDo-Liste, Notizen ohne Ende, Dokumente etc)

Bernhard Geyer 1. Mär 2007 12:32

Re: Suche Datenbank für eigene Codebausteine
 
Zitat:

Zitat von davar
bei der Programmierung benutzt man ja öfters denselben Quellcode in verschiedenen Anwendungen

Wenns etwas mehr als ein 2-Zeiler ist würde ich überlegen ein Funktionsbibliothek anzulegen.
Ansonsten verwendest Du das Anti-Pattern "Programmierung mittels Copy & Paste"

shmia 1. Mär 2007 12:58

Re: Suche Datenbank für eigene Codebausteine
 
Zitat:

Zitat von davar
bei der Programmierung benutzt man ja öfters denselben Quellcode in verschiedenen Anwendungen. Wie verwaltet ihr für diesen Fall eure Codeschnipsel eigentlich?

Die Prozeduren, Funktionen und Klassen werden so geschrieben, dass Sie universell einsetzbar sind und keine Abhängigkeiten zu einem Projekt haben.
Diese werden dann Themenbezogen in Units eingebaut.
Die Units haben auf der Festplatte immer den gleichen Pfad (bei mir C:\Delphi\Lib).
Mit der Zeit sammeln sich dort immer mehr Units an, die in diversen Projekten eingebunden sind.

gsh 1. Mär 2007 13:03

Re: Suche Datenbank für eigene Codebausteine
 
Also ich hab einen ordner in dem viele kleine TXT files liegen
und wenn es dort nicht ist dann kopier ich mir die untis oder den code aus anderen projekten :mrgreen:

davar 6. Jun 2007 10:49

Re: Suche Datenbank für eigene Codebausteine
 
Zitat:

Zitat von shmia
Die Prozeduren, Funktionen und Klassen werden so geschrieben, dass Sie universell einsetzbar sind und keine Abhängigkeiten zu einem Projekt haben.
Diese werden dann Themenbezogen in Units eingebaut.
Die Units haben auf der Festplatte immer den gleichen Pfad (bei mir C:\Delphi\Lib).
Mit der Zeit sammeln sich dort immer mehr Units an, die in diversen Projekten eingebunden sind.

Das klingt für mich logisch. Wie ist es aber, wenn weitere Komponenten auch miteinbezogen werden müssen?

Beispiel Datenbanken. Ideal wäre für mich, wenn ich in jeder Datenbank, die ich erstelle, eine Funktion "DatensatzAuslesen" immer wieder verwenden könnte. Die einzelnen Felder würden dann in ein record (z.B. Datensatz) geschrieben und ich könnte mittels "datensatz.name", "datensatz.vorname" die einzelnen Felder ansprechen.

Nun muss ich ja auch eine Query-Komponente mit einbinden, damit der Datensatz überhaupt ausgelesen werden kann. Wie lagere ich das nun aus?



P.S.: vielleicht rede ich jetzt etwas wirr, ich beschäftige mich seit einiger Zeit mit diesem Thema und habe nun kein klares Bild mehr.....

shmia 6. Jun 2007 11:08

Re: Suche Datenbank für eigene Codebausteine
 
Zitat:

Zitat von davar
Beispiel Datenbanken. Ideal wäre für mich, wenn ich in jeder Datenbank, die ich erstelle, eine Funktion "DatensatzAuslesen" immer wieder verwenden könnte. Die einzelnen Felder würden dann in ein record (z.B. Datensatz) geschrieben und ich könnte mittels "datensatz.name", "datensatz.vorname" die einzelnen Felder ansprechen.

Nun muss ich ja auch eine Query-Komponente mit einbinden, damit der Datensatz überhaupt ausgelesen werden kann. Wie lagere ich das nun aus?

Alle Query und Table-Komponenten werden von TDataSet abgeleitet.
Also sollte man wann immer möglich nur Parameter der Klasse TDataset übergeben.
Beispiel:
Delphi-Quellcode:
// die Funktion FieldAvailable prüft, ob ein Feld existiert und ob es einen Inhalt hat
// (also nicht NULL ist)
function FieldAvailable(ds:TDataSet; const fn:string):Boolean;
begin
   Result := (ds.FindField(fn) <> nil) and
             (not ds.FieldByName(fn).IsNull);
end;
Man hätte statt dem TDataSet natürlich auch einen TQuery-Parameter übergeben können;
das wäre aber ziemlich dumm, da TDataset ja ausreichend ist.

davar 6. Jun 2007 11:26

Re: Suche Datenbank für eigene Codebausteine
 
Hmmmmm.....

Es fehlt mir einfach ein Gesamtbild. Gibt es denn vielleicht ein OS-Projekt oder sonst irgendeinen Quelltext, was ich mir als ein komplettes Projekt mal anschauen könnte, das als "ideales Beispiel" dienen könnte?

shmia 6. Jun 2007 12:46

Re: Suche Datenbank für eigene Codebausteine
 
Schau dir mal die Jedi Code Library (JCL) an.
Diese umfangreiche Bibliothek zeigt, wie man Funktionen und Klassen sinnvoll in Units aufteilt
und ausserdem kompatibel mit den verschiedenen Delphi-Versionen bleibt.

Vor der Qualität her ist die JCL vergleichbar mit der VCL/RTL von Borland; an manchen Stellen sogar besser.
Es sind auch einige Beispielanwendungen enthalten, die zeigen, wie man die Bibliothek benützt.


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