Sign in Join
Wiki copytemporary

IDE Window: Extract Procedure/fi: what changed

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

Title: IDE Window: Extract Procedure/fi

OldNewLine
1+# Erota aliohjelma
2+
3+Yleistä: "Erota aliohjelma" ottaa käyttäjän valitsemat Pascal-lauseet ja luo uuden aliohjelman / metodin tästä koodista. Tämä työkalu on hyödyllinen jakamaan suuria aliohjelmia tai helposti luomaan uuden aliohjelman jostakin osaa lähdekoodista.
4+
5+Perusesimerkki:
6+
7+``` pascal
8+ procedure DoSomething;
9+ begin
10+ CallSomething;
11+ end;
12+```
13+
14+Valitse rivi "CallSomething;" ja suorita "Erota aliohjelma". Avaa valintaikkunan jossa voidaan valita tyypin ja aliohjelman nimen. Esimerkiksi: procedure, "NewProc". Tulos:
15+
16+``` pascal
17+ procedure NewProc;
18+ begin
19+ CallSomething;
20+ end;
21+
22+ procedure DoSomething;
23+ begin
24+ NewProc;
25+ end;
26+```
27+
28+Niin kuin nähdään niin uusi aliohjelma "NewProc" luotiin valinnalla rungoksi ja vanha koodi korvattiin sen kutsulla.
29+
30+Paikalliset muuttujat ja parametrit:\
31+"Erota aliohjelma" skannaa käytetyt muuttujat ja luo automaattisesti parametriluettelon ja paikalliset muuttujat. Esimerkki:
32+
33+``` pascal
34+ procedure TForm1.DoSomething(var Erni, Bert: integer);
35+ var
36+ i: Integer; // Comment
37+ begin
38+ Erni:=Erni+Bert;
39+ for i:=Erni to 5 do begin
40+ |
41+ end;
42+ end;
43+```
44+
45+Valitse silmukka ja luo uusi aliohjelma "NewProc". Paikallista muuttujaa i käytetään vain valinnassa, joten se siirretään uuteen aliohjelmaan. *Erni*ä käytetään myös jäljellä olevassa koodissa, joten siitä tulee parametri.
46+
47+Tulos:
48+
49+``` pascal
50+ procedure NewProc(const Erni: integer);
51+ var
52+ i: Integer; // Comment
53+ begin
54+ for i:=Erni to 5 do begin
55+ |
56+ end;
57+ end;
58+
59+ procedure TForm1.DoSomething(var Erni, Bert: integer);
60+ begin
61+ Erni:=Erni+Bert;
62+ NewProc(Erni);
63+ end;
64+```
65+
66+Nähdään, että "i" on siirretty uuteen aliohjelmaan (Huomaa: sen kommentti mukaan lukien) ja Erni.
67+
68+Rajoitukset:
69+
70+Pascal on hyvin tehokas ohjelmointikieli, joten ei pidä odottaa, että se toimii kaikkien koodien kanssa. Nykyiset rajoitukset / ToDos:
71+
72+- tarkista, onko valintarajat asetuksissa
73+- "[[With]]" lause
74+
75+---
76+*From the Free Pascal wiki, page "IDE Window: Extract Procedure/fi", 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