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

From Lazarus wiki
Jump to navigationJump to search
(Created page with "{{IDE Window: Extract Procedure}} = Erota aliohjelma = Yleistä: "Erota aliohjelma" ottaa käyttäjän valitsemat Pascal-lauseet ja luo uuden aliohjelman / metodin tästä k...")
 
m (Fixed syntax highlighting)
 
Line 7: Line 7:
 
Perusesimerkki:  
 
Perusesimerkki:  
  
<source>
+
<syntaxhighlight lang=pascal>
 
  procedure DoSomething;
 
  procedure DoSomething;
 
  begin
 
  begin
 
   CallSomething;
 
   CallSomething;
 
  end;
 
  end;
</source>
+
</syntaxhighlight>
 +
 
 
Valitse rivi "CallSomething;" ja suorita "Erota aliohjelma". Avaa valintaikkunan jossa voidaan valita tyypin ja aliohjelman nimen. Esimerkiksi: procedure, "NewProc". Tulos:
 
Valitse rivi "CallSomething;" ja suorita "Erota aliohjelma". Avaa valintaikkunan jossa voidaan valita tyypin ja aliohjelman nimen. Esimerkiksi: procedure, "NewProc". Tulos:
  
<source>
+
<syntaxhighlight lang=pascal>
 
  procedure NewProc;
 
  procedure NewProc;
 
  begin
 
  begin
Line 25: Line 26:
 
   NewProc;
 
   NewProc;
 
  end;
 
  end;
</source>
+
</syntaxhighlight>
  
 
Niin kuin nähdään niin uusi aliohjelma "NewProc" luotiin valinnalla rungoksi ja vanha koodi korvattiin sen kutsulla.
 
Niin kuin nähdään niin uusi aliohjelma "NewProc" luotiin valinnalla rungoksi ja vanha koodi korvattiin sen kutsulla.
Line 32: Line 33:
 
"Erota aliohjelma" skannaa käytetyt muuttujat ja luo automaattisesti parametriluettelon ja paikalliset muuttujat. Esimerkki:
 
"Erota aliohjelma" skannaa käytetyt muuttujat ja luo automaattisesti parametriluettelon ja paikalliset muuttujat. Esimerkki:
  
<source>
+
<syntaxhighlight lang=pascal>
 
  procedure TForm1.DoSomething(var Erni, Bert: integer);
 
  procedure TForm1.DoSomething(var Erni, Bert: integer);
 
  var
 
  var
Line 42: Line 43:
 
   end;
 
   end;
 
  end;
 
  end;
</source>
+
</syntaxhighlight>
  
 
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.
 
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.
Line 48: Line 49:
 
Tulos:  
 
Tulos:  
  
<source>
+
<syntaxhighlight lang=pascal>
 
  procedure NewProc(const Erni: integer);
 
  procedure NewProc(const Erni: integer);
 
  var
 
  var
Line 63: Line 64:
 
   NewProc(Erni);
 
   NewProc(Erni);
 
  end;
 
  end;
</source>
+
</syntaxhighlight>
  
 
Nähdään, että "i" on siirretty uuteen aliohjelmaan (Huomaa: sen kommentti mukaan lukien) ja Erni.
 
Nähdään, että "i" on siirretty uuteen aliohjelmaan (Huomaa: sen kommentti mukaan lukien) ja Erni.
  
Rajoitukset:<br>
+
Rajoitukset:
 +
 
 
Pascal on hyvin tehokas ohjelmointikieli, joten ei pidä odottaa, että se toimii kaikkien koodien kanssa. Nykyiset rajoitukset / ToDos:
 
Pascal on hyvin tehokas ohjelmointikieli, joten ei pidä odottaa, että se toimii kaikkien koodien kanssa. Nykyiset rajoitukset / ToDos:
 
* tarkista, onko valintarajat asetuksissa
 
* tarkista, onko valintarajat asetuksissa
 
* "[[With]]" lause
 
* "[[With]]" lause

Latest revision as of 10:45, 17 February 2020

Deutsch (de) English (en) español (es) suomi (fi) français (fr) русский (ru) slovenčina (sk) 中文(中国大陆)‎ (zh_CN)

Erota aliohjelma

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.

Perusesimerkki:

 procedure DoSomething;
 begin
   CallSomething;
 end;

Valitse rivi "CallSomething;" ja suorita "Erota aliohjelma". Avaa valintaikkunan jossa voidaan valita tyypin ja aliohjelman nimen. Esimerkiksi: procedure, "NewProc". Tulos:

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

Niin kuin nähdään niin uusi aliohjelma "NewProc" luotiin valinnalla rungoksi ja vanha koodi korvattiin sen kutsulla.

Paikalliset muuttujat ja parametrit:
"Erota aliohjelma" skannaa käytetyt muuttujat ja luo automaattisesti parametriluettelon ja paikalliset muuttujat. Esimerkki:

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

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.

Tulos:

 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;

Nähdään, että "i" on siirretty uuteen aliohjelmaan (Huomaa: sen kommentti mukaan lukien) ja Erni.

Rajoitukset:

Pascal on hyvin tehokas ohjelmointikieli, joten ei pidä odottaa, että se toimii kaikkien koodien kanssa. Nykyiset rajoitukset / ToDos:

  • tarkista, onko valintarajat asetuksissa
  • "With" lause