📄 复件 main.pas
字号:
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls, SUIForm, SUIMainMenu, SUIMgr, SUITabControl,
SUIImagePanel, SUIGroupBox, SUIButton, StdCtrls, SUIComboBox, DB, ADODB,
Grids, DBGrids, SUIEdit,SUIThemes, SUIDBCtrls, SUIMemo, SUIListBox,
ToolWin, ComCtrls, SUIToolBar, SUIStatusBar, ImgList;
type
TForm1 = class(TForm)
suiThemeManager1: TsuiThemeManager;
suiMainMenu1: TsuiMainMenu;
Main1: TsuiForm;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
TabControl1: TsuiTabControl;
FindBox: TsuiGroupBox;
suiButton1: TsuiButton;
suiButton2: TsuiButton;
ComboBox1: TsuiComboBox;
ADOTable1: TADOTable;
DataSource1: TDataSource;
ADOConnection1: TADOConnection;
OpenDialog1: TOpenDialog;
N4: TMenuItem;
N5: TMenuItem;
FINDGroupBox: TsuiGroupBox;
ADDRadio: TsuiRadioButton;
NRRadio: TsuiRadioButton;
ADDEdit: TsuiEdit;
suiButton3: TsuiButton;
N6: TMenuItem;
XP1: TMenuItem;
MAC1: TMenuItem;
DEEP1: TMenuItem;
NREdit: TsuiEdit;
N7: TMenuItem;
inputBox: TsuiGroupBox;
suiEdit2: TsuiEdit;
suiEdit3: TsuiEdit;
suiEdit4: TsuiEdit;
suiEdit5: TsuiEdit;
suiEdit6: TsuiEdit;
suiEdit7: TsuiEdit;
suiEdit8: TsuiEdit;
NEWButton: TsuiButton;
ADDButton: TsuiButton;
DELButton: TsuiButton;
suiEdit9: TsuiEdit;
DBGrid1: TsuiDBGrid;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
helpBox: TsuiGroupBox;
Label9: TLabel;
LDBox: TsuiGroupBox;
IComboBox: TsuiComboBox;
Memo1: TsuiMemo;
suiButton4: TsuiButton;
suiButton5: TsuiButton;
suiButton6: TsuiButton;
SComboBox: TsuiComboBox;
suiStatusBar1: TsuiStatusBar;
suiToolBar1: TsuiToolBar;
ImageList1: TImageList;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
procedure TabControl1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure suiButton1Click(Sender: TObject);
procedure suiButton2Click(Sender: TObject);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure XP1Click(Sender: TObject);
procedure MAC1Click(Sender: TObject);
procedure suiButton3Click(Sender: TObject);
procedure ADDRadioClick(Sender: TObject);
procedure NRRadioClick(Sender: TObject);
procedure ADDEditKeyPress(Sender: TObject; var Key: Char);
procedure NREditKeyPress(Sender: TObject; var Key: Char);
procedure N7Click(Sender: TObject);
procedure NEWButtonClick(Sender: TObject);
procedure ADDButtonClick(Sender: TObject);
procedure DELButtonClick(Sender: TObject);
procedure suiEdit3KeyPress(Sender: TObject; var Key: Char);
procedure suiEdit4KeyPress(Sender: TObject; var Key: Char);
procedure suiEdit5KeyPress(Sender: TObject; var Key: Char);
procedure suiEdit6KeyPress(Sender: TObject; var Key: Char);
procedure suiEdit7KeyPress(Sender: TObject; var Key: Char);
procedure suiEdit8KeyPress(Sender: TObject; var Key: Char);
procedure IComboBoxChange(Sender: TObject);
procedure suiButton4Click(Sender: TObject);
procedure suiButton5Click(Sender: TObject);
procedure SComboBoxChange(Sender: TObject);
procedure suiButton6Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure DEEP1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
PLCLD = RECORD
DNAME:STRING[30];
LDNR:STRING[200];
END;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses
shellapi, PLCdetail;
VAR
TEMPDATA1,TEMPDATA2,TEMPDATA3,TEMPDATA4,TEMPDATA5,TEMPDATA6:PLCLD;
CURREC1,CURREC2,CURREC3,CURREC4,CURREC5,CURREC6,RECSIZE:INTEGER;
STR1,STR2,STR3,STR4,STR5,STR6:STRING;
DATAFILE1:FILE OF PLCLD;
DATAFILE2:FILE OF PLCLD;
DATAFILE3:FILE OF PLCLD;
DATAFILE4:FILE OF PLCLD;
DATAFILE5:FILE OF PLCLD;
DATAFILE6:FILE OF PLCLD;
PROCEDURE SAVEDATA1;
BEGIN //保存记录 1
TEMPDATA1.DNAME:=FORM1.SComboBox.Text;
TEMPDATA1.LDNR:=FORM1.Memo1.Text;
WRITE(DATAFILE1,TEMPDATA1);
FORM1.SComboBox.Clear;
CURREC1:=0;
SEEK(DATAFILE1,CURREC1);
WHILE NOT EOF(DATAFILE1) DO
BEGIN
CURREC1:=CURREC1+1;
READ(DATAFILE1,TEMPDATA1);
SEEK(DATAFILE1,CURREC1);
FORM1.SComboBox.Items.Add(TEMPDATA1.DNAME);
END;
END;
PROCEDURE SAVEDATA2;
BEGIN //保存记录2
TEMPDATA2.DNAME:=FORM1.SComboBox.Text;
TEMPDATA2.LDNR:=FORM1.Memo1.Text;
WRITE(DATAFILE2,TEMPDATA2);
FORM1.SComboBox.Clear;
CURREC2:=0;
SEEK(DATAFILE2,CURREC2);
WHILE NOT EOF(DATAFILE2) DO
BEGIN
READ(DATAFILE2,TEMPDATA2);
CURREC2:=CURREC2+1;
SEEK(DATAFILE2,CURREC2);
FORM1.SComboBox.Items.Add(TEMPDATA2.DNAME);
END;
END;
PROCEDURE SAVEDATA3;
BEGIN //保存记录 3
TEMPDATA3.DNAME:=FORM1.SComboBox.Text;
TEMPDATA3.LDNR:=FORM1.Memo1.Text;
WRITE(DATAFILE3,TEMPDATA3);
FORM1.SComboBox.Clear;
CURREC3:=0;
SEEK(DATAFILE3,CURREC3);
WHILE NOT EOF(DATAFILE3) DO
BEGIN
CURREC3:=CURREC3+1;
READ(DATAFILE3,TEMPDATA3);
SEEK(DATAFILE3,CURREC3);
FORM1.SComboBox.Items.Add(TEMPDATA3.DNAME);
END;
END;
PROCEDURE SAVEDATA4;
BEGIN //保存记录 4
TEMPDATA4.DNAME:=FORM1.SComboBox.Text;
TEMPDATA4.LDNR:=FORM1.Memo1.Text;
WRITE(DATAFILE4,TEMPDATA4);
FORM1.SComboBox.Clear;
CURREC4:=0;
SEEK(DATAFILE4,CURREC4);
WHILE NOT EOF(DATAFILE4) DO
BEGIN
CURREC4:=CURREC4+1;
READ(DATAFILE4,TEMPDATA4);
SEEK(DATAFILE4,CURREC4);
FORM1.SComboBox.Items.Add(TEMPDATA4.DNAME);
END;
END;
PROCEDURE SAVEDATA5;
BEGIN //保存记录 5
TEMPDATA5.DNAME:=FORM1.SComboBox.Text;
TEMPDATA5.LDNR:=FORM1.Memo1.Text;
WRITE(DATAFILE5,TEMPDATA5);
FORM1.SComboBox.Clear;
CURREC5:=0;
SEEK(DATAFILE5,CURREC5);
WHILE NOT EOF(DATAFILE5) DO
BEGIN
CURREC5:=CURREC5+1;
READ(DATAFILE5,TEMPDATA5);
SEEK(DATAFILE5,CURREC5);
FORM1.SComboBox.Items.Add(TEMPDATA5.DNAME);
END;
END;
PROCEDURE SAVEDATA6;
BEGIN //保存记录 6
TEMPDATA6.DNAME:=FORM1.SComboBox.Text;
TEMPDATA6.LDNR:=FORM1.Memo1.Text;
WRITE(DATAFILE6,TEMPDATA6);
FORM1.SComboBox.Clear;
CURREC6:=0;
SEEK(DATAFILE6,CURREC6);
WHILE NOT EOF(DATAFILE6) DO
BEGIN
CURREC6:=CURREC6+1;
READ(DATAFILE6,TEMPDATA6);
SEEK(DATAFILE6,CURREC6);
FORM1.SComboBox.Items.Add(TEMPDATA6.DNAME);
END;
END;
/////////////////////////////////////////////////////////////
PROCEDURE SHOWDATA1;
BEGIN
FORM1.SComboBox.Text:=TEMPDATA1.DNAME;
FORM1.Memo1.Text:= TEMPDATA1.LDNR;
FORM1.SComboBox.Items.Add(TEMPDATA1.DNAME);
WHILE NOT EOF(DATAFILE1) DO
BEGIN
READ(DATAFILE1,TEMPDATA1);
FORM1.SComboBox.Items.Add(TEMPDATA1.DNAME);
END;
END;
PROCEDURE SHOWDATA2;
BEGIN
FORM1.SComboBox.Text:=TEMPDATA2.DNAME;
FORM1.Memo1.Text:= TEMPDATA2.LDNR;
FORM1.SComboBox.Items.Add(TEMPDATA2.DNAME);
WHILE NOT EOF(DATAFILE2) DO
BEGIN
READ(DATAFILE2,TEMPDATA2);
FORM1.SComboBox.Items.Add(TEMPDATA2.DNAME);
END;
END;
PROCEDURE SHOWDATA3;
BEGIN
FORM1.SComboBox.Text:=TEMPDATA3.DNAME;
FORM1.Memo1.Text:= TEMPDATA3.LDNR;
FORM1.SComboBox.Items.Add(TEMPDATA3.DNAME);
WHILE NOT EOF(DATAFILE3) DO
BEGIN
READ(DATAFILE3,TEMPDATA3);
FORM1.SComboBox.Items.Add(TEMPDATA3.DNAME);
END;
END;
PROCEDURE SHOWDATA4;
BEGIN
FORM1.SComboBox.Text:=TEMPDATA4.DNAME;
FORM1.Memo1.Text:= TEMPDATA4.LDNR;
FORM1.SComboBox.Items.Add(TEMPDATA4.DNAME);
WHILE NOT EOF(DATAFILE4) DO
BEGIN
READ(DATAFILE4,TEMPDATA4);
FORM1.SComboBox.Items.Add(TEMPDATA4.DNAME);
END;
END;
PROCEDURE SHOWDATA5;
BEGIN
FORM1.SComboBox.Text:=TEMPDATA5.DNAME;
FORM1.Memo1.Text:= TEMPDATA5.LDNR;
FORM1.SComboBox.Items.Add(TEMPDATA5.DNAME);
WHILE NOT EOF(DATAFILE5) DO
BEGIN
READ(DATAFILE5,TEMPDATA5);
FORM1.SComboBox.Items.Add(TEMPDATA5.DNAME);
END;
END;
PROCEDURE SHOWDATA6;
BEGIN
FORM1.SComboBox.Text:=TEMPDATA6.DNAME;
FORM1.Memo1.Text:= TEMPDATA6.LDNR;
FORM1.SComboBox.Items.Add(TEMPDATA6.DNAME);
WHILE NOT EOF(DATAFILE6) DO
BEGIN
READ(DATAFILE6,TEMPDATA6);
FORM1.SComboBox.Items.Add(TEMPDATA6.DNAME);
END;
END;
///////////////////////////////////////////////////////
{PROCEDURE SHOWDATA(STR:STRING;TDATA:PLCLD);
VAR
CURREC:INTEGER;
BEGIN
FORM1.SComboBox.Text:=TDATA.DNAME;
FORM1.Memo1.Text:= TDATA.LDNR;
FORM1.SComboBox.Items.Add(TDATA.DNAME);
IF STR='I.DAT' THEN DATAFILE:=DATAFILE1;
IF STR='II.DAT' THEN DATAFILE:=DATAFILE2;
IF STR='III.DAT' THEN DATAFILE:=DATAFILE3;
IF STR='IV.DAT' THEN DATAFILE:=DATAFILE4;
IF STR='V.DAT' THEN DATAFILE:=DATAFILE5;
IF STR='VI.DAT' THEN DATAFILE:=DATAFILE6;
WHILE NOT EOF(DATAFILE) DO
BEGIN
READ(DATAFILE,TDATA);
CURREC:=CURREC+2;
SEEK(DATAFILE,CURREC);
FORM1.SComboBox.Items.Add(TDATA.DNAME);
END;
END;
}
/////////////////////////////////////////////////
procedure TForm1.FormCreate(Sender: TObject);
begin //初始化设置
adoconnection1.GetTableNames(ComboBox1.Items);
findbox.Visible:=true;
inputbox.Visible:=false;
helpbox.Visible:=false;
ldbox.Visible:=false;
ComboBox1.Text:=ComboBox1.Items.Strings[0];
adotable1.Close;
adotable1.tablename:=ComboBox1.Items.Strings[0];
adotable1.Open;
////////////////////////////////////////////////////
FORM1.suiEdit2.Text:=ADOTable1.Fields[0].AsString ;
FORM1.suiedit3.Text:=ADOTable1.Fields[1].AsString ;
FORM1.suiedit4.Text:=ADOTable1.Fields[2].AsString ;
FORM1.suiedit5.Text:=ADOTable1.Fields[3].AsString ;
FORM1.suiedit6.Text:=ADOTable1.Fields[4].AsString ;
FORM1.suiedit7.Text:=ADOTable1.Fields[5].AsString ;
FORM1.suiedit8.Text:=ADOTable1.Fields[6].AsString ;
////////////////////////////////////////////////////
CURREC1:=0;
STR1:='I.DAT';
ASSIGNFILE(DATAFILE1,STR1);
RECSIZE:=SIZEOF(TEMPDATA1);
IF FILEEXISTS(STR1) THEN
BEGIN
RESET(DATAFILE1);
IF NOT EOF(DATAFILE1)THEN
BEGIN
READ(DATAFILE1,TEMPDATA1);
SHOWDATA1;
END;
END;
CURREC2:=0;
STR2:='II.DAT';
ASSIGNFILE(DATAFILE2,STR2);
CURREC3:=0;
STR3:='III.DAT';
ASSIGNFILE(DATAFILE3,STR3);
CURREC4:=0;
STR4:='IV.DAT';
ASSIGNFILE(DATAFILE4,STR4);
CURREC5:=0;
STR5:='V.DAT';
ASSIGNFILE(DATAFILE5,STR5);
CURREC6:=0;
STR6:='VI.DAT';
ASSIGNFILE(DATAFILE6,STR6);
SUISTATUSBAR1.SimpleText:='电气分厂-配电班 版权所有';
end;
procedure TForm1.TabControl1Change(Sender: TObject);
begin
case tabcontrol1.TabIndex of
0: //查找TAB
begin
findbox.Visible:=true;
inputbox.Visible:=false;
helpbox.Visible:=false;
LDBOX.Visible:=FALSE;
form1.DBGrid1.Visible:=true;
end;
1: //输入TAB
begin
inputbox.Visible:=true;
findbox.Visible:=false;
helpbox.Visible:=false;
LDBOX.Visible:=FALSE;
form1.DBGrid1.Visible:=true;
end;
2: //关于TAB
begin
form1.DBGrid1.Visible:=false;
LDBOX.Visible:=TRUE;
findbox.Visible:=false;
inputbox.Visible:=false;
helpbox.Visible:=false;
end;
else //联动关系TAB
form1.DBGrid1.Visible:=false;
LDBOX.Visible:=FALSE;
findbox.Visible:=false;
inputbox.Visible:=false;
helpbox.Visible:=true;
end;
end;
procedure TForm1.suiButton1Click(Sender: TObject);
begin //退出
CLOSE;
end;
procedure TForm1.suiButton2Click(Sender: TObject);
var //打开新数据文件按钮
myaccess:string;//保存文件路径
const
ConnStr = 'Provider=%s;Data Provider=%s;Data Source=%s';
mystr1='Provider=%s;Data Provider= %s;Data Source= %s;';
{给出接口参数}
myProvider='msdatashape.1';
mydataProvider='Microsoft.jet.oledb.4.0';
begin //打开数据库并进行初始设置
opendialog1.FileName:='*.mdb';
if opendialog1.Execute then
begin
myaccess:=opendialog1.FileName;
adoconnection1.Connected:=false;
if not adoconnection1.connected then
adoconnection1.ConnectionString:=format(mystr1,
[myProvider,mydataprovider,myaccess]);
adoconnection1.GetTableNames(ComboBox1.Items);
ComboBox1.Text:=ComboBox1.Items.Strings[0];
adotable1.tablename:=ComboBox1.Items.Strings[0];
adoconnection1.Connected:=true;
adotable1.Active:=true;
end;
end;
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin //以彩色显示
if gdSelected in State then
Exit;
if ADOTable1.RecNo mod 2 = 0 then
DBGrid1.Canvas.Brush.Color := clInfoBk
else
DBGrid1.Canvas.Brush.Color := RGB(191, 255, 223);
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
DBGrid1.Canvas.Pen.Color := $00C08000;
DBGrid1.Canvas.MoveTo(Rect.Left, Rect.Bottom);
DBGrid1.Canvas.LineTo(Rect.Right, Rect.Bottom);
DBGrid1.Canvas.MoveTo(Rect.Right, Rect.Top);
DBGrid1.Canvas.LineTo(Rect.Right, Rect.Bottom);
end;
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
with DBGrid1.Canvas do
begin
Pen.Color := clBlue;
MoveTo(Rect.Left, Rect.Bottom);
LineTo(Rect.Right, Rect.Bottom);
Pen.Color := clGreen;
MoveTo(Rect.Right, Rect.Top);
LineTo(Rect.Right, Rect.Bottom);
end;
end;
procedure TForm1.N3Click(Sender: TObject);
begin //关于
end;
procedure TForm1.N4Click(Sender: TObject);
begin
ShellAbout(Application.MainForm.Handle,
'%PLC点地址查询系统%',
'Copyright (c) 2003 http://10.160.75.50',
Application.Icon.Handle);
end;
procedure TForm1.N5Click(Sender: TObject);
begin //网址连接
//ShellExecute(Handle, 'open', 'http://10.160.76.50', nil, nil, SW_SHOW);
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
adotable1.Close;
adotable1.tablename:=ComboBox1.Items.Strings[ComboBox1.itemindex];
adotable1.Open;
end;
procedure TForm1.XP1Click(Sender: TObject);
begin //设置界面显示模式为XP
FORM1.XP1.CHECKED:=TRUE;
suiThemeManager1.UIStyle:= TsuiUIStyle(2);
end;
procedure TForm1.MAC1Click(Sender: TObject);
begin //设置界面显示模式为MAC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -