📄 u_main.pas
字号:
unit U_Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, ComCtrls, TComm1,u_public,StrUtils;
type
TFrm_Main = class(TForm)
Panel1: TPanel;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Pan: TPanel;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Lvw_Lb: TListView;
Label10: TLabel;
Label11: TLabel;
UpDown1: TUpDown;
Lbl_Xg: TLabel;
UpDown2: TUpDown;
Lbl_Yg: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Pic: TPaintBox;
ColorDialog: TColorDialog;
Pic_Y: TPaintBox;
Pic_X: TPaintBox;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
button1: TButton;
Comm: TComm;
Timer1: TTimer;
Edit6: TEdit;
Edit7: TEdit;
Panel2: TPanel;
Lbl_fh: TLabel;
Panel3: TPanel;
Panel4: TPanel;
Lbl_wy: TLabel;
Lbl_sj: TLabel;
FileOpen: TOpenDialog;
procedure Com_data();
procedure Line_Draw();
procedure FormResize(Sender: TObject);
procedure Line(x:integer;y:integer);
procedure UpDown2Click(Sender: TObject; Button: TUDBtnType);
procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);
procedure Edit4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure PicPaint(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Last_Fm();
procedure Button5Click(Sender: TObject);
procedure Edit5Click(Sender: TObject);
procedure PicMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
type
Data_xx=array[0..2000] of real;
var
Frm_Main: TFrm_Main;
COm_Count:integer;
Data_count:integer;
M_Fh,M_WY:Real;
Tim_Count:integer;
tim_sj:int64;
X_axis_Bl,Y_Axis_Bl:real;
data_x:data_xx;
data_y:data_xx;
implementation
uses u_dl,u_dlkl,u_help,u_kl_set,u_set_system,u_sys_ini,u_sySet,u_xgkl;
{$R *.dfm}
procedure Tfrm_main.Line(x:integer;y:integer);
var
pt:TPoint;
i:integer;
begin
pan.Color :=edit4.Color;
pic.Canvas.Pen.Style:=psdashdot;
pic.Canvas.Rectangle(0,0,self.Width,self.Height);
// pic.Refresh;
pic_x.Refresh;
pic_y.Refresh;
pic.Canvas.Pen.Color:=RGB(255,255,255);
for i:=1 to x do
begin
pic.Canvas.MoveTo(0,Trunc(pic.height-pic.height/x*i));
pt.X :=Trunc(self.pic.Width);
pt.Y:=Trunc(pic.height-pic.height/x*i);
pic.Canvas.LineTo(pt.X ,pt.Y );
end;
for i:=1 to y do
begin
pic.Canvas.MoveTo(Trunc(pic.width-pic.width/y*i),0);
pt.X :=Trunc(pic.width-pic.width/y*i);
pt.Y:=Trunc(self.Pic.Height);
pic.Canvas.LineTo(pt.X ,pt.Y );
end;
for i:=0 to 50 do //Y轴
begin
pic_y.Canvas.MoveTo(pic_y.Width,trunc(pic_y.Height/50*i));
pic_y.Canvas.LineTo(35,trunc(pic_y.Height/50*i));
if i=0 then //最大点
begin
pic_y.Canvas.MoveTo(pic_y.Width,trunc(pic_y.Height/50*i+1));
pic_y.Canvas.LineTo(30,trunc(pic_y.Height/50*i+1));
pic_y.Canvas.TextOut(16,trunc(pic_y.Height/50*i+1),floattostr(int(ini_data.FhMax)));
pic_y.Canvas.TextOut(2,trunc(pic_y.Height/50*i+19),'(负荷KN)');
// floattostr(trunc(pic.Height/y_axis_bl))
end
else if i=10 then
begin
pic_y.Canvas.MoveTo(pic_y.Width,trunc(pic_y.Height/50*i));
pic_y.Canvas.LineTo(30,trunc(pic_y.Height/50*i));
pic_y.Canvas.TextOut(16,trunc(pic_y.Height/50*i+1),floattostr(int(ini_data.FhMax/5*4)));
end
else if i=20 then
begin
pic_y.Canvas.MoveTo(pic_y.Width,trunc(pic_y.Height/50*i));
pic_y.Canvas.LineTo(30,trunc(pic_y.Height/50*i));
pic_y.Canvas.TextOut(16,trunc(pic_y.Height/50*i+1),floattostr(int(ini_data.FhMax/5*3)));
end
else if i=30 then
begin
pic_y.Canvas.MoveTo(pic_y.Width,trunc(pic_y.Height/50*i));
pic_y.Canvas.LineTo(30,trunc(pic_y.Height/50*i));
pic_y.Canvas.TextOut(16,trunc(pic_y.Height/50*i+1),floattostr(int(ini_data.FhMax/5*2)));
end
else if i=40 then
begin
pic_y.Canvas.MoveTo(pic_y.Width,trunc(pic_y.Height/50*i));
pic_y.Canvas.LineTo(30,trunc(pic_y.Height/50*i));
pic_y.Canvas.TextOut(16,trunc(pic_y.Height/50*i+1),floattostr(int(ini_data.FhMax/5)));
end
else if i=50 then
begin
pic_y.Canvas.MoveTo(pic_y.Width,trunc(pic_y.Height/50*i-1));
pic_y.Canvas.LineTo(30,trunc(pic_y.Height/50*i-1));
pic_y.Canvas.TextOut(16,trunc(pic_y.Height/50*i-12),'0');
end
end;
for i:=0 to 50 do //X轴
begin
pic_x.Canvas.MoveTo(trunc(pic_x.Width/50*i),0);
pic_x.Canvas.LineTo(trunc(pic_x.Width/50*i),6);
if i=0 then //最小点
begin
pic_x.Canvas.MoveTo(trunc(pic_x.Width/50*i),0);
pic_x.Canvas.LineTo(trunc(pic_x.Width/50*i),10);
pic_x.Canvas.TextOut(trunc(pic_x.Width/50*i),13,'0');
end
else if i=10 then
begin
pic_x.Canvas.MoveTo(trunc(pic_x.Width/50*i),0);
pic_x.Canvas.LineTo(trunc(pic_x.Width/50*i),10);
pic_x.Canvas.TextOut(trunc(pic_x.Width/50*i),13,floattostr(int(ini_data.wyMax/5)));
end
else if i=20 then
begin
pic_x.Canvas.MoveTo(trunc(pic_x.Width/50*i),0);
pic_x.Canvas.LineTo(trunc(pic_x.Width/50*i),10);
pic_x.Canvas.TextOut(trunc(pic_x.Width/50*i),13,floattostr(int(ini_data.wyMax/5*2)));
end
else if i=30 then
begin
pic_x.Canvas.MoveTo(trunc(pic_x.Width/50*i),0);
pic_x.Canvas.LineTo(trunc(pic_x.Width/50*i),10);
pic_x.Canvas.TextOut(trunc(pic_x.Width/50*i),13,floattostr(int(ini_data.wyMax/5*3)));
end
else if i=40 then
begin
pic_x.Canvas.TextOut(trunc(pic_x.Width/50*i),13,floattostr(int(ini_data.wyMax/5*4)));
end
else if i=50 then
begin
pic_x.Canvas.MoveTo(trunc(pic_x.Width/50*i),0);
pic_x.Canvas.LineTo(trunc(pic_x.Width/50*i),6);
pic_x.Canvas.TextOut(trunc(pic_x.Width/50*i)-16,9,floattostr(int(ini_data.wyMax)));
pic_x.Canvas.TextOut(trunc(pic_x.Width/50*i)-50,23,'(位移MM)');
end
end;
end;
procedure TFrm_Main.FormResize(Sender: TObject);
begin
panel1.Left:=Trunc((self.Width-panel1.Width)/2);
panel1.Top:=trunc((self.Height-panel1.Height)/2);
end;
procedure TFrm_Main.UpDown2Click(Sender: TObject; Button: TUDBtnType);
begin
lbl_yg.Caption:=Inttostr(self.UpDown2.Position);
line(self.UpDown1.Position,self.UpDown2.Position);
Line_Draw;
end;
procedure TFrm_Main.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
lbl_xg.Caption:=Inttostr(self.UpDown1.Position);
line(self.UpDown1.Position,self.UpDown2.Position);
Line_Draw;
end;
procedure TFrm_Main.Edit4Click(Sender: TObject);
begin
self.ColorDialog.Execute;
edit4.Color:=colordialog.Color;
line(self.UpDown1.Position,self.UpDown2.Position);
Line_Draw;
end;
procedure TFrm_Main.FormShow(Sender: TObject);
var bb:string;
begin
tim_count:=0;
tim_sj:=0;
bb:= Extractfilepath(application.ExeName);
// application.MessageBox('',)
//if application.GetNamePath+'use.dll'='' then
x_axis_bl:=ini_data.WyMax;
Y_axis_bl:=ini_data.FhMax;
updown1.Position:=ini_data.wyGrid;
updown2.Position:=ini_data.FhGrid;
lbl_xg.Caption:=inttostr(ini_data.WyGrid);
lbl_yg.Caption:=inttostr(ini_data.fhGrid);
edit4.Color:=trunc(ini_data.BackColor);
edit5.Color:=trunc(ini_data.LineColor);
line(self.UpDown1.Position,self.UpDown2.Position);
end;
procedure TFrm_Main.FormPaint(Sender: TObject);
begin
line(self.UpDown1.Position,self.UpDown2.Position);
Line_Draw;
end;
procedure TFrm_Main.PicPaint(Sender: TObject);
begin
line(self.UpDown1.Position,self.UpDown2.Position);
Line_Draw;
end;
procedure TFrm_Main.Button7Click(Sender: TObject);
begin
self.Close;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -