Sign in Join
Wiki copytemporary

Chelper/fr: what changed

Revision 3 to 4. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
1-## Contents
2-
3- * 1 A propos
4- * 2 Auteur
5- * 3 Licence
6- * 4 Téléchargement
7- * 5 Journal des modifications
8- * 6 Dependencies / System Requirements
9- * 7 Problèmes
10- * 8 Installation
11- * 9 Comment l'utiliser
12- * 9.1 Raccourcis
13- * 9.2 Général
14- * 9.3 Defines
15- * 9.4 Fichier de configuration
16-
171### A propos
182
19-Chelper est un outil d'extension de Lazarus, qui aide à convertir les fichiers d'entête C en Pascal. Oui c'est un autre outil de conversion C vers Pascal comme beaucoup qui lui sont similaires ([[H2Pas/fr|H2Pas]], ToPas), mais on pourrait le trouver plus utile.
3+Chelper est un outil d'extension de Lazarus, qui aide à convertir les fichiers d'entête C en Pascal. Oui c'est un autre outil de conversion C vers Pascal comme beaucoup qui lui sont similaires ([[H2Pas/fr|H2Pas]], ToPas), mais on pourrait le trouver plus utile.
204
21-L'extension n'essaie pas de convertir un en-tête pour l'utilisateur, c'est plutôt un outil d'aide à la traduction manuelle, faisant presque tout le "sale boulot" pour l'utilisateur.
5+L'extension n'essaie pas de convertir un en-tête pour l'utilisateur, c'est plutôt un outil d'aide à la traduction manuelle, faisant presque tout le "sale boulot" pour l'utilisateur.
226
23-Chelper supporte aussi la conversion des déclarations Objective-C vers Objective-P.
7+Chelper supporte aussi la conversion des déclarations Objective-C vers Objective-P.
248
259### Auteur
2610
27-Dmitry 'skalogryz' Boyarintsev
11+Dmitry 'skalogryz' Boyarintsev
2812
2913### Licence
3014
31-[modified](<http://svn.freepascal.org/svn/lazarus/trunk/COPYING.modifiedLGPL>) [LGPL](<http://svn.freepascal.org/svn/lazarus/trunk/COPYING.LGPL>) (comme pour les FPC RTL et Lazarus LCL). Vous pouvez contacter l'auteur si la LGPL ne convient pas à la licence de votre projet.
15+[modified](http://svn.freepascal.org/svn/lazarus/trunk/COPYING.modifiedLGPL) [LGPL](http://svn.freepascal.org/svn/lazarus/trunk/COPYING.LGPL) (comme pour les FPC RTL et Lazarus LCL). Vous pouvez contacter l'auteur si la LGPL ne convient pas à la licence de votre projet.
3216
3317### Téléchargement
3418
3519Il n'y a pas encore de paquet téléchargeable", vous pouvez accéder à louil depuis SVN: <https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/chelper/>
36-```
37-svn checkout <https://svn.code.sf.net/p/lazarus-ccr/svn/components/chelper/>
38-```
3920
21+`svn checkout `[`https://svn.code.sf.net/p/lazarus-ccr/svn/components/chelper/`](https://svn.code.sf.net/p/lazarus-ccr/svn/components/chelper/)
22+
4023### Journal des modifications
4124
42- * Version 0.8, 8 août 2010
25+- Version 0.8, 8 août 2010
4326
4427### Dependencies / System Requirements
4528
46- * Lazarus 0.9.29 ou supérieur
29+- Lazarus 0.9.29 ou supérieur
4730
48-Etat: _Beta_
31+Etat: *Beta*
4932
5033### Problèmes
5134
52-Aucun analyseur d'expression complet pour construire l'arborescence d'expression.
35+Aucun analyseur d'expression complet pour construire l'arborescence d'expression.
5336
54-i vous trouvez un bug dans la convertisseur, veuillez le rapporter dans [bugs.freepascal.org](<http://bugs.freepascal.org>) pour le projet Lazarus-CCR. Merci d'attacher le fichier d'entête C et les explications sur ce qui ne fonctionne pas comme voulu.
37+i vous trouvez un bug dans la convertisseur, veuillez le rapporter dans [bugs.freepascal.org](http://bugs.freepascal.org) pour le projet Lazarus-CCR. Merci d'attacher le fichier d'entête C et les explications sur ce qui ne fonctionne pas comme voulu.
5538
5639### Installation
5740
58- * Obtenez le paquet depuis SVN.
59- * Installez le paquet Chelper.lpk depuis Lazarus.
60- * Allez vers _Outils- >C to Pascal Options->Converter_, décochez _Use external converter_ si vous voulez utiliser le paquet de convertisseur intégré.
41+- Obtenez le paquet depuis SVN.
42+- Installez le paquet Chelper.lpk depuis Lazarus.
43+- Allez vers *Outils-\>C to Pascal Options-\>Converter*, décochez *Use external converter* si vous voulez utiliser le paquet de convertisseur intégré.
6144
62-L'utilisation du convertisseur intégré présente un avantage en termes de performances. Cependant, si vous devez mettre à jour le convertisseur, vous devrez reconstruire l'intégralité de l'IDE. Il est également possible que le convertisseur provoque des plantages ou des blocages. Vous devriez le signaler, mais vous risquez de perdre toutes vos données.
45+L'utilisation du convertisseur intégré présente un avantage en termes de performances. Cependant, si vous devez mettre à jour le convertisseur, vous devrez reconstruire l'intégralité de l'IDE. Il est également possible que le convertisseur provoque des plantages ou des blocages. Vous devriez le signaler, mais vous risquez de perdre toutes vos données.
6346
64-Il est beaucoup plus sûr d'utiliser l'outil externe cconvert. Il est également plus facile de mettre à jour le convertisseur si de nouvelles fonctionnalités sont ajoutées ou si des bogues sont corrigés. Tout ce dont vous avez besoin est de reconstruire l'exécutable cconverter beaucoup plus rapidement que de reconstruire Lazarus.
47+Il est beaucoup plus sûr d'utiliser l'outil externe cconvert. Il est également plus facile de mettre à jour le convertisseur si de nouvelles fonctionnalités sont ajoutées ou si des bogues sont corrigés. Tout ce dont vous avez besoin est de reconstruire l'exécutable cconverter beaucoup plus rapidement que de reconstruire Lazarus.
6548
66-Pour utiliser l'outil externe, vous devez faire ce qui suit:
49+Pour utiliser l'outil externe, vous devez faire ce qui suit:
6750
68- * Ouvrir et construire le projet cconvert.lpi (placé dans le répertoire du paquet). Vous devriez obtenir le fichier exécutable "cconvert".
69- * Ouvrir Outils->C to Pascal Options->Converter, pressez sur Select et choisissez le fichier exécutable cconvert.
70- * Contrôlez _Use external converter_ depuis _Tools- >C to Pascal Options->Converter_.
51+- Ouvrir et construire le projet cconvert.lpi (placé dans le répertoire du paquet). Vous devriez obtenir le fichier exécutable "cconvert".
52+- Ouvrir Outils-\>C to Pascal Options-\>Converter, pressez sur Select et choisissez le fichier exécutable cconvert.
53+- Contrôlez *Use external converter* depuis *Tools-\>C to Pascal Options-\>Converter*.
7154
7255### Comment l'utiliser
7356
7457#### Raccourcis
7558
76- * ctrl+b - convertit une déclaration C simple en Pascal.
77- * ctrl+shift+b - convertit toutes les déclarations C vers Pascal depuis la position courante du curseur jusqu'à la fin du fichier.
59+- ctrl+b - convertit une déclaration C simple en Pascal.
60+- ctrl+shift+b - convertit toutes les déclarations C vers Pascal depuis la position courante du curseur jusqu'à la fin du fichier.
7861
7962#### Général
8063
81- * Ouvrez un fichier avec des déclarations C dans l'EDI Lazarus ou démarrer un nouveau fichier en y copiant les déclarations.
82- * Placez le curseur sur la ligne où se trouve la déclaration c et pressez sur Ctrl+B (ce raccourci pourra être modifié à l'avenir).
64+- Ouvrez un fichier avec des déclarations C dans l'EDI Lazarus ou démarrer un nouveau fichier en y copiant les déclarations.
65+- Placez le curseur sur la ligne où se trouve la déclaration c et pressez sur Ctrl+B (ce raccourci pourra être modifié à l'avenir).
8366
84-Par exemple:
85-```
86-int c;
87- int b;
88-```
67+Par exemple:
8968
90-Si le curseur estplacé sur la ligne 'inc c;' et que ctrl+b est enfoncé, le résultat serait:
91-```
92-var
93- c : Integer;
94- int b;
95-```
69+`int c;`\
70+`int b; `
9671
97-exactement une déclaration est convertie. Le curseur serait placé juste après la définition convertie. Vous pouvez appuyer à nouveau sur ctrl+b, et le résultat serait:
98-```
99-var
100- c : Integer;
101- var
102- b : Integer;
103-```
72+Si le curseur estplacé sur la ligne 'inc c;' et que ctrl+b est enfoncé, le résultat serait:
10473
105-L'analyse des définitions une par une préparera vos en-têtes C en très peu de temps, tout en les gardant propres et correctes du point de vue de Pascal.
74+`var`\
75+`  c : Integer;`\
76+`int b;`
10677
107- * Si vous êtes sûr que vos définitions (expliquées ci-dessous) sont suffisamment bien configurées. Vous pouvez essayer de convertir le reste du fichier en un seul appel en appuyant sur ctrl+shift+b
78+exactement une déclaration est convertie. Le curseur serait placé juste après la définition convertie. Vous pouvez appuyer à nouveau sur ctrl+b, et le résultat serait:
10879
109-i.e. vous avez 2 déclarations dans le fichier:
110-```
111-int fn(int, float);
112- extern int v;
113-```
80+`var`\
81+`  c : Integer;`\
82+`var `\
83+`  b : Integer;`
11484
115-En plaçant le curseur avant eux puis en pressant sur ctrl+shift+b, cela générera:
116-```
117-function fn(par0: Integer; par1: Single): Integer; cdecl; external;
118-
119- var
120- v : Integer; external;
121-```
85+L'analyse des définitions une par une préparera vos en-têtes C en très peu de temps, tout en les gardant propres et correctes du point de vue de Pascal.
12286
123-**Vous devez être prudent, car il est courant d'utiliser des macros dans les en-têtes C. Laisser l'une des macros non définie peut produire une mauvaise déclaration pascal**. La section suivante explique comment définir une macro pour le chelper.
87+- Si vous êtes sûr que vos définitions (expliquées ci-dessous) sont suffisamment bien configurées. Vous pouvez essayer de convertir le reste du fichier en un seul appel en appuyant sur ctrl+shift+b
12488
89+i.e. vous avez 2 déclarations dans le fichier:
90+
91+`int fn(int, float);`\
92+`extern int v;`
93+
94+En plaçant le curseur avant eux puis en pressant sur ctrl+shift+b, cela générera:
95+
96+`function fn(par0: Integer; par1: Single): Integer; cdecl; external;`\
97+
98+`var`\
99+`  v : Integer; external;`
100+
101+**Vous devez être prudent, car il est courant d'utiliser des macros dans les en-têtes C. Laisser l'une des macros non définie peut produire une mauvaise déclaration pascal**. La section suivante explique comment définir une macro pour le chelper.
102+
125103#### Defines
126104
127-Dans la plupart des cas, des définitions de macro sans paramètre, comme
128-```
129-#define VALUE 1 << 2;
130-```
105+Dans la plupart des cas, des définitions de macro sans paramètre, comme
131106
132-sont utilisés comme des valeurs constantes. Chelper les traduit en constantes en essayant de convertir l'expression define.
133-```
134-const
135- VALUE = 1 shr 2;
136-```
107+`#define VALUE 1 << 2;`
137108
138-dans d'autres cas, les define sont utilisés pour quelques marquages "spéciaux" ou ou des informations additionnelles pour des outils exernes.
139-```
140-#define LIB_DEPRECATED
141- LIB_DEPRECATED int somefunc(int p);
142-```
109+sont utilisés comme des valeurs constantes. Chelper les traduit en constantes en essayant de convertir l'expression define.
143110
144-Sans la connaissance de LIB_DEPRECATED qui est la macro (de rien), il est impossible d'analyser correctement la déclaration de fonction. Vous pouvez spécifier les macros utilisées par Chelper dans le fichier définitions spécial de define.
111+`const`\
112+`  VALUE = 1 shr 2;`
145113
146-Sélectionnez Outils->C to Pascal options->Main, sélectionnez le fichier de define et pressez Edit.
114+dans d'autres cas, les define sont utilisés pour quelques marquages "spéciaux" ou ou des informations additionnelles pour des outils exernes.
147115
148-Cela ouvrirait le fichier de define personnalisé dans l'IDE Lazarus. Toutes les macros déclarées dans ce fichier sont utilisées par Chelper. Après avoir ajouté/modifié les définitions de macro, enregistrez le fichier et vous pouvez revenir à la conversion de l'en-tête C.
116+`#define LIB_DEPRECATED `\
117+`LIB_DEPRECATED int somefunc(int p);`
149118
150-Chelper gère également les macros de paramètres.
151-```
152-int somefunc SAFE_PARAMS( (int i))
153-```
119+Sans la connaissance de LIB_DEPRECATED qui est la macro (de rien), il est impossible d'analyser correctement la déclaration de fonction. Vous pouvez spécifier les macros utilisées par Chelper dans le fichier définitions spécial de define.
154120
155-Ajouter la déclaration suivante dans le fichier de définitions
156-```
157-#define SAFE_PARAMS(x) x
158-```
121+Sélectionnez Outils-\>C to Pascal options-\>Main, sélectionnez le fichier de define et pressez Edit.
159122
160-permettra d'analyser correctement la déclaration
161-```
162-function somefunc(i: Integer): Integer;
163-```
123+Cela ouvrirait le fichier de define personnalisé dans l'IDE Lazarus. Toutes les macros déclarées dans ce fichier sont utilisées par Chelper. Après avoir ajouté/modifié les définitions de macro, enregistrez le fichier et vous pouvez revenir à la conversion de l'en-tête C.
164124
125+Chelper gère également les macros de paramètres.
126+
127+`int somefunc SAFE_PARAMS( (int i))`
128+
129+Ajouter la déclaration suivante dans le fichier de définitions
130+
131+`#define SAFE_PARAMS(x) x`
132+
133+permettra d'analyser correctement la déclaration
134+
135+`function somefunc(i: Integer): Integer;`
136+
165137#### Fichier de configuration
166138
167-Le fichier de configuration représente lui-même un simple fichier .ini. La section suivante est utilisée dans le fichier:
139+Le fichier de configuration représente lui-même un simple fichier .ini. La section suivante est utilisée dans le fichier:
168140
169- * Main - pour les déclarations générales, qui affecte
141+- Main - pour les déclarations générales, qui affecte
170142
171- * Types - section de conversion de type personnalisé. Name=Value, où Name est le nom du c-type, Value est le type pascal résultant
143+- Types - section de conversion de type personnalisé. Name=Value, où Name est le nom du c-type, Value est le type pascal résultant
172144
173-exemple:
174-```
175-[Types]
176- int=integer
177- int*=PInteger
178- float=single
179- float*=PSingle
180-```
145+exemple:
181146
147+`[Types]`\
148+`int=integer`\
149+`int*=PInteger`\
150+`float=single`\
151+`float*=PSingle`
152+
182153---
183-*From the Free Pascal wiki, page "Chelper/fr", as the Internet Archive kept it on 2022-11-29. 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).*
154+*From the Free Pascal wiki, page "Chelper/fr", as it stood on 2022-04-30 after a change by E-ric, 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).*

Back to history