Difference between revisions of "TShellListView/fr"

From Lazarus wiki
Jump to navigationJump to search
m (→‎Ouverture de documents: Fixed syntax highlighting)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{TShellListView}}
 
{{TShellListView}}
 
  * * * A FINIR  * * *
 
  
 
{{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.
 
{{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.
Line 10: Line 8:
  
 
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 :  
 
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 :  
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang=pascal>
 
pathname := '"' + svList.Root + '\' + svList.Selected.Caption + '"';
 
pathname := '"' + svList.Root + '\' + svList.Selected.Caption + '"';
 
</syntaxhighlight>
 
</syntaxhighlight>
Line 17: Line 16:
  
 
== Parler avec TShellTreeView ==
 
== Parler avec TShellTreeView ==
There is little coding to do in getting TShellListView to communicate with [[Shell Controls|TShellTreeView]]. In the Object Inspector, under the Events tab, for TShellTreeView, set the event "ShellListView" to the name of your TShellListView object. This ought to be already stored on a dropdown menu if both TShellListView and TShellTreeView objects are deployed on your form. For completeness, so that both objects respond to each other, set the ShellTreeView event of TShellListView to the name of your TShellTreeView object.  
+
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.
  
Alternatively, if we let svList be the TShellListView object; and svTree be the TShellTreeView object, then these properties can be set programmatically:
+
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:
  
<code>
+
<syntaxhighlight lang=pascal>
 
     svList.ShellTreeView := svTree;
 
     svList.ShellTreeView := svTree;
 
     svTree.ShellListView := svList;
 
     svTree.ShellListView := svList;
</code>
+
</syntaxhighlight>
  
The result is to invoke Explorer-like behavior in their responsiveness.
+
Le résultat est d'invoquer un comportement similaire à celui de l'Explorateur de fichiers.
  
 
== Ouverture de documents ==
 
== Ouverture de documents ==
In Windows, the generic command for opening a file in TShellListView is <code>[[OpenDocument]](pathname)</code>, where <code>pathname</code> is the path to the file. For this you should remember to add <code>lclintf</code> to your <code>uses</code> clause. Other operating systems can get away with using <code>OpenURL(pathname)</code>, except that spaces must be escaped with a <code>%20</code> string, and <code>file://</code> must prepend the pathname. Example:
+
Dans Windows, la commande générique pour ouvrir un fichier dans TShellListView est <code>[[OpenDocument/fr|OpenDocument]] (pathname)</code>, <code>pathname</code> est le chemin d'accès au fichier.
<code>
+
Pour cela, vous devriez vous rappeler d'ajouter <code>lclintf</code> à votre clause <code>uses</code>.
 +
D'autres systèmes d'exploitation peuvent s'en sortir en utilisant <code>OpenURL (nom de chemin)</code>, sauf que les espaces doivent être Échangés avec une chaîne <code>%20</code> et <code>://</code> doit préciser le chemin d'accès. Exemple :
 +
 
 +
<syntaxhighlight lang=pascal>
 
     OpenURL('file:///home/joe/text/foo%20bar.txt');
 
     OpenURL('file:///home/joe/text/foo%20bar.txt');
</code>
+
</syntaxhighlight>
  
Contrast this with the Windows convention:
+
Ce qui contraste avec la convention Windows :
  
<code>
+
<syntaxhighlight lang=pascal>
     OpenDocument("C:\Users\Joe\My Documents\xyz.txt");
+
     OpenDocument('C:\Users\Joe\My Documents\xyz.txt');
</code>
+
</syntaxhighlight>
  
[[openurl|OpenURL]] is not recommended for use in Windows for opening documents using the file:// URI scheme.
+
[[openurl/fr|OpenURL]] n'est pas recommandé dans une utilisation avec Windows pour l'ouverture de document utilisant le schéma file://URI.
  
Because <code>OpenDocument</code> also acts as a Boolean function, it returns false if there is no way in the registry to open the file. If we let <code>pathname</code> be the full path to the file from the drive letter to the filename, this statement will open the document if <code>OpenDocument(pathname)</code> returns <code>True</code>:
+
Parce que <code>OpenDocument</code> 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 <code>pathname</code> être le chemin complet vers le fichier de la lettre de lecteur au nom de fichier, cette instruction ouvrira le document si <code>OpenDocument(pathname)</code> retourne <code>True</code> :
  
<code>
+
<syntaxhighlight lang=pascal>
 
   if not OpenDocument(pathname) then  // no method to display this file type
 
   if not OpenDocument(pathname) then  // no method to display this file type
 
     ShowMessage('Cannot display ' + pathname);
 
     ShowMessage('Cannot display ' + pathname);
</code>
+
</syntaxhighlight>
  
 
== Faire face à l'étrangeté ==
 
== Faire face à l'étrangeté ==
When running a program with this object, you may notice that double-clicking on a filename will allow you to edit it or delete its name entirely by default. These sorts of changes appear to have no effect on the file itself. To stop this behavior, set the ReadOnly property to True.
+
 
 +
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.
  
 
{{LCL Components/fr}}
 
{{LCL Components/fr}}

Latest revision as of 02:18, 2 March 2020

English (en) français (fr)

Light bulb  Remarque: 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.

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.

TShellListView tshelllistview.png 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. Le composant TShellListView est disponible depuis l'onglet Misc de la palette de composants.

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 :

pathname := '"' + svList.Root + '\' + svList.Selected.Caption + '"';

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.

Parler avec TShellTreeView

Il y a peu de codage à faire pour que TShellListView communique avec TShellTreeView. Dans l'inspecteur d'objet, sous l'onglet Événements, pour 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.

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:

     svList.ShellTreeView := svTree;
     svTree.ShellListView := svList;

Le résultat est d'invoquer un comportement similaire à celui de l'Explorateur de fichiers.

Ouverture de documents

Dans Windows, la commande générique pour ouvrir un fichier dans TShellListView est 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 :

    OpenURL('file:///home/joe/text/foo%20bar.txt');

Ce qui contraste avec la convention Windows :

    OpenDocument('C:\Users\Joe\My Documents\xyz.txt');

OpenURL n'est pas recommandé dans une utilisation avec Windows pour l'ouverture de document utilisant le schéma file://URI.

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 :

  if not OpenDocument(pathname) then  // no method to display this file type
     ShowMessage('Cannot display ' + pathname);

Faire face à l'étrangeté

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.


Composant LCL
Onglet de palette Composants
Standard TMainMenu • TPopupMenu • TButton • TLabel • TEdit • TMemo • TToggleBox • TCheckBox • TRadioButton • TListBox • TComboBox • TScrollBar • TGroupBox • TRadioGroup • TCheckGroup • TPanel • TFrame • TActionList
Additional TBitBtn • TSpeedButton • TStaticText • TImage • TShape • TBevel • TPaintBox • TNotebook • TLabeledEdit • TSplitter • TTrayIcon • TControlBar • TFlowPanel • TMaskEdit • TCheckListBox • TScrollBox • TApplicationProperties • TStringGrid • TDrawGrid • TPairSplitter • TColorBox • TColorListBox • TValueListEditor
Common Controls TTrackBar • TProgressBar • TTreeView • TListView • TStatusBar • TToolBar • TCoolBar • TUpDown • TPageControl • TTabControl • THeaderControl • TImageList • TPopupNotifier • TDateTimePicker
Dialogs TOpenDialog • TSaveDialog • TSelectDirectoryDialog • TColorDialog • TFontDialog • TFindDialog • TReplaceDialog • TOpenPictureDialog • TSavePictureDialog • TCalendarDialog • TCalculatorDialog • TPrinterSetupDialog • TPrintDialog • TPageSetupDialog • TTaskDialog
Data Controls TDBNavigator • TDBText • TDBEdit • TDBMemo • TDBImage • TDBListBox • TDBLookupListBox • TDBComboBox • TDBLookupComboBox • TDBCheckBox • TDBRadioGroup • TDBCalendar • TDBGroupBox • TDBGrid • TDBDateTimePicker
Data Access TDataSource • TBufDataset • TMemDataset • TSdfDataSet • TFixedFormatDataSet • TDbf
System TTimer • TIdleTimer • TLazComponentQueue • THTMLHelpDatabase • THTMLBrowserHelpViewer • TAsyncProcess • TProcessUTF8 • TProcess • TSimpleIPCClient • TSimpleIPCServer • TXMLConfig • TEventLog • TServiceManager • TCHMHelpDatabase • TLHelpConnector
Misc TColorButton • TSpinEdit • TFloatSpinEdit • TArrow • TCalendar • TEditButton • TFileNameEdit • TDirectoryEdit • TDateEdit • TTimeEdit • TCalcEdit • TFileListBox • TFilterComboBox • TComboBoxEx • TCheckComboBox • TButtonPanel • TShellTreeView • TShellListView • TXMLPropStorage • TINIPropStorage • TIDEDialogLayoutStorage • TMRUManager • TStrHolder
LazControls TCheckBoxThemed • TDividerBevel • TExtendedNotebook • TListFilterEdit • TListViewFilterEdit • TTreeFilterEdit • TShortPathEdit • TLvlGraphControl
RTTI TTIEdit • TTIComboBox • TTIButton • TTICheckBox • TTILabel • TTIGroupBox • TTIRadioGroup • TTICheckGroup • TTICheckListBox • TTIListBox • TTIMemo • TTICalendar • TTIImage • TTIFloatSpinEdit • TTISpinEdit • TTITrackBar • TTIProgressBar • TTIMaskEdit • TTIColorButton • TMultiPropertyLink • TTIPropertyGrid • TTIGrid
SQLdb TSQLQuery • TSQLTransaction • TSQLScript • TSQLConnector • TMSSQLConnection • TSybaseConnection • TPQConnection • TPQTEventMonitor • TOracleConnection • TODBCConnection • TMySQL40Connection • TMySQL41Connection • TMySQL50Connection • TMySQL51Connection • TMySQL55Connection • TMySQL56Connection • TSQLite3Connection • TIBConnection • TFBAdmin • TFBEventMonitor • TSQLDBLibraryLoader
Pascal Script TPSScript • TPSScriptDebugger • TPSDllPlugin • TPSImport_Classes • TPSImport_DateUtils • TPSImport_ComObj • TPSImport_DB • TPSImport_Forms • TPSImport_Controls • TPSImport_StdCtrls • TPSCustomPlugin
SynEdit TSynEdit • TSynCompletion • TSynAutoComplete • TSynMacroRecorder • TSynExporterHTML • TSynPluginSyncroEdit • TSynPasSyn • TSynFreePascalSyn • TSynCppSyn • TSynJavaSyn • TSynPerlSyn • TSynHTMLSyn • TSynXMLSyn • TSynLFMSyn • TSynDiffSyn • TSynUNIXShellScriptSyn • TSynCssSyn • TSynPHPSyn • TSynTeXSyn • TSynSQLSyn • TSynPythonSyn • TSynVBSyn • TSynAnySyn • TSynMultiSyn • TSynBatSyn • TSynIniSyn • TSynPoSyn
Chart TChart • TListChartSource • TRandomChartSource • TUserDefinedChartSource • TCalculatedChartSource • TDbChartSource • TChartToolset • TChartAxisTransformations • TChartStyles • TChartLegendPanel • TChartNavScrollBar • TChartNavPanel • TIntervalChartSource • TDateTimeIntervalChartSource • TChartListBox • TChartExtentLink • TChartImageList
IPro TIpFileDataProvider • TIpHttpDataProvider • TIpHtmlPanel