Présentation▲
SJRDUnits est un assemblage des toutes les routines/classes que j'ai créées à la base pour mes propres besoins. Je les ai relues, corrigées, et partiellement documentées pour pouvoir vous les distribuer.
SJRDUnits est divisé en différentes unités, regroupant ainsi les fonctionnalités par catégories. Les routines qui n'avaient leur place nulle part ailleurs ont été réparties dans les deux unités SjrdUsual (les plus utilisées) et SjrdExtra (celles utilisées plus rarement).
Voici une présentation de ce que propose chaque unité.
I. SjrdUsual▲
SjrdUsual regroupe les routines/classes qui n'appartiennent à aucune catégorie et qui sont relativement souvent utilisées. Une routine que j'utilise tout le temps, et qui remplace l'archaïque MessageBox, s'y trouve : ShowDialog. Une autre routine utile est la fonction Dir, qui renvoie le répertoire contenant l'application courante.
Nom |
Description |
---|---|
Exceptions |
|
ECreateError |
Erreur lors de la création d'un objet |
EAPIError |
Erreur due à une erreur d'API Windows |
Types |
|
T3DPoint |
Point déterminé par 3 coordonnées |
TDialogType |
Types des paramètres de ShowDialog |
TSoundType |
Type de son à jouer avec ExecuteSound |
TGetXXXFunc |
Types fonctions renvoyant des types de données diverses |
TSetOfXXX |
Types ensembles usuels |
Variables |
|
ShellFolders |
Record contenant quelques dossiers du shell |
Classes |
|
Aucune classe |
|
Routines |
|
Dir |
Renvoie le répertoire contenant l'application |
IIF |
Fonction de If Immédiat (?: du C) |
Point3DToString |
Formate un T3DPoint en chaîne de caractères |
MinMax |
Renvoie la plus proche valeur d'un entier dans un intervalle déterminé |
ShowMes |
Implémentation Pascal de l'API MessageBox |
ShowDialog |
Réimplémentation de ShowMes avec des paramètres plus exploitables |
CreateShellLink |
Crée un raccourci Windows avec les informations indiquées |
Wait |
Boucle pendant un nombre de millisecondes spécifié |
ExecuteSound |
Joue un son au moyen de l'API Windows PlaySound |
IntToStr0 |
Formate un nombre entier avec des 0 devant pour atteindre une longueur spécifiée |
ReadStrFromStream |
Lit une chaîne au format AZT depuis un flux |
WriteStrToStream |
Écrit une chaîne au format AZT dans un flux |
CorrectFileName |
Vérifie si nom de fichier est correct |
Point3D |
Renvoie un record de type T3DPoint à partir des valeurs des paramètres |
RunURL |
ShellExecute simplifié (je cherche la version Linux) |
Constantes |
|
Aucune constante |
II. SjrdLists▲
SjrdLists propose quelques classes de listes, dont l'ancêtre commun est la classe TSjrdList, qui enregistre ses éléments dans un flux mémoire. Cette classe est construite de façon à gérer tous les comportements de la liste, les descendants n'ont plus qu'à implémenter quelques méthodes codées en une ligne pour fonctionner. Cette unité déclare aussi une variable de type TSjrdStrings contenant les paramètres envoyés à l'application.
Nom |
Description |
---|---|
Exceptions |
|
Aucune exception |
|
Types |
|
TSjrdListClass |
Métaclasse de TSjrdList |
Variables |
|
AppParams |
Liste des paramètres passés à l'application |
Classes |
|
StringsOps |
Classe utilitaire sur les listes de chaînes |
TSjrdStrings |
Liste de chaînes implémentant les méthodes de StringsOps |
TSjrdList |
Classe de base pour les listes personnalisées |
TIntegerList |
Liste de nombres signés stockés sur 1 à 8 octets |
TUnsignedIntList |
Liste de nombres non signés stockés sur 1 à 4 octets |
TExtendedList |
Liste de nombres à virgule flottante stockés sur 10 octets |
Routines |
|
Aucune routine |
|
Constantes |
|
Aucune constante |
III. SjrdStrUtils▲
SjrdStrUtils déclare quelques routines additionnelles à celles de l'unité StrUtils de Borland. Elle déclare notamment la fonction SjrdCompareString qui compare deux chaînes de caractères via l'API CompareString.
Nom |
Description |
---|---|
Exceptions |
|
Aucune exception |
|
Types |
|
TSjrdCompareOptions |
Options de comparaison pour la fonction SjrdCompareString |
Variables |
|
Aucune constante |
|
Classes |
|
Aucune classe |
|
Routines |
|
NberSubStr |
Renvoie le nombre d'occurrences d'une sous-chaîne dans une chaîne |
SjrdCompareString |
Compare deux chaînes avec des options de comparaison avancées |
GetFirstToken |
Renvoie la première des sous-chaînes d'une chaîne délimitées par un caractère |
GetLastToken |
Renvoie la dernière des sous-chaînes d'une chaîne délimitées par un caractère |
GetXToken |
Renvoie la Xème des sous-chaînes d'une chaîne délimitées par un caractère |
GetXWord |
Renvoie le Xe mot de la chaîne |
PosWord |
Renvoie la position de la première occurrence d'un mot dans une chaîne |
Constantes |
|
Aucune constante |
IV. SjrdExtra▲
SjrdExtra propose diverses routines plus ou moins utiles dans des cas bien précis, et de ce fait peu utilisées. Les routines les plus intéressantes parmi celles-ci sont GetMethodFromName et AddResToFile.
Nom |
Description |
---|---|
Exceptions |
|
EUpdateResError |
Erreur lors de la modification de ressources |
Types |
|
Aucun type |
|
Variables |
|
Aucune variable |
|
Classes |
|
Aucune classe |
|
Routines |
|
CorrectIdentifier |
Indique si une chaîne de caractères est un identificateur Pascal correct |
GetMethodFromName |
Renvoie un pointeur sur une méthode d'un objet à partir de son nom |
ConvertDoubleToInt64 |
Transforme un Double en Int64 (sans aucune correspondance des valeurs) |
ConvertInt64ToDouble |
Transforme un Int64 en Double (sans aucune correspondance des valeurs) |
StrToStrRepres |
Convertit une chaîne de caractères en sa représentation Pascal |
StrRepresToStr |
Convertit une chaîne de caractères en la chaîne qu'elle représente en Pascal |
CharToCharRepres |
Convertit un caractère en sa représentation Pascal |
CharRepresToChar |
Convertit une chaîne de caractères en le caractère qu'elle représente en Pascal |
SetOfCharsToString |
Convertit un ensemble de caractères en sa représentation Pascal |
StringToSetOfChars |
Convertit une chaîne de caractères en l'ensemble de caractères qu'elle représente en Pascal |
BeginUpdateRes |
Commence la modification des ressources d'une application Windows |
AddResource |
Ajoute ou remplace une ressource |
DelResource |
Supprime une ressource |
EndUpdateRes |
Termine la modification des ressources |
AddResToFile |
Ajoute une ressource à une application Windows |
DelResInFile |
Supprime une ressource d'une application Windows |
CompressStream |
Compresse un flux |
DecompressStream |
Décompresse un flux compressé avec CompressStream |
Constantes |
|
clNoComp |
Niveaux de compressions pour la procédure CompressStream |
V. SjrdMaths▲
SjrdMaths est une unité assez complexe dont la plus grande utilité est la fonction Eval, qui réalise ce que beaucoup de programmeurs de scripts aimeraient pouvoir réaliser en Delphi, à savoir évaluer une expression arithmétique. Cette fonction peut même faire du calcul polynomial à une inconnue. Toutes les autres routines et classes sont construites autour de celle-ci.
Nom |
Description |
---|---|
Exceptions |
|
EMathsError |
Erreurs de mathématiques, notamment de calcul polynomial |
EEvalError |
Erreurs provoquées par la fonction Eval |
Types |
|
TComplex |
Nombre complexe, définit comme Variant |
EEvalErrorClass |
Métaclasse de EEvalError |
TTestIsAbortedProc |
Type de procédure de test d'abandon d'évaluation d'expression arithmétique |
Variables |
|
VarLists |
Listes de variables polynomiales |
Classes |
|
TComplexList |
Liste de nombres complexes |
TPolynom |
Polynome |
TPolynomList |
Liste de polynomes |
Routines |
|
IsInteger |
Indique si un nombre à virgule flottante est un entier |
VerifyIsInteger |
Lève une exception si un nombre à virgule flottante n'est pas un entier |
AsInteger |
Renvoie un nombre à virgule flottante sous forme d'entier |
IsNatural |
Indique si un nombre entier est un naturel |
VerifyIsNatural |
Lève une exception si un nombre entier n'est pas un naturel |
AsNatural |
Renvoie un nombre entier sous forme de naturel |
Factorial |
Renvoie la factorielle d'un nombre naturel |
IntPower |
Élève un entier à une puissance entière |
Eval |
Évalue une expression arithmétique |
VI. SjrdDateTimeUtils▲
SjrdDateTimeUtils fournit quelques routines dates/heures supplémentaires, ainsi qu'un record TUsualDate permettant d'utiliser plus facilement les dates.
Nom |
Description |
---|---|
Exceptions |
|
Aucune exception |
|
Types |
|
TUsualDate |
Record enregistrant une date |
Variables |
|
Aucune variable |
|
Classes |
|
Aucune classe |
|
Routines |
|
GetUsualDate |
Renvoie une valeur de type TUsualDate à partir des valeurs des paramètres |
UsualDateToDateTime |
Convertit une valeur de type TUsualDate en une valeur de type TDateTime |
DateTimeToUsualDate |
Convertit une valeur de type TDateTime en une valeur de type TUsualDate |
DateAddition |
Ajoute un nombre de jours spécifié à une date au format TUsualDate |
GetMonthName |
Renvoie le nom du mois spécifié |
Constantes |
|
Aucune constante |
VII. SjrdMusicUtils▲
SjrdMusicUtils est une unité pour le calcul des notes et des intervalles de musique dans une application Delphi. La plus grande utilité de cette unité est la propriété Vibrations de la classe TMusicNote.
Nom |
Description |
---|---|
Exceptions |
|
EMusicError |
Erreurs de musique |
Types |
|
TMusicNoteInfo |
Informations sur une note de musique, utilisé en interne |
TMusicIntervalInfo |
Informations sur un intervalle de musique, utilisé en interne |
Variables |
|
Aucune variable |
|
Classes |
|
TMusicNote |
Note de musique |
TMusicInterval |
Intervalle de musique |
Routines |
|
Aucune routine |
|
Constantes |
|
HarmonyOfDo |
Tableau des seize harmoniques de do |
VIII. SjrdLOGFile▲
SjrdLOGFile est une unité qui vous permet d'exploiter simplement un fichier LOG pour votre application, grâce à la classe TSjrdLOGFile. Même si votre application plante lamentablement, le fichier LOG sera enregistré et vous pourrez le consulter afin de déterminer l'emplacement exact de l'erreur.
Nom |
Description |
---|---|
Exceptions |
|
Aucune exception |
|
Types |
|
Aucun type |
|
Variables |
|
Aucune variable |
|
Classes |
|
TSjrdLOGFile |
Gère un fichier LOG avec ajout automatique des données dans le fichier |
Routines |
|
Aucune routine |
|
Constantes |
|
Aucune constante |
IX. SjrdNoSecretWindow▲
SjrdNoSecretWindow permet de se débarrasser réellement de la fenêtre secrète de Delphi. Ajoutez simplement cette unité au tout début des uses du fichier .dpr. Cela suffit à la supprimer (ou plutôt à ne pas la créer).
X. Téléchargement▲
Vous pouvez ici télécharger sjrdunits.zip, qui contient toutes les sources des unités ainsi que la documentation actuellement réalisée.
Si ce lien ne fonctionne pas chez vous, utilisez celui-ci.
Version actuelle : 1.1