IDE Window: Extract Procedure/fr

From Lazarus wiki
Jump to navigationJump to search

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"