?? main.~pas
字號(hào):
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, SUIPageControl;
Const
SConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;'
+'Jet OLEDB:Database Password=%s;';
type
TForm1 = class(TForm)
suiThemeManager1: TsuiThemeManager;
suiMainMenu1: TsuiMainMenu;
Main1: TsuiForm;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
ADOTable1: TADOTable;
DataSource1: TDataSource;
ADOConnection1: TADOConnection;
OpenDialog1: TOpenDialog;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
XP1: TMenuItem;
MAC1: TMenuItem;
DEEP1: TMenuItem;
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;
Timer1: TTimer;
ToolButton6: TToolButton;
N13: TMenuItem;
suiPageControl1: TsuiPageControl;
suiTabSheet1: TsuiTabSheet;
suiTabSheet2: TsuiTabSheet;
FindBox: TsuiGroupBox;
Label10: TLabel;
FINDGroupBox: TsuiGroupBox;
ADDRadio: TsuiRadioButton;
NRRadio: TsuiRadioButton;
ADDEdit: TsuiEdit;
NREdit: TsuiEdit;
suiButton3: TsuiButton;
DBGrid1: TsuiDBGrid;
suiButton2: TsuiButton;
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;
Label11: TLabel;
suiEdit16: TsuiEdit;
Label12: TLabel;
suiEdit10: TsuiEdit;
Label13: TLabel;
suiEdit11: TsuiEdit;
Label14: TLabel;
suiEdit12: TsuiEdit;
Label15: TLabel;
suiEdit13: TsuiEdit;
Label16: TLabel;
suiEdit14: TsuiEdit;
Label17: TLabel;
suiEdit15: TsuiEdit;
DHRadio: TsuiRadioButton;
DHEdit: TsuiEdit;
QSNAMERadio: TsuiRadioButton;
QSNAMEEdit: TsuiEdit;
ComboBox1: TsuiComboBox;
SaveDialog1: TSaveDialog;
ToolButton7: TToolButton;
ADOCommand1: TADOCommand;
N12: TMenuItem;
N14: TMenuItem;
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 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);
procedure ToolButton6Click(Sender: TObject);
procedure suiEdit10KeyPress(Sender: TObject; var Key: Char);
procedure suiEdit11KeyPress(Sender: TObject; var Key: Char);
procedure suiEdit12KeyPress(Sender: TObject; var Key: Char);
procedure suiEdit13KeyPress(Sender: TObject; var Key: Char);
procedure suiEdit14KeyPress(Sender: TObject; var Key: Char);
procedure suiEdit16KeyPress(Sender: TObject; var Key: Char);
procedure DHRadioClick(Sender: TObject);
procedure QSNAMERadioClick(Sender: TObject);
procedure FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
procedure ToolButton7Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure SetupTable(sender:tobject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
PLCLD = RECORD
DNAME:STRING[30];
LDNR:STRING[200];
END;
var
Form1: TForm1;
NO:integer;
myaccess:string;//保存文件路徑
implementation
{$R *.dfm}
uses
shellapi, PLCdetail, CreateTable,ComObj;
//=============================================================================
// Procedure: GetTempPathFileName
// Author : ysai
// Date : 2003-01-27
// Arguments: (None)
// Result : string
//=============================================================================
function GetTempPathFileName():string;
//取得臨時(shí)文件名
var
SPath,SFile:array [0..254] of char;
begin
GetTempPath(254,SPath);
GetTempFileName(SPath,'~SM',0,SFile);
result:=SFile;
DeleteFile(result);
end;
//=============================================================================
// Procedure: CreateAccessFile
// Author : ysai
// Date : 2003-01-27
// Arguments: FileName:String;PassWord:string=''
// Result : boolean
//=============================================================================
function CreateAccessFile(FileName:String;PassWord:string=''):boolean;
//建立Access文件,如果文件存在則失敗
var
STempFileName:string;
vCatalog:OleVariant;
begin
STempFileName:=GetTempPathFileName;
try
vCatalog:=CreateOleObject('ADOX.Catalog');
vCatalog.Create(format(SConnectionString,[STempFileName,PassWord]));
result:=CopyFile(PChar(STempFileName),PChar(FileName),True);
DeleteFile(STempFileName);
except
result:=false;
end;
end;
//=============================================================================
// Procedure: CompactDatabase
// Author : ysai
// Date : 2003-01-27
// Arguments: AFileName,APassWord:string
// Result : boolean
//=============================================================================
function CompactDatabase(AFileName,APassWord:string):boolean;
//壓縮與修復(fù)數(shù)據(jù)庫(kù),覆蓋源文件
var
STempFileName:string;
vJE:OleVariant;
begin
STempFileName:=GetTempPathFileName;
try
vJE:=CreateOleObject('JRO.JetEngine');
vJE.CompactDatabase(format(SConnectionString,[AFileName,APassWord]),
format(SConnectionString,[STempFileName,APassWord]));
result:=CopyFile(PChar(STempFileName),PChar(AFileName),false);
DeleteFile(STempFileName);
except
result:=false;
end;
end;
//----------------------------------------------------------------------
procedure TForm1.FormCreate(Sender: TObject);
begin //初始化設(shè)置
adoconnection1.GetTableNames(ComboBox1.Items);
ComboBox1.Text:=ComboBox1.Items.Strings[0];
adotable1.Close;
ADOTable1.ReadOnly:=true;
adotable1.tablename:=ComboBox1.Items.Strings[0];
adotable1.Open;
//AdoTable1.Last;
//NO:=strtoint(ADOTable1.Fields[0].AsString);
//AdoTable1.First;
////////////////////////////////////////////////////
FORM1.suiEdit2.Text:='系統(tǒng)自動(dòng)加入' ;
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 ;
FORM1.suiedit9.Text:=ADOTable1.Fields[7].AsString ;
FORM1.suiedit10.Text:=ADOTable1.Fields[8].AsString ;
FORM1.suiedit11.Text:=ADOTable1.Fields[9].AsString ;
FORM1.suiedit12.Text:=ADOTable1.Fields[10].AsString ;
FORM1.suiedit13.Text:=ADOTable1.Fields[11].AsString ;
FORM1.suiedit14.Text:=ADOTable1.Fields[12].AsString ;
FORM1.suiedit15.Text:=ADOTable1.Fields[13].AsString ;
FORM1.suiedit16.Text:=ADOTable1.Fields[14].AsString ;
////////////////////////////////////////////////////
suiStatusBar1.Panels[1].text:=DateToStr(Time());
suiStatusBar1.Panels[2].text:=TimeToStr(Time());
end;
//////////////以下為數(shù)據(jù)庫(kù)的處理部分/////////////////
procedure TForm1.suiButton2Click(Sender: TObject);
//打開新數(shù)據(jù)文件按鈕
const
ConnStr = 'Provider=%s;Data Provider=%s;Data Source=%s';
mystr1='Provider=%s;Data Provider= %s;Data Source= %s;';
{給出接口參數(shù)}
myProvider='msdatashape.1';
mydataProvider='Microsoft.jet.oledb.4.0';
begin //打開數(shù)據(jù)庫(kù)并進(jìn)行初始設(shè)置
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.ComboBox1Change(Sender: TObject);
begin
adotable1.Close;
adotable1.tablename:=ComboBox1.Items.Strings[ComboBox1.itemindex];
adotable1.Open;
end;
procedure TForm1.suiButton3Click(Sender: TObject);
var
sn:string;
begin //查詢按鈕
if ADDRadio.Checked then
begin
sn:=ADDedit.text;
if ADOTable1.Locate('姓名',sn,[loCaseInsensitive]) then
begin
FORM2.suiGroupBox1.CAPTION:='查詢成功';
FORM2.Top:=DBGrid1.Top;
FORM2.Left:=DBGrid1.Left;
FORM2.SHOW;
FORM2.edit1.Text:=ADOTable1.Fields[0].AsString ;
FORM2.edit2.Text:=ADOTable1.Fields[1].AsString ;
FORM2.edit3.Text:=ADOTable1.Fields[2].AsString ;
FORM2.edit4.Text:=ADOTable1.Fields[3].AsString ;
FORM2.edit5.Text:=ADOTable1.Fields[4].AsString ;
FORM2.edit6.Text:=ADOTable1.Fields[5].AsString ;
FORM2.edit7.Text:=ADOTable1.Fields[6].AsString ;
FORM2.edit8.Text:=ADOTable1.Fields[7].AsString ;
FORM2.edit9.Text:=ADOTable1.Fields[8].AsString ;
FORM2.edit10.Text:=ADOTable1.Fields[9].AsString ;
FORM2.edit11.Text:=ADOTable1.Fields[10].AsString ;
FORM2.edit12.Text:=ADOTable1.Fields[11].AsString ;
FORM2.edit13.Text:=ADOTable1.Fields[12].AsString ;
FORM2.edit14.Text:=ADOTable1.Fields[13].AsString ;
FORM2.edit15.Text:=ADOTable1.Fields[14].AsString ;
end
else
FORM2.suiGroupBox1.CAPTION:='查詢失敗';
end;
if NRRadio.Checked then
begin
sn:=NRedit.text;
if ADOTable1.Locate('身份證號(hào)',sn,[loCaseInsensitive]) then
begin
FORM2.suiGroupBox1.CAPTION:='查詢成功';
FORM2.Top:=DBGrid1.Top;
FORM2.Left:=DBGrid1.Left;
FORM2.SHOW;
//a:=ADOTable1.Seek('點(diǎn)地址',edit3.text);
FORM2.edit1.Text:=ADOTable1.Fields[0].AsString ;
FORM2.edit2.Text:=ADOTable1.Fields[1].AsString ;
FORM2.edit3.Text:=ADOTable1.Fields[2].AsString ;
FORM2.edit4.Text:=ADOTable1.Fields[3].AsString ;
FORM2.edit5.Text:=ADOTable1.Fields[4].AsString ;
FORM2.edit6.Text:=ADOTable1.Fields[5].AsString ;
FORM2.edit7.Text:=ADOTable1.Fields[6].AsString ;
FORM2.edit8.Text:=ADOTable1.Fields[7].AsString ;
FORM2.edit9.Text:=ADOTable1.Fields[8].AsString ;
FORM2.edit10.Text:=ADOTable1.Fields[9].AsString ;
FORM2.edit11.Text:=ADOTable1.Fields[10].AsString ;
FORM2.edit12.Text:=ADOTable1.Fields[11].AsString ;
FORM2.edit13.Text:=ADOTable1.Fields[12].AsString ;
FORM2.edit14.Text:=ADOTable1.Fields[13].AsString ;
FORM2.edit15.Text:=ADOTable1.Fields[14].AsString ;
end
else
FORM2.suiGroupBox1.CAPTION:='查詢失敗';
end;
if DHRadio.Checked then
begin
sn:=DHedit.text;
if ADOTable1.Locate('電話',sn,[loCaseInsensitive]) then
begin
FORM2.suiGroupBox1.CAPTION:='查詢成功';
FORM2.Top:=DBGrid1.Top;
FORM2.Left:=DBGrid1.Left;
FORM2.SHOW;
FORM2.edit1.Text:=ADOTable1.Fields[0].AsString ;
FORM2.edit2.Text:=ADOTable1.Fields[1].AsString ;
FORM2.edit3.Text:=ADOTable1.Fields[2].AsString ;
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -