Что-то я не понимаю...
Написал такое!
Code
Function MyTrunc(X: Single): LongInt;
Var i: LongInt;
begin
For i:=0 to 40 do
If X > i then result := i;
If X > 40 then result := 40;
end;
procedure redraw3(FFTData : TFFTData; X, Y : Integer);
var i, YPos, DrawPoint : LongInt; YVal : Single;
begin
Form1.DXDraw1.Surface.Canvas.Pen.Color := clAqua;
for i := 0 to 128 do begin
YVal := Abs(FFTData[(i * 1) + 5]);
if YVal > 40 then YVal := 40;
YPos := MyTrunc(YVal);
if YPos > 40 then YPos := 40;
DrawPoint := YPos;
begin
Form1.DXDraw1.Surface.Canvas.MoveTo(X + i, Y + 40);
Form1.DXDraw1.Surface.Canvas.LineTo(X + i, Y + 40 - DrawPoint);
end;
end;
end;
Ну чему тут глючить? Кто угадает, где выходит ошибка?