u_c_display - John COLIBRI. | - mots clé:utilitaire - gestion de répertoires - path
- 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_types_constants, u_strings,
u_c_display, (u_c_log, u_loaded, u_c_basic_file,
u_c_file_name, u_dir)
- plan:
1 - Introduction
Lors de la construction de mon site Web, j'ai été confronté à de très nombreuxes manipulations de répertoires DOS. A titre d'exemple: Il est alors devenu utile de construire une petite classe c_path_segments qui permet de disséquer un chemin en ses différents segments. Ainsi:
c:\programs\site_editor\site\edito\ est placé dans une tStringList contenant les chaînes c: programs site_editor site edito 2 - Utilisation
2.1 - Interface L'interface de u_c_path_segments est la suivante:
type c_path_segments= class(c_basic_object)
public
m_path: String;
m_c_segments: tStringList;
Constructor create_path_segments(p_name, p_path: String); Virtual;
function f_path_segment_count: Integer;
function f_path_segment(p_index: Integer): String;
procedure display_path_segments;
function f_absolute_path(p_relative_path: String): String;
Destructor Destroy; Override;
end;
function f_common_path(pk_one, pk_two: String): String;
| Pour les données: - m_path est le chemin à disséquer
- m_c_segment_list est la tStringList contenant les segments
Et pour les méthodes: Nous avons de plus ajouté la fonction f_common_path dont le but est de trouver
la partie commune à deux chemins. Ainsi:
CONST k_one= 'c:\programs\site_editor\site\edito\';
k_two= 'c:\programs\site_editor\site\livres\'; ...
display(f_common_path(k_one,k_tow); | affichera
programs\site_editor\site\ Cette fonction est utile lorsqu'il s'agit de reloger toute une arborescence. 2.2 - Répertoires et Directives de Compilation 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
Les directives de compilation sont: - R+ (vérification des intervalles)
- S+ (vérification de la pile)
- pas d'optimisation
3 - Programmation
Le constructeur débite le chemin en segments. Notez que: - si le lecteur est fourni, il est placé dans la première chaîne. Ceci permet au besoin de reconstruire le chemin complet
- les segments sont détectés en testant "\". Il est donc IMPERATIF de ne pas avoir de "\" juxtaposés. DOS supporte en effet:
c:\programs\\site_editor\ 4 - Améliorations
La suppression des "\" redondants pourait être intégrée à cette classe. 5 - Télécharge 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. |