⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 delphi典型实验代码
💻 PAS
字号:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    PaintBox1: TPaintBox;
    Button1: TButton;
    Edit1: TEdit;
    Label1: TLabel;    
    Edit2: TEdit;
    Label2: TLabel;
    Edit3: TEdit;
    Label3: TLabel;
    Edit4: TEdit;
    Label4: TLabel;
    Button2: TButton;
    Label5: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
    var
  x:real;
  y:real;
  ll:real;
  px:longint;
  py:longint;
  halfheight:longint;
  fudu:real;
  chuxiang:real;
  xt:integer;
  yt:integer;
  st:real;
  xold:integer;
  yold:integer;
begin
 paintbox1.repaint;
  xold:=round(paintbox1.width div 2);
  yold:=round(paintbox1.height div 2);

  fudu:=strtoint(edit1.text);
  chuxiang:=strtoint(edit2.text)*pi/180;

  with paintbox1 do begin
       canvas.Pen.Width:=2;    //绘制坐标轴
       halfheight:=height div 2;
       canvas.MoveTo(0,halfheight);
       canvas.lineTo(width,halfheight);
       canvas.MoveTo(width-2,halfheight);
       canvas.lineTo(width-10,halfheight-8);
       canvas.MoveTo(width-2,halfheight);
       canvas.lineTo(width-10,halfheight+8);
      /////////////////////////////// 绘画箭头
       canvas.MoveTo(0,0);
       canvas.lineTo(0,height);
       canvas.MoveTo(1,2);
       canvas.lineTo(0,8);
       canvas.MoveTo(1,2);
       canvas.lineTo(8,12);
       canvas.Pen.Width:=5;

  for px:=0 to width do
      begin
        x:=px*(4*pi/paintbox1.width)-2*pi;    //绘制正弦曲线
        y:=fudu*20*sin(x+chuxiang);
        py:=trunc(y)+yold+8;
        canvas.Pixels[px,py-1]:=rgb(0,0,225);
        canvas.Pixels[px,py]:=rgb(0,0,225);
        canvas.Pixels[px,py+1]:=rgb(0,0,225);
        ll:=trunc(px*100/xold);
             if abs(y)<2  then
             paintbox1.canvas.textout(px,yold+1,floattostr(ll)+'/50π')  //绘制Y=0的点
      end ;

        paintbox1.canvas.textout(xold*2-20,yold+20,'X');
        paintbox1.canvas.textout(20,10,'Y');
 for yt:=-9 to 9 do        //标注Y尺度值
        if yt<>0 then
           begin
             st:=-yt*20;
             paintbox1.canvas.moveto(xold+1,yold+round(st));
             paintbox1.canvas.moveto(xold,yold+round(st));
             paintbox1.canvas.textout(5,yold+round(st),inttostr(yt));

           end;
             canvas.Pen.color:=rgb(100,100,25);
   for xt:=-10 to 10 do                   //绘制峰值线
         if xt<>0 then
            begin
              st:=xt*2*xold/10;
              paintbox1.canvas.textout(round(st),yold-round(fudu)*20,'-');
            end;
     end ;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  edit1.text:='5';
  edit2.text:='0';
  edit3.text:='0';
  edit4.text:='0';
end;

procedure TForm1.Button2Click(Sender: TObject);
 var
  jj:real;
  jjy:real;
begin
  jj:=pi*strtoint(edit3.text)/180;
  jjy:=sin(jj);
  edit4.text:=floattostr(jjy);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -