u_c_file_name - John COLIBRI. | - mots clé: nom de fichier - utilitaire
- logiciel utilisé: Windows 98, Delphi 5.0
- matériel utilisé: Pentium 500Mhz, 128 M de mémoire
- champ d'application: Delphi 1 à 6 sur Windows, Kylix
- niveau: débutant en Pascal et Delphi
- uses: u_c_basic_object, u_loaded, u_dir, u_c_display,
(u_c_log, u_strings, u_types_constants, u_c_basic_file)
- plan:
1 - Introduction La classe c_file_name a pour but de disséquer un nom de fichier.
Les primitives du type ExtractPath ont un but similaire, mais ne me donnaient pas fondamentalement les 4 composantes du fichier: le lecteur, le chemin, le nom et l'extension.
Cette classe est lourde pour une si maigre tâche, mais elle me débarrasse de ces corvées de triturages de noms. Et c'est une classe pour éviter d'avoir à appeler des fonctions qui font le même travail à chaque fois.
2 - Utilisation 2.1 - Interface L'interface est la suivante:
type c_file_name= class(c_basic_object)
public
m_drive: string;
m_path: string;
m_name: string;
m_extension: string;
m_complete_name: string;
constructor create_file_name(p_name, p_drive, p_path, p_file_name, p_extension: string); Virtual;
procedure compute_complete_name;
procedure decompose;
procedure change_extension(p_extension: String);
procedure change_file_and_extension_name(p_file_and_extension_name: String);
procedure change_file_name_only(p_new_file_name: String);
procedure display_name_parts;
function f_drive_and_path: String;
end;
function f_c_file_name(p_name, p_drive, p_path, p_file_name, p_extension: string): c_file_name;
function f_c_complete_file_name(p_name, p_complete_name: string): c_file_name;
| Et: - create_file_name: reçoit les 4 composantes du nom de fichier et calcule le nom complet.
- compute_complete_name: calcule le nom complet à partir des 4 parties
- decompose: dissèque le nom en 4 parties
- change_extension: change l'extension. Pour changes .ED en .~ED, par exemple
- change_file_and_extension_name: change à la fois le nom et l'extension
- change_file_name_only: seul le nom du fichier (pas l'extension) est modifié
- display_name_parts: affiche les composantes du nom
- f_drive_and_path: retourne les 2 premières composantes du nom (par exemple
c:\program\)
Deux fonctions globales évitent d'avoir à déclarer une locale pour manipuler des noms: - f_c_file_name: reçoit les 4 composantes, et retourne un objet c_file_name. Par exemple:
WITH f_c_file_name('intro', 'c', l_path, 'presentation', 'pas') DO
BEGIN ... Free;
END; - f_c_complete_file_name: reçoit le nom complet et retourne un objet c_file_name
2.2 - Répertoires
L'unité est prévue pour être placée dans: C: programs colibri_helpers classes
Vous pouvez naturellement changer cette organisation par Projet | Options | Directories 2.3 - Directives de compilation Les directives de compilation sont: - R+ (vérification des intervalles)
- S+ (vérification de la pile)
- pas d'optimisation
3 - Programmation Cette classe ne fait que des manipulations de chaînes pour disséquer les noms de fichiers ou les reconstituer.
4 - Améliorations 5 - Télécharger Vous pouvez télécharger: Avec les mentions d'usage:
- j'apprécie tous les commentaires, remarques ou critiques
- signalez-moi les bugs que vous trouverez.
L'auteur John COLIBRI est passionné par le développement
Delphi et les applications de Bases de Données. Il a écrit de nombreux livres et articles, et partage son temps entre le développement de projets (nouveaux projets, maintenance, audit, migration BDE, migration Xe_n, refactoring) pour ses clients, le
conseil (composants, architecture, test) et la
formation. Son site contient des articles
avec code source, ainsi que le programme et le calendrier des stages de formation Delphi, base de données, programmation objet, Services Web, Tcp/Ip et
UML qu'il anime personellement tous les mois, à Paris, en province ou sur site client. |