Difference between revisions of "IDE Window: Extract Procedure/ru"
(Created page with "{{IDE Window: Extract Procedure}} Abstract: "Extract Procedure" takes some selected pascal statements and creates a new procedure/method from this code. This tool is useful t...") |
m (Fixed syntax highlighting) |
||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
{{IDE Window: Extract Procedure}} | {{IDE Window: Extract Procedure}} | ||
− | |||
− | + | ||
− | <syntaxhighlight> | + | Аннотация: "Extract Procedure" [извлечение процедуры] принимает некоторые выбранные инструкции pascal и создает новую процедуру/метод из этого кода. Этот инструмент полезен для разделения больших процедур или для легкого создания новой процедуры из некоторого кода. |
+ | |||
+ | Основной пример: | ||
+ | <syntaxhighlight lang=pascal> | ||
procedure DoSomething; | procedure DoSomething; | ||
begin | begin | ||
Line 10: | Line 12: | ||
end; | end; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | Выберите строку "CallSomething;" и сделайте Extract Proc. Откроется диалоговое окно[, где] | |
− | + | вы можете выбрать тип и имя создаваемой процедуры. Например: | |
− | procedure, "NewProc". | + | procedure, "NewProc". Результат: |
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
procedure NewProc; | procedure NewProc; | ||
begin | begin | ||
Line 26: | Line 28: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | Вы можете видеть, что новая процедура "NewProc" была создана с выделением | |
− | + | в качестве тела [процедуры], и старый код был заменен [ее] вызовом. | |
− | + | Локальные переменные и параметры:<br> | |
− | + | «Extract Proc» сканирует используемые переменные и автоматически создает | |
− | + | список параметров и локальные переменные. Пример: | |
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
procedure TForm1.DoSomething(var Erni, Bert: integer); | procedure TForm1.DoSomething(var Erni, Bert: integer); | ||
var | var | ||
− | i: Integer; // | + | i: Integer; // Комментарий |
begin | begin | ||
Erni:=Erni+Bert; | Erni:=Erni+Bert; | ||
Line 45: | Line 47: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | Выберите цикл for и создайте новую процедуру "NewProc". Локальная переменная i используется только в выбранном [тексте], поэтому она будет перенесена в новую процедуру. [Параметр-переменная] Erni также используется в остальном коде, поэтому она станет параметром [новой процедуры]. | |
− | + | Результат: | |
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
procedure NewProc(const Erni: integer); | procedure NewProc(const Erni: integer); | ||
var | var | ||
− | i: Integer; // | + | i: Integer; // Комментарий |
begin | begin | ||
for i:=Erni to 5 do begin | for i:=Erni to 5 do begin | ||
Line 66: | Line 68: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | Вы можете увидеть, что "i" перенесено в новую процедуру (Примечание: включая ее комментарий) и Erni. | |
− | + | Ограничения:<br> | |
− | Pascal | + | Pascal - очень мощный язык, поэтому не ожидайте, что он будет работать с каждым кодом. Текущие ограничения/ToDo: |
− | * | + | * проверить, ограничены ли границы выбора на границах операторов |
− | * "with" | + | * операторы "with" |
Latest revision as of 10:42, 17 February 2020
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
русский (ru) │
slovenčina (sk) │
中文(中国大陆) (zh_CN) │
Аннотация: "Extract Procedure" [извлечение процедуры] принимает некоторые выбранные инструкции pascal и создает новую процедуру/метод из этого кода. Этот инструмент полезен для разделения больших процедур или для легкого создания новой процедуры из некоторого кода.
Основной пример:
procedure DoSomething;
begin
CallSomething;
end;
Выберите строку "CallSomething;" и сделайте Extract Proc. Откроется диалоговое окно[, где] вы можете выбрать тип и имя создаваемой процедуры. Например: procedure, "NewProc". Результат:
procedure NewProc;
begin
CallSomething;
end;
procedure DoSomething;
begin
NewProc;
end;
Вы можете видеть, что новая процедура "NewProc" была создана с выделением в качестве тела [процедуры], и старый код был заменен [ее] вызовом.
Локальные переменные и параметры:
«Extract Proc» сканирует используемые переменные и автоматически создает
список параметров и локальные переменные. Пример:
procedure TForm1.DoSomething(var Erni, Bert: integer);
var
i: Integer; // Комментарий
begin
Erni:=Erni+Bert;
for i:=Erni to 5 do begin
|
end;
end;
Выберите цикл for и создайте новую процедуру "NewProc". Локальная переменная i используется только в выбранном [тексте], поэтому она будет перенесена в новую процедуру. [Параметр-переменная] Erni также используется в остальном коде, поэтому она станет параметром [новой процедуры].
Результат:
procedure NewProc(const Erni: integer);
var
i: Integer; // Комментарий
begin
for i:=Erni to 5 do begin
|
end;
end;
procedure TForm1.DoSomething(var Erni, Bert: integer);
begin
Erni:=Erni+Bert;
NewProc(Erni);
end;
Вы можете увидеть, что "i" перенесено в новую процедуру (Примечание: включая ее комментарий) и Erni.
Ограничения:
Pascal - очень мощный язык, поэтому не ожидайте, что он будет работать с каждым кодом. Текущие ограничения/ToDo:
- проверить, ограничены ли границы выбора на границах операторов
- операторы "with"