Цитата:
Сообщение от cotseec
что-то типа такого (см. вложение)
|
Этот пример - да, работает. Рисует. Может просто не работает этот код?
Код:
var
WavInfo: TWavInfo;
KX, KY: Extended;
i, X, Y, DY, Chanel: Integer;
begin
KX := 1; // Коэффициент пропорциональности по абсциссе
KY := 0.01; // Коэффициент пропорциональности по ординате
DY := Height div 2; // Смещение по ординате
Chanel := 0; // Номер рисуемого канала
Repaint;
for i := Low(WavInfo.Samples) to High(WavInfo.Samples) do
begin
X := Trunc(KX * i);
Y := Trunc(KY * Smallint(WavInfo.Samples[i, Chanel]) + DY);
Canvas.MoveTo(X, DY);
Canvas.LineTo(X, Y);
end;
end;
Или может ее надо правильно разделить эту процедуру на
Код:
procedure TForm1.Button_WAVgraphClick(Sender: TObject);
и на
Код:
procedure TForm2.PaintBox1Paint(Sender: TObject);
Как в этом примере:
Код:
procedure TForm1.Button_WAVgraphClick(Sender: TObject);
begin
Randomize;
for i:=1 to 1024 do
PointArray[i-1]:=Random(PaintBox1.Height);
PaintBox1.Repaint;
end;
и
Код:
procedure TForm1.PaintBox1Paint(Sender: TObject);
var
i:integer;
DX:integer;
begin
DX:=1;
PaintBox1.Canvas.MoveTo(0,0);
for i:=0 to 1023 do
begin
PaintBox1.Canvas.LineTo(DX*i,PointArray[i]);
PaintBox1.Canvas.MoveTo(DX*i,0);
end;
end;
Если да, то как? Но я больше склоняюсь к тому, что в коде от
poli-smen есть какой-то нюанс, который не позволяет строить график.