Quelques unités et composants de Delphi utiles offerts par Cornelius Concepts, LLC.
Cette bibliothèque contient des unités et des composants que j'ai développés qui sont utiles dans de nombreuses situations. Mais ils vont au-delà d'être utiles - ils enseignent également. Il y a des commentaires et des échantillons, et les composants montrent plusieurs aspects de la façon d'écrire des composants Delphi, tels que la séparation des packages entre le temps d'exécution et le temps de conception, comment intégrer les composants Aide activés en cliquant avec le bouton droit sur le composant, et même l'intégration dans l'écran Splash de Delphi et à propos de la boîte.
Déposez simplement ce composant sur un formulaire et sa taille et sa position sont automatiquement enregistrées lorsqu'elles sont fermées et restaurées lors de l'ouverture. En outre, enregistrez d'autres valeurs avec des méthodes pratiques. Il y a deux variations:
Ces deux composants ont des paramètres par défaut pour enregistrer des fichiers ou des paramètres de registre à des endroits appropriés avec un minimum de paramètres et créer des clés ou des sections en fonction du nom du formulaire. Vous pouvez donc déposer rapidement et facilement l'un de ces composants sur chaque forme.
Avec les méthodes supplémentaires pour enregistrer / restaurer des valeurs entières, chaînes et booléennes, il facilite la mémorisation des données utilisateur simples:
- 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;
Ce composant comprend des routines écrites par quelqu'un nommé Neil sur les groupes de discussion DBISAM il y a plusieurs années. Transvenus en composant, cela se fixe à certains crochets Windows de clavier et de souris pour surveiller l'inactivité sur l'ordinateur et fait monter un message avec une minuterie de décompte pour fermer l'application. Un cas d'utilisation est une application de base de données à 2 niveaux qui laisse les fichiers et les enregistrements ouverts.
Ce composant a été supprimé de la version Delphi 10.3 Rio en faveur de l'utilisation de la classe TSTOPWatch de Delphi.
Il s'agit d'un composant très simple qui cache les détails de la synchronisation d'une opération. Appelez simplement Start, faites vos affaires, puis appelez et vous avez les propriétés suivantes disponibles:
Ce composant ne vérifie pas le changement dans les fuseaux horaires (s'il est utilisé sur un appareil mobile) ou le compte de l'heure d'été. Il a été conçu pour des opérations assez courtes (moins d'une heure).
Les composants suivants n'ont été pris en charge que par Delphi XE et supprimés des packages plus récents.
Il y a longtemps, j'ai utilisé la suite InfoPower de composants qui avait un très joli composant de recherche incrémentiel qui énumérerait les enregistrements correspondants au fur et à mesure que vous tapez. J'ai modelé ce composant de cette idée, mais j'ai également ajouté des boutons définis par l'utilisateur et de nombreuses autres fonctionnalités. J'ai également utilisé des contrôles Raize pour des fonctionnalités d'affichage supplémentaires - et je me suis attaché de très près aux composants de la base de données DBISAM. C'était pour un projet spécifique à l'époque, mais je l'ai utilisé et des variations de celui-ci (comme l'éteinte DBISAM pour les composants élevés) dans d'autres projets depuis lors.
Cela peut être un composant intéressant à regarder car c'est un bon exemple de la façon de construire un composant composé.
Écrit pour prendre en charge un ancien projet il y a de nombreuses années, cela permet une simple fusion de paires Name = Value avec les délimiteurs. Déprécié en faveur de l'utilisation de TStringList.
Fournit une journalisation rapide et facile à un fichier texte. Déconseillés parce que les bibliothèques plus récentes et les méthodes de journalisation sont préférées.
Une visualise de fichiers texte simple dans une fenêtre modale contextuelle.
Enfin, un mot sur les unités autonomes.
Ce dossier contient deux unités, UDMCustomWebGenerator et UdmdbisamWebGenerator. Ce sont des modules de données et le premier est une classe de base avec quelques composants de courtiers Web, un TPAGEPRODUCER et TDATASETTABLEPRODUCER. Ceux-ci ont été écrits il y a plusieurs années avant que les systèmes de gestion de contenu (CMS) n'étaient populaires et j'essayais d'utiliser Delphi pour tout mon développement Web. Il s'est avéré être plus de travail que pour les grands projets et il existe maintenant un grand nombre de grands outils Web, donc il n'est plus utilisé. Cependant, il y a encore des tâches occasionnelles qui trouvent ces routines utiles, donc je les garde.
Ces classes élargissent l'utilité du courtier Web en construisant dans un lien entre les balises HTML et les bases de données. La seule base de données que j'ai jamais utilisée de cette manière était le dbisam. Je n'ai pas utilisé de dbisam depuis plusieurs années, donc je ne sais pas s'il compile toujours, mais cela montre comment la classe de base peut être descendante pour vos besoins particuliers.
Veuillez lire les commentaires dans le code pour plus d'informations.
Le dossier "Misc" contient trois unités (plus peut être ajoutée plus tard): UsearchRecList , UxMLdates et USTutils .
Le premier, UsearchReclist , contient quelques déclarations de type de procédure et une procédure: getSearchRecs.
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 Traverse une arborescence de répertoire à la recherche de fichiers correspondant à un modèle et appelle PathStatusProc pour chaque chemin trouvé et FileFoundProc pour chaque fichier trouvé qui correspond au modèle.
Voici un exemple d'appel qui supprimerait les anciens fichiers journaux:
GetSearchRecs(LogFolder, '*.log', False, nil,
procedure (FileInfo: TSearchRec)
begin
if FileInfo.TimeStamp < Now - 90 then
FileDelete(TPath.Combine(LogFolder, FileInfo.Name), True);
end);
La deuxième unité, UxMLdates , facilite le travail avec les dates trouvées dans les fichiers XML. Le format commun est: yyyy-mm-dd "t" hh: mm: ss, mais la méthode, convertodelphatedfromxml, peut prendre une chaîne sans la partie temporelle.
La troisième unité, Utetstutils , fournit certaines fonctions utilisées dans quelques projets où je dois générer des données de test telles que les dates, les heures, les chiffres, les types de paiement, etc. Ils sont tout simplement à portée de main.