unitportconfig.pas

来自「绿色衡器称重系统(串口)」· PAS 代码 · 共 287 行

PAS
287
字号
unit unitPortConfig;
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
//             该系统源码归青岛东亚电子衡器有限公司版权所有
//                                  Author:HaiBin
//      Email:qdseashore@163.com     DateTime:2005.06.22
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, DBCtrls, Grids, DBGrids, Buttons, ExtCtrls, DB,
  ADODB,unitFun;

type
  TfrmPortConfig = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    DBLookupComboBox1: TDBLookupComboBox;
    GroupBox3: TGroupBox;
    Label1: TLabel;
    GroupBox4: TGroupBox;
    Label2: TLabel;
    DBLookupComboBox2: TDBLookupComboBox;
    Label3: TLabel;
    DBLookupComboBox3: TDBLookupComboBox;
    Label4: TLabel;
    DBEdit2: TDBEdit;
    Label5: TLabel;
    Label6: TLabel;
    DBGrid1: TDBGrid;
    Label7: TLabel;
    Label8: TLabel;
    DBNavigator1: TDBNavigator;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    adoConn: TADOConnection;
    ADOTable1: TADOTable;
    ADOTable2: TADOTable;
    ADOTable3: TADOTable;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    DataSource3: TDataSource;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    ADOTable4: TADOTable;
    DataSource4: TDataSource;
    Label9: TLabel;
    ADOTable5: TADOTable;
    DataSource5: TDataSource;
    DBLookupComboBox4: TDBLookupComboBox;
    Label10: TLabel;
    DBEdit1: TDBEdit;
    adoApp: TADOQuery;
    Label11: TLabel;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmPortConfig: TfrmPortConfig;

implementation

uses unitJoin, unitMain;

{$R *.dfm}

procedure TfrmPortConfig.BitBtn1Click(Sender: TObject);
begin
try
if adotable1.Active then
begin
 adotable1.Insert;
end;
except
MessageBox(handle,'数据添加操作失败!请重试!',pChar(ClientUSN),MB_OK+MB_ICONERROR);
end;
end;

procedure TfrmPortConfig.BitBtn2Click(Sender: TObject);
begin
if adotable1.Active then
begin
 if MessageBox(handle,'确实要删除当前记录吗?(不可恢复)',pChar(ClientUSN),MB_OKCANCEL+MB_ICONINFORMATION)=ID_OK then
 begin
 adotable1.Delete;
 adotable1.Refresh;
 end;
end;
end;

procedure TfrmPortConfig.BitBtn3Click(Sender: TObject);
begin
try
 if adotable1.Active then
begin
adotable1.Edit;
end;
except
 MessageBox(handle,'数据操作失败!',pChar(ClientUSN),MB_OK+MB_ICONERROR);
end;
end;

procedure TfrmPortConfig.BitBtn4Click(Sender: TObject);
begin
try
if adotable1.Active then
begin
adotable1.Edit;
adotable1.Post;
MessageBox(handle,'保存成功 !',pChar(ClientUSN),MB_OK+MB_ICONINFORMATION);
end;
except
MessageBox(handle,'数据操作失败!您可能违反了数据的唯一性!',pChar(ClientUSN),MB_OK+MB_ICONERROR);
end;
end;

procedure TfrmPortConfig.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
adotable1.Cancel;
adotable1.Close;
adotable2.Close;
adotable3.Close;
adotable4.Cancel;
adotable4.Close;
adotable5.Close;
adoConn.Close;
frmPortConfig:=nil;
action:=caFree;
end;

procedure TfrmPortConfig.FormShow(Sender: TObject);
var
objFun:TFun;
bcanRead,bcanDelete,bcanModify:boolean;
begin
objFun:=TFun.Create;
if objFun.CheckUserLv(userID,Name,bcanRead,bcanDelete,bCanModify) then
begin
  if (bcanModify) and (bcanRead) and (bcanDelete)then
 begin
  BitBtn1.Enabled:= bcanModify;
  BitBtn2.Enabled:= bcanModify;
  BitBtn3.Enabled:= bcanModify;
  BitBtn4.Enabled:= bcanModify;
  BitBtn5.Enabled:= bcanModify;
  dbedit2.ReadOnly:=Not bcanModify;
  dbedit3.ReadOnly:=Not bcanModify;
  dbedit4.ReadOnly:=Not bcanModify;
  DBLookupComboBox1.Enabled:= bcanModify;
  DBLookupComboBox2.Enabled:= bcanModify;
  DBLookupComboBox3.Enabled:= bcanModify;
  DBLookupComboBox4.Enabled:= bcanModify;
  DBNavigator1.Enabled:=bcanModify;
  DBGrid1.ReadOnly:= Not bcanModify;
 end
 else
 if (bcanModify) and (bcanRead) then
 begin
  BitBtn1.Enabled:= bcanModify;
  BitBtn2.Enabled:=Not bcanModify;
  BitBtn3.Enabled:= bcanModify;
  BitBtn4.Enabled:= bcanModify;
  BitBtn5.Enabled:= bcanModify;
  dbedit2.ReadOnly:=Not bcanModify;
  dbedit3.ReadOnly:=Not bcanModify;
  dbedit4.ReadOnly:=Not bcanModify;
  DBLookupComboBox1.Enabled:= bcanModify;
  DBLookupComboBox2.Enabled:= bcanModify;
  DBLookupComboBox3.Enabled:= bcanModify;
  DBLookupComboBox4.Enabled:= bcanModify;
  DBNavigator1.Enabled:=bcanModify;
  DBGrid1.ReadOnly:= Not bcanModify;
 end
 else
 if bcanRead then
 begin
  BitBtn1.Enabled:=Not bcanModify;
  BitBtn2.Enabled:=Not bcanModify;
  BitBtn3.Enabled:=Not bcanModify;
  BitBtn4.Enabled:=Not bcanModify;
  BitBtn5.Enabled:=Not bcanModify;
  dbedit2.ReadOnly:= bcanModify;
  dbedit3.ReadOnly:= bcanModify;
  dbedit4.ReadOnly:= bcanModify;
  DBLookupComboBox1.Enabled:=Not bcanModify;
  DBLookupComboBox2.Enabled:=Not bcanModify;
  DBLookupComboBox3.Enabled:=Not bcanModify;
  DBLookupComboBox4.Enabled:=Not bcanModify;
  DBNavigator1.Enabled:=Not bcanModify;
  DBGrid1.ReadOnly:=  bcanModify;
 end
 else
 begin
 MessageBox(handle,'对不起,你没有权限操作此功能!',pChar(ClientUSN),MB_OK+MB_ICONERROR);
 Close;
 end;
end
else
begin
MessageBox(handle,'对不起,你没有权限操作此功能!',pChar(ClientUSN),MB_OK+MB_ICONERROR);
Close;
end;
end;

procedure TfrmPortConfig.BitBtn5Click(Sender: TObject);
var
sql,strset:string;
objFun:TFun;
begin
try
frmMain.Timer1.Enabled:=false;
objFun:=TFun.Create;
if adotable1.Active then
begin
adotable4.Edit;
adotable4.Post;
sql:='Select * from PortConfig where id='+DBLookupComboBox1.Text ;
adoApp.Close;
adoApp.SQL.Clear;
adoApp.SQL.Add(sql);
adoApp.Open;
if adoApp.RecordCount>0 then
begin
 strset:=adoApp.FieldByName('sulv').AsString +','+adoApp.FieldByName('jiou').AsString + ',' +
         adoApp.FieldByName('shujuwei').AsString + ',' + adoApp.FieldByName('tingzhiwei').AsString;
 objFun.GetDevicePortSetup(adoApp.FieldByName('port').AsInteger,strset,adoApp.FieldByName('huanchong').AsInteger);
 strFengefu:=adoApp.FieldByName('fengefu').AsString;
frmMain.Timer1.Enabled:=true;
end;
 adoApp.Close;
 objFun.Free;
Close;
end;
except
MessageBox(handle,'数据操作失败!未知错误!',pChar(ClientUSN),MB_OK+MB_ICONERROR);
end;
end;

procedure TfrmPortConfig.FormCreate(Sender: TObject);
var
 Connstr:string;
begin
if Not adoConn.Connected then
begin
Connstr:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ ExtractFilePath(Paramstr(0)) +'weight.mdb;Persist Security Info=False;Jet OLEDB:Database Password=qdseashore960501';
adoConn.ConnectionString:=Connstr;
adoCOnn.Open;
end;
if not adotable1.Active then
begin
adotable1.Open;
end;
if not adotable2.Active then
begin
adotable2.Open;
end;
if not adotable3.Active then
begin
adotable3.Open;
end;
if not adotable4.Active then
begin
adotable4.Open;
end;
if not adotable5.Active then
begin
adotable5.Open;
end;
end;

end.

⌨️ 快捷键说明

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