Sign in Join
Wiki copytemporary

IDE Window: Extract Procedure/sk: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: IDE Window: Extract Procedure/sk

OldNewLine
1+(*Extract Procedure*)
2+
3+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.
4+
5+Základný príklad:
6+
7+``` pascal
8+ procedure DoSomething;
9+ begin
10+ CallSomething;
11+ end;
12+```
13+
14+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".
15+
16+Výsledok:
17+
18+``` pascal
19+ procedure NewProc;
20+ begin
21+ CallSomething;
22+ end;
23+
24+ procedure DoSomething;
25+ begin
26+ NewProc;
27+ end;
28+```
29+
30+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.
31+
32+Lokálne premenné a parametre:\
33+Nástroj Extrahovať procedúru hľadá použité premenné a automaticky vytvára zoznam parametrov a lokálnych premenných. Príklad:
34+
35+``` pascal
36+ procedure TForm1.DoSomething(var Erni, Bert: integer);
37+ var
38+ i: Integer; // Comment
39+ begin
40+ Erni:=Erni+Bert;
41+ for i:=Erni to 5 do begin
42+ |
43+ end;
44+ end;
45+```
46+
47+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.
48+
49+Výsledok:
50+
51+``` pascal
52+ procedure NewProc(const Erni: integer);
53+ var
54+ i: Integer; // Comment
55+ begin
56+ for i:=Erni to 5 do begin
57+ |
58+ end;
59+ end;
60+
61+ procedure TForm1.DoSomething(var Erni, Bert: integer);
62+ begin
63+ Erni:=Erni+Bert;
64+ NewProc(Erni);
65+ end;
66+```
67+
68+Vidno ako je "i" presunutá do premennej, vrátane komentára, a z Erni je vytvorený parameter.
69+
70+Obmedzenia
71+
72+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:
73+
74+- kontrola, či hranice výberu korenšpondujú s hranicou príkazu
75+- príkazy "with"
76+
77+---
78+*From the Free Pascal wiki, page "IDE Window: Extract Procedure/sk", as it stood on 2020-02-17 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history