IDE Window: Extract Procedure/fr
│
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
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 :
<delphi>
procedure DoSomething; begin CallSomething; end;
</delphi> 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: <delphi>
procedure NewProc; begin CallSomething; end; procedure DoSomething; begin NewProc; end;
</delphi> 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 :
<delphi>
procedure TForm1.DoSomething(var Erni, Bert: integer); var i: Integer; // Comment begin Erni:=Erni+Bert; for i:=Erni to 5 do begin | end; end;
</delphi> 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 :
<delphi>
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;
</delphi> 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 une langue très puissant , ainsi ne vous attendez pas à ce que cela fonctionnera avec chaque code. Les limites actuelles/ToDos:
- check if selection bounds on statement bounds
- les instructions "with"