Difference between revisions of "IDE Window: Extract Procedure/sk"

From Lazarus wiki
m (úprava formátovania)
m (Text replace - "pascal>" to "syntaxhighlight>")
Line 5: Line 5:
  
 
Základný príklad:
 
Základný príklad:
<pascal> procedure DoSomething;
+
<syntaxhighlight> procedure DoSomething;
 
  begin
 
  begin
 
   CallSomething;
 
   CallSomething;
  end;</pascal>
+
  end;</syntaxhighlight>
  
 
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".
 
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:
 
Výsledok:
<pascal> procedure NewProc;
+
<syntaxhighlight> procedure NewProc;
 
  begin
 
  begin
 
   CallSomething;
 
   CallSomething;
Line 21: Line 21:
 
  begin
 
  begin
 
   NewProc;
 
   NewProc;
  end;</pascal>
+
  end;</syntaxhighlight>
  
 
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.
 
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.
Line 28: Line 28:
  
 
Nástroj Extrahovať procedúru hľadá použité premenné a automaticky vytvára zoznam parametrov a lokálnych premenných. Príklad:
 
Nástroj Extrahovať procedúru hľadá použité premenné a automaticky vytvára zoznam parametrov a lokálnych premenných. Príklad:
<pascal> procedure TForm1.DoSomething(var Erni, Bert: integer);
+
<syntaxhighlight> procedure TForm1.DoSomething(var Erni, Bert: integer);
 
  var
 
  var
 
   i: Integer; // Comment
 
   i: Integer; // Comment
Line 36: Line 36:
 
   |
 
   |
 
   end;
 
   end;
  end;</pascal>
+
  end;</syntaxhighlight>
  
 
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.
 
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:
 
Výsledok:
<pascal> procedure NewProc(const Erni: integer);
+
<syntaxhighlight> procedure NewProc(const Erni: integer);
 
  var
 
  var
 
   i: Integer; // Comment
 
   i: Integer; // Comment
Line 54: Line 54:
 
   Erni:=Erni+Bert;
 
   Erni:=Erni+Bert;
 
   NewProc(Erni);
 
   NewProc(Erni);
  end;</pascal>
+
  end;</syntaxhighlight>
  
 
Vidno ako je "i" presunutá do premennej, vrátane komentára, a z Erni je vytvorený parameter.
 
Vidno ako je "i" presunutá do premennej, vrátane komentára, a z Erni je vytvorený parameter.

Revision as of 00:50, 25 March 2012

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"