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

📄 复件 main.pas

📁 一个用来管理PLC和工控点地址内容和具体功能的数据库软件!可用在工程的数据管理上面!
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -