IDE Window: Extract Procedure/fr

From Lazarus wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Deutsch (de) English (en) español (es) suomi (fi) français (fr) русский (ru) slovenčina (sk) 中文(中国大陆)‎ (zh_CN)

Capture d'écran

Edition->Extraire Procédure

ExtraireProcédure.png

Description

Résumé: "Extraire procédure" prend quelques phrases sélectionnées en pascal et crée une nouvelle procédure/méthode à partir de ce code source. Cet outil est utile pour diviser de grosses procédures ou pour créer facilement de nouvelles procédures à partir d'un certain code.

Exemple de base :

 
 procedure DoSomething;
 begin
   CallSomething;
 end;

Choisir la ligne "CallSomething;" et lancer la procédure d'extraction. Une boite de dialogue apparaît et vous pouvez sélectionner le type et le nom de la procédure à créer. Par exemple : procedure, "NewProc". Resultat:

 procedure NewProc;
 begin
   CallSomething;
 end;
 
 procedure DoSomething;
 begin
   NewProc;
 end;

Vous pouvez voir que la nouvelle procédure "NewProc" a été créé avec la sélection comme corps de la procédure et le vieux code a été remplacé par un call.

Variables locales et paramètres :
"Extraire Procédure" scanne à la recherche des variables utilisées et crée automatiquement une liste de paramètres et des variables locales. Exemple :

 procedure TForm1.DoSomething(var Erni, Bert: integer);
 var
   i: Integer; // Comment
 begin
   Erni:=Erni+Bert;
   for i:=Erni to 5 do begin
   |
   end;
 end;

Selectionnez la boucle for et créez une nouvelle procédure "NewProc". La variable locale i est seulement employé dans la sélection, ainsi elle sera déplacée vers la nouvelle procédure. Erni est également employé dans le restant du code, ainsi il deviendra un paramètre.

Résultat :

 procedure NewProc(const Erni: integer);
 var
   i: Integer; // Comment
 begin
   for i:=Erni to 5 do begin
   |
   end;
 end;
 
 procedure TForm1.DoSomething(var Erni, Bert: integer);
 begin
   Erni:=Erni+Bert;
   NewProc(Erni);
 end;

Vous pouvez voir que "i" a été déplacé vers la nouvelle procédure (Note: y compris son commentaire ) et Erni.

Limitations:
Le Pascal est un langage très puissant , ainsi ne vous attendez pas à ce que cela fonctionne avec chaque code. Les limites actuelles/ToDos:

  • vérifie si la sélection correspond aux limites de la phrase
  • les instructions "with"