Einige nützliche Delphi -Einheiten und -Komponenten, die von Cornelius Concepts, LLC angeboten werden.
Diese Bibliothek enthält Einheiten und Komponenten, die ich entwickelt habe und die in vielen Situationen nützlich sind. Aber sie gehen nicht nur nützlich-sie unterrichten auch. Es gibt Kommentare und Muster, und die Komponenten zeigen verschiedene Aspekte, wie Delphi-Komponenten geschrieben werden, z.
Lassen Sie diese Komponente einfach auf ein Formular fallen und die Größe und Position werden automatisch gespeichert, wenn sie geschlossen und beim Öffnen wiederhergestellt werden. Speichern Sie zusätzlich andere Werte mit bequemen Methoden. Es gibt zwei Variationen:
Beide Komponenten haben Standardeinstellungen, um Dateien oder Registrierungseinstellungen an geeigneten Stellen mit minimalen Einstellungen zu speichern und Schlüssel oder Abschnitte basierend auf dem Namen des Formulars zu erstellen. So können Sie eine dieser Komponenten schnell und einfach in jeder Form fallen lassen.
Mit den zusätzlichen Methoden zum Speichern/Wiederherstellen von Ganzzahl-, String- und Boolean -Werten macht sich die Erinnerung an einfache Benutzerdaten sehr einfach:
- procedure SaveStrValue(const Name:string;const Value:string);
- procedure SaveIntValue(const Name:string;const Value: Integer);
- procedure SaveBoolValue(const Name:string;const Value: Boolean);
- function RestoreStrValue(const Name:string; const Default: string = ''):string;
- function RestoreIntValue(const Name:string; const Default: Integer = 0): Integer;
- function RestoreBoolValue(const Name:string; const Default: Boolean = False): Boolean;
Diese Komponente enthält Routinen, die vor einigen Jahren von jemandem namens Neil in den DBIsam Newsgroups geschrieben wurden. In eine Komponente verwandelt sich dies an eine Tastatur- und Mouse-Windows-Hooks, um die Inaktivität auf dem Computer zu beobachten, und erstellt eine Nachricht mit einem Timer für den Zähler, um die Anwendung zu schließen. Ein Anwendungsfall ist eine 2-stufige Datenbankanwendungen, mit denen Dateien und Aufzeichnungen geöffnet werden.
Diese Komponente wurde aus der Delphi 10.3 Rio -Version entfernt, um die TStopwatch -Klasse von Delphi zu verwenden.
Dies ist eine sehr einfache Komponente, die die Details des Timings eines Betriebs verbirgt. Rufen Sie einfach Start an, machen Sie Ihre Sachen, rufen Sie dann an und Sie haben die folgenden Eigenschaften zur Verfügung:
Diese Komponente prüft nicht auf Änderungen in Zeitzonen (falls sie auf einem mobilen Gerät verwendet werden) oder berücksichtigen die Tageslichtsparungszeit. Es wurde für ziemlich kurze Operationen (weniger als eine Stunde) ausgelegt.
Die folgenden Komponenten wurden nur über Delphi XE unterstützt und aus neueren Paketen entfernt.
Vor langer Zeit habe ich die InfoPower -Suite von Komponenten verwendet, die eine wirklich schöne inkrementelle Suchkomponente hatten, in der entsprechende Datensätze aufgeführt sind, die beim Eingeben aufgelistet sind. Ich habe diese Komponente von dieser Idee strukturiert, aber auch benutzerdefinierte Schaltflächen und viele andere Funktionen hinzugefügt. Ich habe auch Raize-Steuerelemente für einige extra schöne Anzeigefunktionen verwendet-und alles sehr eng an die DBISAM-Datenbankkomponenten gebunden. Es war für ein bestimmtes Projekt zu dieser Zeit, aber ich habe es seitdem in anderen Projekten in anderen Projekten verwendet (wie das Ausschalten von DBISAM für erhöhte Bauteile).
Dies könnte eine interessante Komponente sein, die man betrachten muss, da es ein gutes Beispiel dafür ist, wie eine zusammengesetzte Komponente erstellt wird.
Geschrieben, um ein altes Projekt vor vielen Jahren zu unterstützen, ermöglicht dies eine einfache Verschmelzung von Namen = Wertpaare mit Grenzwerten. Veraltet für die Verwendung von TStringList.
Bietet eine schnelle und einfache Anmeldung bei einer Textdatei. Veraltet, weil neuere Bibliotheken und Protokollierungsmethoden bevorzugt werden.
Ein einfacher Textdatei-Viewer in einem Popup-Modalfenster.
Schließlich ein Wort über die eigenständigen Einheiten.
Dieser Ordner enthält zwei Einheiten, UdmcustomWebgenerator und UDMDBISAMWebgenerator. Es handelt sich um Datenmodule und die erste ist eine Basisklasse mit einigen Webbroker -Komponenten, einem TPageProducer und TdatasettableProducer. Diese wurden vor vielen Jahren geschrieben, bevor Content Management Systems (CMSS) beliebt waren, und ich versuchte, Delphi für alle meine Webentwicklung zu verwenden. Es stellte sich heraus, dass es für große Projekte mehr Arbeit war als es wert ist, und es gibt jetzt eine große Anzahl großartiger Web -Tools, sodass es nicht mehr viel verwendet wird. Es gibt jedoch immer noch gelegentliche Aufgaben, die diese Routinen nützlich finden, also halte ich sie in der Nähe.
Diese Klassen erweitern die Webbroker -Nützlichkeit, indem sie in einem Link zwischen HTML -Tags und Datenbanken erstellt werden. Die einzige Datenbank, die ich jemals auf diese Weise verwendet habe, war DBISAM. Ich habe DBISAM seit mehreren Jahren nicht mehr verwendet, daher weiß ich nicht, ob es noch kompiliert, aber es zeigt, wie die Basisklasse für Ihre besonderen Anforderungen abstammen kann.
Bitte lesen Sie die Kommentare im Code für weitere Informationen.
Der Ordner "misca" enthält drei Einheiten (weitere können später hinzugefügt werden): UsearchReclist , Uxmldates und Utestutils .
Die erste, UsearchRecList , enthält einige Erklärungen vom Typ Prozedurstyp und ein Verfahren: GetEarchRecs.
TPathStatusProc = reference to procedure (const Path: string; var Stop: Boolean);
TFileFoundProc = reference to procedure (FileInfo: TSearchRec);
procedure GetSearchRecs(const Path, Pattern: string; const Recursive: Boolean; PathStatusProc: TPathStatusProc; FileFoundProc: TFileFoundProc);
GetSearchRecs durchquert einen Verzeichnisbaum, der nach Dateien sucht, die mit einem Muster übereinstimmen, und ruft PathStatuSProc für jeden gefundenen Pfad und den FilefoundProc für jede gefundene Datei auf, die dem Muster entspricht.
Hier ist ein Beispielanruf, der alte Protokolldateien löscht:
GetSearchRecs(LogFolder, '*.log', False, nil,
procedure (FileInfo: TSearchRec)
begin
if FileInfo.TimeStamp < Now - 90 then
FileDelete(TPath.Combine(LogFolder, FileInfo.Name), True);
end);
Die zweite Einheit, UXMLDATES , erleichtert es einfach, mit Daten in XML -Dateien zu arbeiten. Das gemeinsame Format ist: yyyy-mm-dd "t" HH: mm: ss, aber die Methode, die TTODelPhateFromxML, kann eine Zeichenfolge ohne Zeitteil einnehmen.
Die dritte Einheit, Utestutils , bietet einige Funktionen, die in einigen Projekten verwendet werden, bei denen ich Testdaten wie Daten, Zeiten, Zahlen, Zahlungsarten usw. generieren muss.