IDE Window: Extract Procedure/de
│
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.
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, daß 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 erezugen 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, daß "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, daß es mit jedem Code funktioniert. Aktuelle Limits/ToDos:
- prüfen ob die Auswahl bounds on statement bounds
- "with" Anweisungen