Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Delphi: Общие вопросы > очистить массив в Delphi


Автор: АлександрОвч 03.04.17, 07:36
Проблема в том, что когда повторно запускаю процедуру,
Form1.ImageFoto.Canvas.MoveTo(X,Y); берет предыдущее последнее значение X и Y из массива,
а мне надо чтобы массив был очищен
Помогите пожалуйста очистить массив
.....................................................................
procedure Scanner(VideoFoto:TBitmap);
type
memRGBTripleArray = ^TRGBTripleArray;
TRGBTripleArray = ARRAY[0..32767] OF TRGBTriple;
var
X,Y: Integer;
Row: memRGBTripleArray;
Color: TColor;
begin
kolpovtor:=0;
VideoFoto.PixelFormat := pf24bit;
for Y := 0 to VideoFoto.Height - 1 do
begin
Row := VideoFoto.ScanLine[Y];
for X := 0 to VideoFoto.Width-1 do
begin
Color := RGB(Row[X].rgbtRed,Row[X].rgbtGreen,Row[X].rgbtBlue);
if (Row[X].rgbtGreen > combomax)and((Row[X].rgbtGreen-comboraznica) > (Row[X].rgbtRed))and((Row[X].rgbtGreen-comboraznica) > (Row[X].rgbtBlue)) then
begin

Form1.ImageFoto.Canvas.MoveTo(X,Y);
vtorx := X + 1;
vtory := Y + 1;
pervx := X;
pervy := Y;
pervmoveto:= 1;

// РИСУЕМ ТРАЕКТОРИЮ
Form1.ImageFoto.Canvas.Pen.Width := 3;
Form1.ImageFoto.Canvas.Pen.Color := $00060654;
Form1.ImageFoto.Canvas.LineTo(X,Y);

...........
Exit; //ВЫХОД ИЗ ОБОИХ ЦИКЛОВ
end;
end;
end;
end;

Автор: MBo 03.04.17, 08:04
О каком массиве идёт речь? X и Y - локальные переменные, счётчики циклов.

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)