IDE Window: Extract Procedure/sk

From Lazarus wiki
Revision as of 09:43, 17 February 2020 by Trev (talk | contribs) (Fixed syntax highlighting)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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)

(Extract Procedure)

Extrahovať procedúru vystrihne vybratú časť kódu Pascalu a z neho vytvára novú procedúru/metódu. Tento nástroj je užitočný na rozdelenie veľkých procedúr alebo na jednoduché vytvorenie novej procedúry z nejakého kódu.

Základný príklad:

 procedure DoSomething;
 begin
   CallSomething;
 end;

Vyberte riadok "CallSomething;" a urobte Extrahovať procedúru. Vyskočí dialógové okno, v ktorom môžete zvoliť typ a meno procedúry, ktorá á byť vytvorená. Napríklad: procedure, "NewProc".

Výsledok:

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

Môžete vidieť, že bola vytvorená nová procedúra "NewProc", do jej tela bol vložený výber a starý kód bol nahradený volaním novej procedúry.

Lokálne premenné a parametre:

Nástroj Extrahovať procedúru hľadá použité premenné a automaticky vytvára zoznam parametrov a lokálnych premenných. Príklad:

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

Vyberte slučku for a vytvorte novú procedúru "NewProc". Vo výbere je použitá len lokálna premenná i, tak bude presunutá do novej procedúry. Premenná Erni je použitá aj vo zvyšku kódu, tak sa z nej stane parameter.

Výsledok:

 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;

Vidno ako je "i" presunutá do premennej, vrátane komentára, a z Erni je vytvorený parameter.

Obmedzenia

Pascal je veľmi výkonný jazyk, tak nemožno očakávať, že to bude pracovať s každým kódom. Momentálne limity/ToDo:

  • kontrola, či hranice výberu korenšpondujú s hranicou príkazu
  • príkazy "with"