TShellListView/fr: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: TShellListView/fr
| Old | New | Line | |
|---|---|---|---|
| 1 | + | > **Note:** Cette documentation n'est pas destinée à être approfondie, mais il suffit pour commencer à un débutant sur l'utilisation de l'objet. Cette discussion particulière est basée à MS-Windows, et en particulier à Windows 7. À tout niveau, sa fonctionnalité semble être spécifique au système d'exploitation, et il faut prendre soin de transférer le code à l'aide de cet objet vers un autre système d'exploitation. | |
| 2 | + | > | |
| 3 | + | > Le comportement par défaut semble lister uniquement les noms de fichiers. Bien que le comportement puisse être fait pour être comme l'Explorateur de fichiers, les icônes ne s'affichent pas par défaut. | |
| 4 | + | ||
| 5 | + | **TShellListView**  affiche des fichiers selon sa propriété Root. Celle-ci contient le chemin d'accès complet depuis le lettre de lecteur jusqu'au dossier courant. . | |
| 6 | + | ||
| 7 | + | Si vous l'utilisez pour afficher le chemin complet incluant un fichier sélectionné, vous devez ajouter une barre oblique ('\\' ou '/' dans UNIX) à Root, comme dans : | |
| 8 | + | ||
| 9 | + | ``` pascal | |
| 10 | + | pathname := '"' + svList.Root + '\' + svList.Selected.Caption + '"'; | |
| 11 | + | ``` | |
| 12 | + | ||
| 13 | + | où `svList` est le nom de l'objet TShellListView, et `svList.Selected.Caption` contient le nom du fichier sélectionné par l'utilisateur. `pathname` est une variable chaîne contenant le chemin entier de la lettre de lecteur au nom de fichier et son extension. Il est recommandé d'appliquer les guillemets dans MS-Windows si le chemin contient des espaces. Cela rend le processus habituel d'échapper les espaces avec des `%20` inutile dans Windows. | |
| 14 | + | ||
| 15 | + | ## Parler avec TShellTreeView | |
| 16 | + | ||
| 17 | + | Il y a peu de codage à faire pour que TShellListView communique avec [[Shell Controls/fr|TShellTreeView]]. Dans l'inspecteur d'objet, sous l'onglet Événements, pour [[TShellTreeView/fr|TShellTreeView]], définissez l'événement "ShellListView" au nom de votre objet TShellListView. Cela devrait être déjà stocké dans un menu déroulant si les deux objets TShellListView et TShellTreeView sont déployés sur votre formulaire. Pour la complétude, afin que les deux objets répondent les uns aux autres, définissez l'événement ShellTreeView de TShellListView au nom de votre objet TShellTreeView. | |
| 18 | + | ||
| 19 | + | Sinon, si nous laissons SvList l'objet TShellListView ; et que svTree soit l'objet TShellTreeView, ces propriétés peuvent être codées par programme: | |
| 20 | + | ||
| 21 | + | ``` pascal | |
| 22 | + | svList.ShellTreeView := svTree; | |
| 23 | + | svTree.ShellListView := svList; | |
| 24 | + | ``` | |
| 25 | + | ||
| 26 | + | Le résultat est d'invoquer un comportement similaire à celui de l'Explorateur de fichiers. | |
| 27 | + | ||
| 28 | + | ## Ouverture de documents | |
| 29 | + | ||
| 30 | + | Dans Windows, la commande générique pour ouvrir un fichier dans TShellListView est [[OpenDocument/fr|OpenDocument]]` (pathname)`, où `pathname` est le chemin d'accès au fichier. Pour cela, vous devriez vous rappeler d'ajouter `lclintf` à votre clause `uses`. D'autres systèmes d'exploitation peuvent s'en sortir en utilisant `OpenURL (nom de chemin)`, sauf que les espaces doivent être Échangés avec une chaîne `%20` et `://` doit préciser le chemin d'accès. Exemple : | |
| 31 | + | ||
| 32 | + | ``` pascal | |
| 33 | + | OpenURL('file:///home/joe/text/foo%20bar.txt'); | |
| 34 | + | ``` | |
| 35 | + | ||
| 36 | + | Ce qui contraste avec la convention Windows : | |
| 37 | + | ||
| 38 | + | ``` pascal | |
| 39 | + | OpenDocument('C:\Users\Joe\My Documents\xyz.txt'); | |
| 40 | + | ``` | |
| 41 | + | ||
| 42 | + | [[openurl/fr|OpenURL]] n'est pas recommandé dans une utilisation avec Windows pour l'ouverture de document utilisant le schéma <file://URI>. | |
| 43 | + | ||
| 44 | + | Parce que `OpenDocument` agit aussi comme une fonction booléenne, elle renvoie false s'il n'y a aucun moyen dans la base de registre (type de fichier) d'ouvrir le fichier. Si nous laissons `pathname` être le chemin complet vers le fichier de la lettre de lecteur au nom de fichier, cette instruction ouvrira le document si `OpenDocument(pathname)` retourne `True` : | |
| 45 | + | ||
| 46 | + | ``` pascal | |
| 47 | + | if not OpenDocument(pathname) then // no method to display this file type | |
| 48 | + | ShowMessage('Cannot display ' + pathname); | |
| 49 | + | ``` | |
| 50 | + | ||
| 51 | + | ## Faire face à l'étrangeté | |
| 52 | + | ||
| 53 | + | Lors de l'exécution d'un programme avec cet objet, vous pouvez remarquer que le double-clic sur un nom de fichier vous permettra de l'éditer ou de supprimer son nom entièrement par défaut. Ces types de modifications semblent n'avoir aucun effet sur le fichier lui-même. Pour arrêter ce comportement, définissez la propriété ReadOnly sur True. | |
| 54 | + | ||
| 55 | + | --- | |
| 56 | + | *From the Free Pascal wiki, page "TShellListView/fr", as it stood on 2020-03-02 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* |
