Помощь - Поиск - Пользователи - Календарь
Полная версия: Menja Ozadachili Pered Sesiej
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Delphi
LavR
Изобразить синусоиду, расположенную по высоте в центре PaintBox от его левой границы до правой, и равномерно движущуюся по горизонтали.

znaju odno 4to sinusojdu taam vzjatj periud ot 0 do pi kakbi takaja krivaja
stroitj po to4kam kakbi zaganjaja v masiv i zatem obrabotku onpaint esjo

Vot pomogite ljudi dobrie ja uzhe ne mogu pridumatj kak eto zdelatj


Транслит для кого придумали ?
Izviniti ne zametil
volvo
Ты бы вот тут посмотрел:
http://programming.com.ua/doc/5/les-18.html
Цитата
Рисование на форме или на компоненте PaintBox. Генератор колебаний. Пример
LavR
Цитата(volvo @ 14.06.05 11:35)
Ты бы вот тут посмотрел:
http://programming.com.ua/doc/5/les-18.html


da ja pitalsja etu programku peredelatj no u menja ni4ego ne polu4ilosj 

etu krivuju (sinusojdu) pohozhaja na bukvu "S" nada zastavitj peredvigatjsa
zna4et vse to4ki nada zagnatj v masiv a tam esjo nada budet sozdavatj svoj tip peremenoj ili record
LavR
Код
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ExtCtrls, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   PaintBox1: TPaintBox;
   Timer1: TTimer;
   Label1: TLabel;
   procedure Button1Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
   procedure Timer1Timer(Sender: TObject);
   procedure PaintBox1Paint(Sender: TObject);

 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}
//const NsinusPixels = 165

type PixelsCord = record
    y,x:integer;
    end;
Var Mas:array[1..120] of PixelsCord;

procedure TForm1.Button1Click(Sender: TObject);
var j,z,w:integer;
begin
z:=(form1.PaintBox1.Height)div 2;
w:=(form1.PaintBox1.width)div 2;

form1.PaintBox1.Canvas.MoveTo(z,0);
form1.PaintBox1.Canvas.LineTo(z,z*2);

form1.PaintBox1.Canvas.MoveTo(0,w);
form1.PaintBox1.Canvas.LineTo(w*2,w);

form1.PaintBox1.Canvas.MoveTo(0,0);
form1.PaintBox1.Canvas.LineTo(0,w*2);

form1.PaintBox1.Canvas.MoveTo(0,0);
form1.PaintBox1.Canvas.LineTo(z*2,0);

form1.PaintBox1.Canvas.MoveTo(0,w*2);
form1.PaintBox1.Canvas.LineTo(z*2,w*2);

form1.PaintBox1.Canvas.MoveTo(z*2,0);
form1.PaintBox1.Canvas.LineTo(w*2,z*2);
end;


procedure TForm1.FormCreate(Sender: TObject);
var x,y,i,z,w:integer;
begin
i:=1;
for x:=40 to 160 do
begin
y:=Round(Sin(pi*x/100)*120)+((form1.PaintBox1.Height)div 2);
mas[i].x:=x+60;
mas[i].y:=y;
inc(i);
end

end;



procedure TForm1.Timer1Timer(Sender: TObject);
var a,z,i:integer;
begin
a:=strtoint(form1.Label1.Caption);
inc(a);
form1.Label1.Caption:=inttostr(a);
for z:=1 to 120 do
form1.PaintBox1.Canvas.Pixels[(mas[z].x-10),(mas[z].y)]:=form1.PaintBox1.Color;
for z:=1 to 120 do
begin
form1.PaintBox1.Canvas.Pixels[(mas[z].x),(mas[z].y)]:=clBlack;
mas[z].x:=mas[z].x+10;

end;
end;

procedure TForm1.PaintBox1Paint(Sender: TObject);
var z:integer;
begin

for z:=1 to 120 do
begin
form1.PaintBox1.Canvas.Pixels[(mas[z].x-10),(mas[z].y)]:=clBlack;
end;
end;

end.

spasibo sebe ljubimomu. Vsjo dapjor ja posidel podumal
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.