📄 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;
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;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
suiStatusBar1: TsuiStatusBar;
suiToolBar1: TsuiToolBar;
ImageList1: TImageList;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
Label10: TLabel;
inputBox: TsuiGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
suiEdit2: TsuiEdit;
suiEdit3: TsuiEdit;
suiEdit4: TsuiEdit;
suiEdit5: TsuiEdit;
suiEdit6: TsuiEdit;
suiEdit7: TsuiEdit;
suiEdit8: TsuiEdit;
NEWButton: TsuiButton;
ADDButton: TsuiButton;
DELButton: TsuiButton;
suiEdit9: TsuiEdit;
DBGrid1: TsuiDBGrid;
Timer1: TTimer;
N12: TMenuItem;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
LDBox: TsuiGroupBox;
IComboBox: TsuiComboBox;
Memo1: TsuiMemo;
suiButton4: TsuiButton;
suiButton5: TsuiButton;
suiButton6: TsuiButton;
SComboBox: TsuiComboBox;
helpBox: TsuiGroupBox;
Label9: TLabel;
N13: TMenuItem;
procedure TabControl1Change(Sender: TObject);
procedure FormCreate(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);
procedure ToolButton5Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure N13Click(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;
PROCEDURE SAVEDATA(STR:STRING);
VAR
TDATA:PLCLD;
CURREC:INTEGER;
DATAFILE:file of plcld;
BEGIN //保存记录
ASSIGNFILE(DATAFILE,STR);
RESET(DATAFILE);
CURREC:=FILESIZE(DATAFILE);
SEEK(DATAFILE,CURREC);
TDATA.DNAME:=FORM1.SComboBox.Text;
TDATA.LDNR:=FORM1.Memo1.Text;
WRITE(DATAFILE,TDATA);
FORM1.SComboBox.Clear;
CURREC:=0;
SEEK(DATAFILE,CURREC);
WHILE NOT EOF(DATAFILE) DO
BEGIN
CURREC:=CURREC+1;
READ(DATAFILE,TDATA);
SEEK(DATAFILE,CURREC);
FORM1.SComboBox.Items.Add(TDATA.DNAME);
END;
END;
/////////////////////////////////////////////////////////////
PROCEDURE SHOWDATA(STR:STRING);
VAR
TDATA:PLCLD;
DATAFILE:file of plcld;
BEGIN
ASSIGNFILE(DATAFILE,STR);
RESET(DATAFILE);
READ(DATAFILE,TDATA);
FORM1.SComboBox.Text:=TDATA.DNAME;
FORM1.Memo1.Text:= TDATA.LDNR;
FORM1.SComboBox.Items.Add(TDATA.DNAME);
WHILE NOT EOF(DATAFILE) DO
BEGIN
READ(DATAFILE,TDATA);
FORM1.SComboBox.Items.Add(TDATA.DNAME);
END;
CLOSE(DATAFILE);
END;
/////////////////////////////////////////////////
PROCEDURE CHANGEDATA(STR:STRING);
VAR
TDATA:PLCLD;
CURREC:INTEGER;
DATAFILE:FILE OF PLCLD;
BEGIN
ASSIGNFILE(DATAFILE,STR);
RESET(DATAFILE);
CURREC:=0;
SEEK(DATAFILE,CURREC);
WHILE NOT EOF(DATAFILE) DO
BEGIN
READ(DATAFILE,TDATA);
CURREC:=CURREC+1;
SEEK(DATAFILE,CURREC);
IF TDATA.DNAME=FORM1.SComboBox.Text THEN
FORM1.Memo1.Text:=TDATA.LDNR;
END;
END;
/////////////////////////////////////////////////
PROCEDURE DELDATA(STR:STRING);
VAR
TDATA:PLCLD;
POS:INTEGER;
DATAFILE:FILE OF PLCLD;
BEGIN
ASSIGNFILE(DATAFILE,STR);
POS:=FORM1.SComboBox.ItemIndex;
RESET(DATAFILE);
SEEK(DATAFILE,POS+1);
WHILE NOT EOF(DATAFILE) DO
BEGIN
READ(DATAFILE,TDATA);
SEEK(DATAFILE,POS);
POS:=POS+1;
WRITE(DATAFILE,TDATA);
SEEK(DATAFILE,POS+1);
END;
SEEK(DATAFILE,POS);
TRUNCATE(DATAFILE);
SEEK(DATAFILE,0);
FORM1.SComboBox.Clear;
FORM1.MEMO1.Clear;
WHILE NOT EOF(DATAFILE) DO
BEGIN
READ(DATAFILE,TDATA);
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 ;
////////////////////////////////////////////////////
SHOWDATA('I.DAT');
suiStatusBar1.Panels[1].text:=DateToStr(Time());
suiStatusBar1.Panels[2].text:=TimeToStr(Time());
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.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;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -