![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Форматирование кода программы в среде разработки
я © (2011-09-28 08:43:00)Привык к такой фиче, когда выделяешь кусок кода, нажимаешь кнопку и он сам форматируется (т.е. выстраивается лесенкой), т.е. весь код приводится в удобоваримый вид. Например есть неформатированный код:
if Intensity < 255 then
begin
if i= 0 then
begin
Xdiff := x;
Ydiff := y;
end;
searchArray[i].x:= x-Xdiff;
searchArray[i].y:= y-Ydiff;
inc(i);
end;
Выделяем этот кусок, нажимаем кнопку и получаем что то вроде этого
if Intensity < 255 then
begin
if i= 0 then
begin
Xdiff := x;
Ydiff := y;
end;
searchArray[i].x:= x-Xdiff;
searchArray[i].y:= y-Ydiff;
inc(i);
end;
В данный момент я это делаю для каждой строки вручную и не могу поверить, что такой функции нет, но и найти ее не могу. Установил RAD Studio XE, но все равно такого не увидел. Может все такие есть? Форматирование "вручную" причиняет мне адские страдания, особенно после того как я всегда это делал автоматом, но в других языках...
OW (2011-09-28 15:39:00) [1]+ CnPack
сильно помогает писать сразу нормально
Palladin (2011-09-28 13:46:00) [2]
> Ctrl+D
не умеет анонимных процедур
MonoLife (2011-09-28 10:53:00) [3]D7
ctrl+I - блок вправо
ctrl+U - блок влево
Игорь Шевченко (2011-09-28 09:46:00) [4]
> Установил RAD Studio XE, но все равно такого не увидел.
Ctrl+D ?
sniknik (2011-09-28 09:40:00) [5]> Форматирование "вручную" причиняет мне адские страдания
свой код нужно сразу так писать, чужой... ручное форматирование только поможет понять логику/найти ошибки.
и не зачем так страдать...
OW (2011-09-28 09:33:00) [6]сам сейчас попробовал джедаев (JCF)
interface
uses
Graphics,
uPoint,
SysUtils, Dialogs;
type
TGGraph = class
private
FCanva: TCanvas;
FPoints: array of TGPoint;
private
procedure ReallyCreate(AC: TCanvas);
procedure ReallyAdd(AP: TGPoint);
procedure ReallyMove(AP: TGPoint; dx, dy: Integer);
public
constructor Create(AC: TCanvas);
procedure Add(AP: TGPoint); overload;
procedure Add(AX, AY: Integer; AR:Integer = DefaultR); overload;
procedure Add(AName: string; AX, AY: Integer; AR:Integer = DefaultR); overload;
procedure Move(NumP, dx, dy: Integer);
function GetPointByXY(ax, ay: Integer): TGPoint;
function GetPointByNum(Num: Integer): TGPoint;
public
end;
implementation
procedure TGGraph.Add(AP: TGPoint);
begin
if AP = nil then
raise Exception.Create('Add nil-value point. TGGraph.Add(AP)');
if AP.Canva <> FCanva then
begin
if AP.Canva <> nil then
AP.Hide;
AP.Canva := FCanva;
end;
ReallyAdd(AP);
vs
uses
Graphics,
uPoint,
SysUtils,
Dialogs;
type
TGGraph = class
private
FCanva: TCanvas;
FPoints: array of TGPoint;
private
procedure ReallyCreate(AC: TCanvas);
procedure ReallyAdd(AP: TGPoint);
procedure ReallyMove(AP: TGPoint; dx, dy: Integer);
public
constructor Create(AC: TCanvas);
procedure Add(AP: TGPoint); overload;
procedure Add(AX, AY: Integer; AR: Integer = DefaultR); overload;
procedure Add(AName: string; AX, AY: Integer; AR: Integer = DefaultR); overload;
procedure Move(NumP, dx, dy: Integer);
function GetPointByXY(ax, ay: Integer): TGPoint;
function GetPointByNum(Num: Integer): TGPoint;
public
end;
implementation
procedure TGGraph.Add(AP: TGPoint);
begin
if AP = nil then
raise Exception.Create('Add nil-value point. TGGraph.Add(AP)');
if AP.Canva <> FCanva then
begin
if AP.Canva <> nil then
AP.Hide;
AP.Canva := FCanva;
end;
ReallyAdd(AP);
OW (2011-09-28 09:10:00) [7]http://www.gunsmoker.ru/2011/01/blog-post.html