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

From Lazarus wiki
Jump to navigationJump to search
m (Spelling)
m (fix syntax)
 
(2 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
Kurz gefasst: "Prozedur extrahieren" nimmt einige ausgewählte Pascal Anweisungen und erzeugt eine neue Prozedur/Methode aus diesem Code. Dieses Werkzeug ist hilfreich, um große Prozeduren aufzuteilen oder um leicht eine neue Prozedur aus einigem Code zu erzeugen.
 
Kurz gefasst: "Prozedur extrahieren" nimmt einige ausgewählte Pascal Anweisungen und erzeugt eine neue Prozedur/Methode aus diesem Code. Dieses Werkzeug ist hilfreich, um große Prozeduren aufzuteilen oder um leicht eine neue Prozedur aus einigem Code zu erzeugen.
  
Einfaches Beispiel:<br>
+
Ein einfaches Beispiel:
 +
 
 +
<syntaxhighlight lang=pascal>
 
  procedure DoSomething;
 
  procedure DoSomething;
 
  begin
 
  begin
 
   CallSomething;
 
   CallSomething;
 
  end;
 
  end;
 +
</syntaxhighlight>
 +
 
Markieren sie die Zeile "CallSomething;" und wählen "Prozedur extrahieren". Ein Dialog erscheint und sie können den Typ und Namen der zu erstellenden Prozedur wählen. Zum Beispiel:
 
Markieren sie die Zeile "CallSomething;" und wählen "Prozedur extrahieren". Ein Dialog erscheint und sie können den Typ und Namen der zu erstellenden Prozedur wählen. Zum Beispiel:
 
procedure, "NewProc". Ergebnis:
 
procedure, "NewProc". Ergebnis:
 +
 +
<syntaxhighlight lang=pascal>
 
  procedure NewProc;
 
  procedure NewProc;
 
  begin
 
  begin
Line 19: Line 25:
 
   NewProc;
 
   NewProc;
 
  end;
 
  end;
 +
</syntaxhighlight>
 +
 
Sie können sehen, dass die neue Prozedur "NewProc" erzeugt wurde mit der Abgrenzung als Rumpf und der alte Code durch einen Aufruf ersetzt wurde.
 
Sie können sehen, dass die neue Prozedur "NewProc" erzeugt wurde mit der Abgrenzung als Rumpf und der alte Code durch einen Aufruf ersetzt wurde.
  
 
Lokale Variablen und Parameter:<br>
 
Lokale Variablen und Parameter:<br>
 
"Prozedur extrahieren" scannt nach verwendeten Variablen und erzeugt automatisch die Parameterliste und lokalen Variablen. Beispiel:
 
"Prozedur extrahieren" scannt nach verwendeten Variablen und erzeugt automatisch die Parameterliste und lokalen Variablen. Beispiel:
 +
 +
<syntaxhighlight lang=pascal>
 
  procedure TForm1.DoSomething(var Erni, Bert: integer);
 
  procedure TForm1.DoSomething(var Erni, Bert: integer);
 
  var
 
  var
Line 32: Line 42:
 
   end;
 
   end;
 
  end;
 
  end;
 +
</syntaxhighlight>
 +
 
Markieren sie die ''for'' Schleife und erzeugen eine neue Prozedur "NewProc". Die lokale Variable i wird nur in der Auswahl verwendet, daher wird sie in die neue Prozedur verschoben. Erni wird auch im übrigen Code verwendet. Daher wird er ein Parameter.
 
Markieren sie die ''for'' Schleife und erzeugen eine neue Prozedur "NewProc". Die lokale Variable i wird nur in der Auswahl verwendet, daher wird sie in die neue Prozedur verschoben. Erni wird auch im übrigen Code verwendet. Daher wird er ein Parameter.
  
Ergebnis:<br>
+
Ergebnis:
 +
 
 +
<syntaxhighlight lang=pascal>
 
  procedure NewProc(const Erni: integer);
 
  procedure NewProc(const Erni: integer);
 
  var
 
  var
Line 49: Line 63:
 
   NewProc(Erni);
 
   NewProc(Erni);
 
  end;
 
  end;
 +
</syntaxhighlight>
  
 
Sie können sehen, dass "i" in die neue Prozedur verschoben wurde (Anmerkung: inklusive des Kommentars) und Erni.
 
Sie können sehen, dass "i" in die neue Prozedur verschoben wurde (Anmerkung: inklusive des Kommentars) und Erni.
  
Grenzen:<br>
+
Grenzen:
 +
 
 
Pascal ist eine sehr mächtige Sprache. Erwarten sie daher nicht, dass es mit jedem Code funktioniert. Aktuelle Limits/ToDos:
 
Pascal ist eine sehr mächtige Sprache. Erwarten sie daher nicht, dass es mit jedem Code funktioniert. Aktuelle Limits/ToDos:
 
* prüfen, ob die Auswahl vollständige Anweisungen enthält
 
* prüfen, ob die Auswahl vollständige Anweisungen enthält
 
* "with" Anweisungen
 
* "with" Anweisungen

Latest revision as of 00:28, 9 May 2020

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

Kurz gefasst: "Prozedur extrahieren" nimmt einige ausgewählte Pascal Anweisungen und erzeugt eine neue Prozedur/Methode aus diesem Code. Dieses Werkzeug ist hilfreich, um große Prozeduren aufzuteilen oder um leicht eine neue Prozedur aus einigem Code zu erzeugen.

Ein einfaches Beispiel:

 procedure DoSomething;
 begin
   CallSomething;
 end;

Markieren sie die Zeile "CallSomething;" und wählen "Prozedur extrahieren". Ein Dialog erscheint und sie können den Typ und Namen der zu erstellenden Prozedur wählen. Zum Beispiel: procedure, "NewProc". Ergebnis:

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

Sie können sehen, dass die neue Prozedur "NewProc" erzeugt wurde mit der Abgrenzung als Rumpf und der alte Code durch einen Aufruf ersetzt wurde.

Lokale Variablen und Parameter:
"Prozedur extrahieren" scannt nach verwendeten Variablen und erzeugt automatisch die Parameterliste und lokalen Variablen. Beispiel:

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

Markieren sie die for Schleife und erzeugen eine neue Prozedur "NewProc". Die lokale Variable i wird nur in der Auswahl verwendet, daher wird sie in die neue Prozedur verschoben. Erni wird auch im übrigen Code verwendet. Daher wird er ein Parameter.

Ergebnis:

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

Sie können sehen, dass "i" in die neue Prozedur verschoben wurde (Anmerkung: inklusive des Kommentars) und Erni.

Grenzen:

Pascal ist eine sehr mächtige Sprache. Erwarten sie daher nicht, dass es mit jedem Code funktioniert. Aktuelle Limits/ToDos:

  • prüfen, ob die Auswahl vollständige Anweisungen enthält
  • "with" Anweisungen