程序技巧没有什么实在的用处,看了风焱老大的贴子,有很多朋友UP.呵呵
模板一:
unit TempletForm;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Menus, ComCtrls, ToolWin, Buttons, StdCtrls, AppEvnts,
LabelButton, TradeImage, MaskImageButton, MoveImageButton;type
TMyForm = class(TForm)
palUp: TPanel;
palLeftUp: TPanel;
imgLeftUp: TImage;
palRightUp: TPanel;
imgRightUp: TImage;
palUpMid: TPanel;
imgCaption: TImage;
palDown: TPanel;
imgLeftDown: TImage;
imgRightDown: TImage;
imgDownMin: TImage;
palLeft: TPanel;
palRight: TPanel;
imgRight: TImage;
imgCloseButton: TImage;
imgMinButton: TImage;
imgSizeButton: TImage;
imgMaxButton: TImage;
imgRestoreButton: TImage;
imgSysIcon: TImage;
popSystemMenu: TPopupMenu;
N_Restore: TMenuItem;
N_Max: TMenuItem;
N_Min: TMenuItem;
N_Move: TMenuItem;
N_Size: TMenuItem;
N_Speater: TMenuItem;
N_Close: TMenuItem;
palClient: TPanel;
lbCaption: TLabel;
CoolBarMenu: TCoolBar;
ToolBarMenu: TToolBar;
imgLeft: TImage;
imgColorLeftUp: TImage;
imgGrayCaption: TImage;
imgGrayMenuBar: TImage;
imgGrayRightUp: TImage;
imgColorCaption: TImage;
imgGrayLeftUp: TImage;
imgColorRightUp: TImage;
imgRightUp1: TImage;
imgLeftUp1: TImage;
imgColorMenubar: TImage;
procedure imgMinButtonClick(Sender: TObject);
procedure imgSizeButtonClick(Sender: TObject);
procedure imgCloseButtonClick(Sender: TObject);
procedure imgCaptionMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure imgCaptionMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure imgCaptionMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
procedure imgSysIconMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure popSystemMenuPopup(Sender: TObject);
procedure N_SizeClick(Sender: TObject);
procedure N_MoveClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
canmove:boolean;
curPoint:TPoint;
oldPoint:TPoint;
Canvas:TCanvas;
protected
procedure CreateParams(var Params:TCreateParams);override;
procedure WMActivate(var Msg:TWMACTIVATE); message WM_ACTIVATE;
public
{ Public declarations }
end;var
MyForm: TMyForm;implementation{$R *.dfm}procedure TMyForm.CreateParams(var Params:TCreateParams);
begin
inherited CreateParams(Params);
if BorderStyle<>bsNone then
Params.Style :=WS_THICKFRAME or WS_POPUP or WS_BORDER;
end;procedure TMyForm.imgMinButtonClick(Sender: TObject);
begin
if Application.MainForm =self then
Application.Minimize
else
DefWindowProc(Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
end;procedure TMyForm.imgSizeButtonClick(Sender: TObject);
begin
if self.WindowState = wsNormal then
begin
DefWindowProc(Handle, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
imgSizeButton.Picture :=imgRestoreButton.Picture;
end
else
begin
DefWindowProc(Handle, WM_SYSCOMMAND, SC_RESTORE, 0);
imgSizeButton.Picture :=imgMaxButton.Picture;
end;end;procedure TMyForm.imgCloseButtonClick(Sender: TObject);
begin
DefWindowProc(Handle, WM_SYSCOMMAND, SC_CLOSE, 0);
end;procedure TMyForm.imgCaptionMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if (Button=mbLeft)and(ssLeft in Shift)then
begin
canmove:=true;
Canvas:=TCanvas.Create;
with Canvas do
begin
pen.Style :=psdot;
brush.Style :=bsClear;
pen.Width :=2;
Pen.Mode :=pmNotXor;
Handle :=GetDC(0);
Rectangle(left,top,Left+width,top+height);
curPoint.X :=X;
curPoint.Y :=Y;
oldPoint.X :=Left;
oldPoint.Y :=Top;
end; //end with
end; //end if
end;procedure TMyForm.imgCaptionMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
if not canmove then exit;
with Canvas do
begin
Rectangle(oldPoint.x,oldPoint.y,oldPoint.x+Width,oldPoint.y+Height);
oldPoint.x :=Left +X-curPoint.x;
oldPoint.y :=Top +Y-curPoint.y;
Rectangle(oldPoint.x,oldPoint.y,oldPoint.x+Width,oldPoint.y+Height);
end;
end;procedure TMyForm.imgCaptionMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if not canmove then exit;
with Canvas do
begin
Rectangle(oldPoint.x,oldPoint.y,oldPoint.x+Width,oldPoint.y+Height);
Left :=oldPoint.x;
Top :=oldPoint.y;
Free;
end;
canmove:=not canmove;
end;procedure TMyForm.FormCreate(Sender: TObject);
begin
lbCaption.Caption :=Caption;
end;procedure TMyForm.imgSysIconMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
PopSystemMenu.Popup(Left+ImgSysIcon.Left,Top+ImgSysIcon.Top+ImgSysIcon.Height);
end;procedure TMyForm.popSystemMenuPopup(Sender: TObject);
begin N_Restore.Enabled :=imgSizeButton.Visible and (WindowState =wsMaximized);
N_Max.Enabled :=imgSizeButton.Visible and (WindowState =wsNormal);
N_Size.Enabled :=imgSizeButton.Visible ;
end;procedure TMyForm.N_SizeClick(Sender: TObject);
begin
DefWindowProc(Handle, WM_SYSCOMMAND, SC_SIZE, 0);
end;procedure TMyForm.N_MoveClick(Sender: TObject);
begin
DefWindowProc(Handle, WM_SYSCOMMAND, SC_MOVE, 0);
end;procedure TMyForm.FormShow(Sender: TObject);
begin
if WindowState=wsNormal then
imgSizeButton.Picture.Bitmap :=imgMaxButton.Picture.Bitmap
else if WindowState=wsMaximized then
imgSizeButton.Picture.Bitmap :=imgRestoreButton.Picture.Bitmap
end;procedure TMyForm.WMActivate(var Msg: TWMACTIVATE);
begin
if (Msg.Active =WA_ACTIVE) or (Msg.Active =WA_CLICKACTIVE) then
begin
imgCaption.Picture.Bitmap :=imgColorCaption.Picture.Bitmap;
imgLeftUp1.Picture.Bitmap :=imgColorLeftUp.Picture.Bitmap;
imgRightUp1.Picture.Bitmap :=imgColorRightUp.Picture.Bitmap;
coolBarMenu.Bitmap :=imgColorMenubar.Picture.Bitmap;
end
else begin
imgCaption.Picture.Bitmap :=imgGrayCaption.Picture.Bitmap;
imgLeftUp1.Picture.Bitmap :=imgGrayLeftUp.Picture.Bitmap;
imgRightUp1.Picture.Bitmap :=imgGrayRightUp.Picture.Bitmap;
coolBarMenu.Bitmap :=imgGrayMenubar.Picture.Bitmap;
end;
end;end.
模板一:
unit TempletForm;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, Menus, ComCtrls, ToolWin, Buttons, StdCtrls, AppEvnts,
LabelButton, TradeImage, MaskImageButton, MoveImageButton;type
TMyForm = class(TForm)
palUp: TPanel;
palLeftUp: TPanel;
imgLeftUp: TImage;
palRightUp: TPanel;
imgRightUp: TImage;
palUpMid: TPanel;
imgCaption: TImage;
palDown: TPanel;
imgLeftDown: TImage;
imgRightDown: TImage;
imgDownMin: TImage;
palLeft: TPanel;
palRight: TPanel;
imgRight: TImage;
imgCloseButton: TImage;
imgMinButton: TImage;
imgSizeButton: TImage;
imgMaxButton: TImage;
imgRestoreButton: TImage;
imgSysIcon: TImage;
popSystemMenu: TPopupMenu;
N_Restore: TMenuItem;
N_Max: TMenuItem;
N_Min: TMenuItem;
N_Move: TMenuItem;
N_Size: TMenuItem;
N_Speater: TMenuItem;
N_Close: TMenuItem;
palClient: TPanel;
lbCaption: TLabel;
CoolBarMenu: TCoolBar;
ToolBarMenu: TToolBar;
imgLeft: TImage;
imgColorLeftUp: TImage;
imgGrayCaption: TImage;
imgGrayMenuBar: TImage;
imgGrayRightUp: TImage;
imgColorCaption: TImage;
imgGrayLeftUp: TImage;
imgColorRightUp: TImage;
imgRightUp1: TImage;
imgLeftUp1: TImage;
imgColorMenubar: TImage;
procedure imgMinButtonClick(Sender: TObject);
procedure imgSizeButtonClick(Sender: TObject);
procedure imgCloseButtonClick(Sender: TObject);
procedure imgCaptionMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure imgCaptionMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure imgCaptionMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
procedure imgSysIconMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure popSystemMenuPopup(Sender: TObject);
procedure N_SizeClick(Sender: TObject);
procedure N_MoveClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
canmove:boolean;
curPoint:TPoint;
oldPoint:TPoint;
Canvas:TCanvas;
protected
procedure CreateParams(var Params:TCreateParams);override;
procedure WMActivate(var Msg:TWMACTIVATE); message WM_ACTIVATE;
public
{ Public declarations }
end;var
MyForm: TMyForm;implementation{$R *.dfm}procedure TMyForm.CreateParams(var Params:TCreateParams);
begin
inherited CreateParams(Params);
if BorderStyle<>bsNone then
Params.Style :=WS_THICKFRAME or WS_POPUP or WS_BORDER;
end;procedure TMyForm.imgMinButtonClick(Sender: TObject);
begin
if Application.MainForm =self then
Application.Minimize
else
DefWindowProc(Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
end;procedure TMyForm.imgSizeButtonClick(Sender: TObject);
begin
if self.WindowState = wsNormal then
begin
DefWindowProc(Handle, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
imgSizeButton.Picture :=imgRestoreButton.Picture;
end
else
begin
DefWindowProc(Handle, WM_SYSCOMMAND, SC_RESTORE, 0);
imgSizeButton.Picture :=imgMaxButton.Picture;
end;end;procedure TMyForm.imgCloseButtonClick(Sender: TObject);
begin
DefWindowProc(Handle, WM_SYSCOMMAND, SC_CLOSE, 0);
end;procedure TMyForm.imgCaptionMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if (Button=mbLeft)and(ssLeft in Shift)then
begin
canmove:=true;
Canvas:=TCanvas.Create;
with Canvas do
begin
pen.Style :=psdot;
brush.Style :=bsClear;
pen.Width :=2;
Pen.Mode :=pmNotXor;
Handle :=GetDC(0);
Rectangle(left,top,Left+width,top+height);
curPoint.X :=X;
curPoint.Y :=Y;
oldPoint.X :=Left;
oldPoint.Y :=Top;
end; //end with
end; //end if
end;procedure TMyForm.imgCaptionMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
if not canmove then exit;
with Canvas do
begin
Rectangle(oldPoint.x,oldPoint.y,oldPoint.x+Width,oldPoint.y+Height);
oldPoint.x :=Left +X-curPoint.x;
oldPoint.y :=Top +Y-curPoint.y;
Rectangle(oldPoint.x,oldPoint.y,oldPoint.x+Width,oldPoint.y+Height);
end;
end;procedure TMyForm.imgCaptionMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if not canmove then exit;
with Canvas do
begin
Rectangle(oldPoint.x,oldPoint.y,oldPoint.x+Width,oldPoint.y+Height);
Left :=oldPoint.x;
Top :=oldPoint.y;
Free;
end;
canmove:=not canmove;
end;procedure TMyForm.FormCreate(Sender: TObject);
begin
lbCaption.Caption :=Caption;
end;procedure TMyForm.imgSysIconMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
PopSystemMenu.Popup(Left+ImgSysIcon.Left,Top+ImgSysIcon.Top+ImgSysIcon.Height);
end;procedure TMyForm.popSystemMenuPopup(Sender: TObject);
begin N_Restore.Enabled :=imgSizeButton.Visible and (WindowState =wsMaximized);
N_Max.Enabled :=imgSizeButton.Visible and (WindowState =wsNormal);
N_Size.Enabled :=imgSizeButton.Visible ;
end;procedure TMyForm.N_SizeClick(Sender: TObject);
begin
DefWindowProc(Handle, WM_SYSCOMMAND, SC_SIZE, 0);
end;procedure TMyForm.N_MoveClick(Sender: TObject);
begin
DefWindowProc(Handle, WM_SYSCOMMAND, SC_MOVE, 0);
end;procedure TMyForm.FormShow(Sender: TObject);
begin
if WindowState=wsNormal then
imgSizeButton.Picture.Bitmap :=imgMaxButton.Picture.Bitmap
else if WindowState=wsMaximized then
imgSizeButton.Picture.Bitmap :=imgRestoreButton.Picture.Bitmap
end;procedure TMyForm.WMActivate(var Msg: TWMACTIVATE);
begin
if (Msg.Active =WA_ACTIVE) or (Msg.Active =WA_CLICKACTIVE) then
begin
imgCaption.Picture.Bitmap :=imgColorCaption.Picture.Bitmap;
imgLeftUp1.Picture.Bitmap :=imgColorLeftUp.Picture.Bitmap;
imgRightUp1.Picture.Bitmap :=imgColorRightUp.Picture.Bitmap;
coolBarMenu.Bitmap :=imgColorMenubar.Picture.Bitmap;
end
else begin
imgCaption.Picture.Bitmap :=imgGrayCaption.Picture.Bitmap;
imgLeftUp1.Picture.Bitmap :=imgGrayLeftUp.Picture.Bitmap;
imgRightUp1.Picture.Bitmap :=imgGrayRightUp.Picture.Bitmap;
coolBarMenu.Bitmap :=imgGrayMenubar.Picture.Bitmap;
end;
end;end.
unit TempleUnt;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, SUIForm, ComCtrls, cxGraphics, cxControls, dxStatusBar,
DBCtrls, RzDBNav, bsSkinCtrls, bsSkinGrids, bsDBGrids, SUIImagePanel,DB,ADODB,
StdCtrls,QComCtrls;type
TTempleFrm = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
FADOQuery : TADOQuery;
Procedure DataShow;
Procedure DataSave;
Procedure DataEdit;
Procedure ShowMessageEx(IntValue : Integer = 0);
Procedure ControlET(Sender : TPanel);
Procedure ControlEF(Sender : TPanel);
Procedure ControlClear(Sender : TPanel);
Procedure GetRecordInfo(Sender : TdxStatusBar);
Procedure DataAdd;
Procedure DataDeltete;
Procedure DataCancel;
Procedure DataToCom(Sender : TCustomCombo;TableName,FieldName : String);
Function DataSetcz : Boolean;
Procedure SaveData;
Function CheckEx_Edt(ChildSender : TCustomEdit;vHint : String) : Boolean;
Function CheckEx_CBX(ChildSender : TCustomCombo;vHint : String) : Boolean;
Function iCheckEx_Edt(ChildSender : TCustomEdit;vHint : String) : Boolean;
Function dCheckEx_Edt(ChildSender : TCustomEdit;vHint : String) : Boolean;
Function inCheckEx_Edt(ChildSender : TCustomEdit;vHint : String) : Boolean;
Function dnCheckEx_Edt(ChildSender : TCustomEdit;vHint : String) : Boolean;
Function repeatInfo(TableName,FieldName,FieldValue,vHint : String ;vInt : Integer = 0) : Boolean;
Procedure OpenDataSet(vSQLStr: String);
Procedure OpenDataSetEX(vADOQuery : TADOQuery;vSQLStr: String);
Function ExecDataSet(vSQLStr:String) : Boolean;
Function Delete_Ask : Boolean;
Function GetPriceType(dValue : String) : String;
end;var
TempleFrm: TTempleFrm;implementation
Uses
DataModuleUnt;{$R *.dfm}{ TTempleFrm }
function TTempleFrm.CheckEx_Edt(ChildSender: TCustomEdit;
vHint: String): Boolean;
begin
Result := True;
if Trim(ChildSender.Text) = '' then
begin
Application.MessageBox(PChar('对不起,请您将' + vHint + '信息添写完整'),'提示',
MB_OK + MB_ICONINFORMATION);
Result := False;
ChildSender.SetFocus;
Exit;
end;
end;function TTempleFrm.CheckEx_CBX(ChildSender: TCustomCombo;
vHint: String): Boolean;
begin
Result := True;
if ChildSender.ItemIndex = -1 then
begin
Application.MessageBox(PChar('对不起,请您将' + vHint + '信息添写完整'),'提示',
MB_OK + MB_ICONINFORMATION);
Result := False;
ChildSender.SetFocus;
Exit;
end;
end;procedure TTempleFrm.ControlClear(Sender: TPanel);
var
vIndex : Integer;
begin
for vIndex := 0 to Sender.ControlCount - 1 do
begin
//..
if Sender.Controls[vIndex] Is TCustomEdit then
TCustomEdit(Sender.Controls[vIndex]).Clear ;
if Sender.Controls[vIndex] Is TCustomCombo then
TCustomCombo(Sender.Controls[vIndex]).ItemIndex := -1;
if Sender.Controls[vIndex] Is TCustomMemo then
TCustomMemo(Sender.Controls[vIndex]).Clear;
end;
end;procedure TTempleFrm.ControlEF(Sender: TPanel);
var
vIndex : Integer;
begin
for vIndex := 0 to Sender.ControlCount - 1 do
begin
if Sender.Controls[vIndex] Is TWinControl then
TWinControl(Sender.Controls[vIndex]).Enabled := False;
end;
end;procedure TTempleFrm.ControlET(Sender: TPanel);
var
vIndex : Integer;
begin
for vIndex := 0 to Sender.ControlCount - 1 do
begin
if Sender.Controls[vIndex] Is TWinControl then
TWinControl(Sender.Controls[vIndex]).Enabled := True;
end;
end;procedure TTempleFrm.DataAdd;
begin
if DataSetCZ then
begin
FADOQuery.Append ;
Caption := '客房添加';
end else
Exit;
end;procedure TTempleFrm.DataCancel;
begin
if DataSetCZ then
Exit;
FADOQuery.Cancel;
end;procedure TTempleFrm.DataDeltete;
begin
//..
if DataSetCZ or FADOQuery.IsEmpty then
Exit;
if Application.MessageBox('您确定定要删除当前记录吗?','提示',MB_OKCANCEL + MB_ICONINFORMATION) = MROK then
FADOQuery.Delete;
end;procedure TTempleFrm.DataEdit;
begin
if DataSetCZ and Not FADOQuery.IsEmpty then
FADOQuery.Edit else
Exit;
end;----------------------------------------------------------
事太多、心太乱
begin
if DataSetCZ then
Exit;
SaveData;
end;
/// </returns>
/// 如果返回为假,则不可以进行操作,否则可以进行操作。
/// <returns>
Function TTempleFrm.DataSetCZ : Boolean;
begin
Result := True;
if (FADOQuery.State = dsInsert) or (FADOQuery.State = dsEdit) then
begin
Result := False;
end;
end;procedure TTempleFrm.DataShow;
begin
//..
end;procedure TTempleFrm.DataToCom(Sender: TCustomCombo;TableName,FieldName : String);
begin
with DataModuleFrm.LSBADOQuery do
begin
if Active then
Active := False;
SQL.Clear;
SQL.Add('Select Distinct ' + FieldName + ' From ' + TableName );
Open;
if RecordCount <> 0 then
begin
First;
Sender.Clear;
while Not Eof do
begin
Sender.Items.Add(Trim(FieldByName(FieldName).AsString));
Next;
end;
end;
end;
end;procedure TTempleFrm.GetRecordInfo(Sender: TdxStatusBar);
begin
//..
if FADOQuery.Active then
begin
Sender.Panels[1].Text := '当前数据信息共有' + IntToStr(FADOQuery.RecordCount) + '条';
end;
end;procedure TTempleFrm.SaveData;
begin
//..
end;procedure TTempleFrm.ShowMessageEx(IntValue: Integer);
begin
if IntValue= 0 then
Application.MessageBox('恭喜您,数据操作成功','提示',MB_OK + MB_ICONINFORMATION) else
Application.MessageBox('对不起,数据操作失败','提示',MB_ICONINFORMATION);
end;function TTempleFrm.dCheckEx_Edt(ChildSender: TCustomEdit;
vHint: String): Boolean;
begin
Try
StrToFloat(ChildSender.Text);
Except
Application.MessageBox(PChar('对不起,请您将' + vHint + '信息添写完整'),'提示',
MB_OK + MB_ICONINFORMATION);
Result := False;
ChildSender.SetFocus;
Exit;
end;
end;function TTempleFrm.iCheckEx_Edt(ChildSender: TCustomEdit;
vHint: String): Boolean;
begin
Try
StrToInt(ChildSender.Text);
Except
Application.MessageBox(PChar('对不起,请您将' + vHint + '信息添写完整'),'提示',
MB_OK + MB_ICONINFORMATION);
Result := False;
ChildSender.SetFocus;
Exit;
end;
end;function TTempleFrm.dnCheckEx_Edt(ChildSender: TCustomEdit;
vHint: String): Boolean;
begin
Try
StrToFloat(ChildSender.Text);
if StrToFloat(ChildSender.Text) <= 0 then
begin
Application.MessageBox(PChar('对不起,请您将' + vHint + '信息添写完整' + #13 +
'且' + vHint + '不能为零或是小于零'),'提示',
MB_OK + MB_ICONINFORMATION);
Result := False;
ChildSender.SetFocus;
Exit;
end;
Except
Application.MessageBox(PChar('对不起,请您将' + vHint + '信息添写完整' + #13 +
'且' + vHint + '不能为零或是小于零'),'提示',
MB_OK + MB_ICONINFORMATION);
Result := False;
ChildSender.SetFocus;
Exit;
end;
end;function TTempleFrm.inCheckEx_Edt(ChildSender: TCustomEdit;
vHint: String): Boolean;
begin
Try
StrToInt(ChildSender.Text);
if StrToInt(ChildSender.Text) <= 0 then
begin
Application.MessageBox(PChar('对不起,请您将' + vHint + '信息添写完整'+ #13 +
'且' + vHint + '不能为零或是小于零'),'提示',
MB_OK + MB_ICONINFORMATION);
Result := False;
ChildSender.SetFocus;
Exit;
end;
Except
Application.MessageBox(PChar('对不起,请您将' + vHint + '信息添写完整'+ #13 +
'且' + vHint + '不能为零或是小于零'),'提示',
MB_OK + MB_ICONINFORMATION);
Result := False;
ChildSender.SetFocus;
Exit;
end;
end;function TTempleFrm.repeatInfo(TableName, FieldName, FieldValue,
vHint: String;vInt : Integer): Boolean;
var
vSQLStr : String;
begin
Result := True;
if vInt = 0 then
vSQLStr := 'Select * From ' + TableName + ' where ' + FieldName + ' = ''' + FieldValue + '''';
if vInt = 1 then
vSQLStr := 'Select * From ' + TableName + ' where ' + FieldName + ' = ' + FieldValue ;
OpenDataSet(vSQLStr);
if DataModuleFrm.LSBADOQuery.RecordCount <> 0 then
begin
Result := False;
Application.MessageBox(pChar('对不起,' + vHint + '信息重复,请查证后,再进行操作') ,'提示',MB_ICONINFORMATION);
Exit;
end;
end;procedure TTempleFrm.OpenDataSet(vSQLStr:String);
begin
with DataModuleFrm.LSBADOQuery do
begin
if Active then
Active := False;
SQL.Clear;
SQL.Add(vSQLStr);
SQL.SaveToFile('a.TxT');
Open;
end;
end;function TTempleFrm.ExecDataSet(vSQLStr:String): Boolean;
begin
Result := True;
with DataModuleFrm.LSBADOQuery do
begin
if Active then
Active := False;
SQL.Clear;
SQL.Add(vSQLStr);
ShowMessage(vSQLStr);
Try
ExecSQL;
Except
Result := False;
ShowMessageEx(1);
Exit;
end;
ShowMessageEx(0);
end;
end;function TTempleFrm.Delete_Ask: Boolean;
begin
Result := False;
if Application.MessageBox('您确定定要删除当前记录吗?','提示',MB_OKCANCEL + MB_ICONINFORMATION) = MROK then
Result := True;
end;procedure TTempleFrm.OpenDataSetEX(vADOQuery: TADOQuery; vSQLStr: String);
begin
with vADOQuery do
begin
if Active then
Active := False;
SQL.Clear;
SQL.Add(vSQLStr);
Open;
end;
end;function TTempleFrm.GetPriceType(dValue: String): String;
begin
//..
OpenDataSet('Select PriceType From RoomPircewh where SPrice < ' + dValue + ' and EPrice > ' + dValue);
if DataModuleFrm.LSBADOQuery.RecordCount <> 0 then
Result := DataModuleFrm.LSBADOQuery.FieldByName('PriceType').AsString;
end;end.----------------------------------------------------------
事太多、心太乱
unit AddRoomUnt;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, TempleUnt, cxGraphics, cxControls, dxStatusBar, ExtCtrls,
SUIForm, SUIImagePanel, StdCtrls, SUIMemo, SUIComboBox, SUIEdit, RzLabel,
SUIButton, bsSkinCtrls, bsSkinGrids, bsDBGrids, DBCtrls, RzDBNav,DB,
Mask, RzEdit, RzCmboBx, ComCtrls, ImgList, Grids, DBGrids;type
TAddRoomFrm = class(TTempleFrm)
suiForm1: TsuiForm;
dxStatusBar1: TdxStatusBar;
suiImagePanel3: TsuiImagePanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
suiImagePanel1: TsuiImagePanel;
suiButton1: TsuiButton;
suiButton2: TsuiButton;
suiButton3: TsuiButton;
suiButton4: TsuiButton;
suiButton5: TsuiButton;
suiButton6: TsuiButton;
suiButton7: TsuiButton;
suiButton8: TsuiButton;
suiButton9: TsuiButton;
Panel1: TPanel;
RzLabel1: TRzLabel;
RzLabel2: TRzLabel;
RzLabel3: TRzLabel;
RzLabel4: TRzLabel;
RzLabel5: TRzLabel;
RzLabel6: TRzLabel;
RzLabel7: TRzLabel;
RzLabel8: TRzLabel;
RzLabel9: TRzLabel;
RzLabel10: TRzLabel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
suiCheckBox1: TsuiCheckBox;
RoomSizeEdt: TRzNumericEdit;
RoomPriceEdt: TRzNumericEdit;
RoomBedEdt: TRzNumericEdit;
CodeEdt: TRzEdit;
FloorCBX: TRzComboBox;
RoomTypeCBX: TRzComboBox;
RoomStateCBX: TRzComboBox;
RoomNameEdt: TRzEdit;
RoomStyleCBX: TRzComboBox;
RoomBzMemo: TRzMemo;
suiImagePanel2: TsuiImagePanel;
suiButton10: TsuiButton;
suiButton16: TsuiButton;
suiButton17: TsuiButton;
suiButton18: TsuiButton;
ImageList1: TImageList;
bsSkinPanel1: TbsSkinPanel;
RzDBNavigator1: TRzDBNavigator;
DBGrid1: TDBGrid;
RzLabel11: TRzLabel;
RzComboBox1: TRzComboBox;
RzLabel12: TRzLabel;
RzLabel13: TRzLabel;
Label5: TLabel;
RSEdt: TRzNumericEdit;
MaxRSEdt: TRzNumericEdit;
Label6: TLabel;
ClientSXCBX: TRzComboBox;
RzLabel14: TRzLabel;
procedure suiButton1Click(Sender: TObject);
procedure suiButton2Click(Sender: TObject);
procedure suiButton3Click(Sender: TObject);
procedure suiButton4Click(Sender: TObject);
procedure suiButton5Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure suiButton9Click(Sender: TObject);
procedure suiButton8Click(Sender: TObject);
procedure suiButton10Click(Sender: TObject);
procedure suiButton6Click(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Procedure DataShow;
Procedure DataSave;
Procedure DataAdd;
Procedure DataDeltete;
Procedure DataCancel;
Procedure DataEdit;
Procedure SaveData;
end;var
AddRoomFrm: TAddRoomFrm;implementation
uses
DataModuleUnt;{$R *.dfm}{ TAddRoomFrm }procedure TAddRoomFrm.DataAdd;
begin
inherited;
//..
end;procedure TAddRoomFrm.DataCancel;
begin
inherited;
//..
end;procedure TAddRoomFrm.DataDeltete;
begin
inherited;
//..
end;procedure TAddRoomFrm.DataEdit;
begin
inherited;
//..
end;procedure TAddRoomFrm.DataSave;
begin
inherited;end;procedure TAddRoomFrm.DataShow;
begin
inherited;
begin
CodeEdt.Text := Trim(FADOQuery.FieldByName('Room_Code').AsString);
FloorCBX.ItemIndex :=FloorCBX.Items.IndexOf(Trim(FADOQuery.FieldByName('Room_Floor').AsString));
RoomTypeCBX.ItemIndex := RoomTypeCBX.IndexOf(Trim(FADOQuery.FieldByName('Room_Type').AsString));
RoomStateCBX.ItemIndex := RoomStateCBX.IndexOf(Trim(FADOQuery.FieldByName('Room_State').AsString));
RoomNameEdt.Text := Trim(FADOQuery.FieldByName('Room_Name').AsString);
RoomPriceEdt.Text := Trim(FADOQuery.FieldByName('Room_Pirce').AsString);
RoomBedEdt.Text := Trim(FADOQuery.FieldByName('Room_vBed').AsString);
RoomStyleCBX.ItemIndex := RoomStyleCBX.IndexOf(Trim(FADOQuery.FieldByName('Room_Style').AsString));
RoomBzMemo.Text := Trim(FADOQuery.FieldByName('Room_Bz').AsString);
RoomSizeEdt.Text := Trim(FADOQuery.FieldByName('Room_Size').AsString);
RzComboBox1.ItemIndex := RzComboBox1.Items.IndexOf(FADOQuery.FieldByName('Room_QT').AsString);
RSEdt.Text := Trim(FADOQuery.FieldByName('Room_RS').AsString);
MaxRSEdt.Text := Trim(FADOQuery.FieldByName('Room_MaxRS').AsString);
ClientSXCBX.ItemIndex := ClientSXCBX.Items.IndexOf(FADOQuery.FieldByName('Room_SX').AsString);
end
end;procedure TAddRoomFrm.SaveData;
begin
inherited;
Try
if FADOQuery.State = dsInsert then
begin
FADOQuery.Post;
end else
begin
FADOQuery.Post;
end;
Except
ShowMessageEx(1);
Exit;
end;
ShowMessageEx(0);
end;procedure TAddRoomFrm.suiButton1Click(Sender: TObject);
begin
inherited;
DataAdd;
RoomBzMemo.Lines.Clear;
ControlET(Panel1);
if Not SuiCheckBox1.Checked then
ControlClear(Panel1);
end;procedure TAddRoomFrm.suiButton2Click(Sender: TObject);
begin
inherited;
DataEdit;
ControlET(Panel1);
end;procedure TAddRoomFrm.suiButton3Click(Sender: TObject);
begin
inherited;
DataDeltete;
ControlEF(Panel1);
GetRecordInfo(dxStatusBar1);
end;procedure TAddRoomFrm.suiButton4Click(Sender: TObject);
begin
inherited;
DataSave;
if Not (CheckEx_Edt(CodeEdt,CodeEdt.Hint) and CheckEx_CBX(FloorCBX,FloorCBX.Hint)
and CheckEx_CBX(RoomTypeCBX,RoomTypeCBX.Hint) and CheckEx_CBX(RoomStateCBX,RoomStateCBX.Hint)
and dnCheckEx_Edt(RoomSizeEdt,RoomSizeEdt.Hint) and CheckEx_Edt(RoomNameEdt,RoomNameEdt.Hint)
and dnCheckEx_Edt(RoomPriceEdt,RoomPriceEdt.Hint) and inCheckEx_Edt(RoomBedEdt,RoomBedEdt.Hint)
and CheckEx_CBX(RoomStyleCBX,RoomStyleCBX.Hint) and CheckEx_CBX(ClientSXCBX,ClientSXCBX.Hint) ) then
Exit;
SaveData;
ControlEF(Panel1);
GetRecordInfo(dxStatusBar1);
end;procedure TAddRoomFrm.suiButton5Click(Sender: TObject);
begin
inherited;
DataCancel;
ControlEF(Panel1);
end;procedure TAddRoomFrm.FormShow(Sender: TObject);
begin
inherited;
ControlEF(Panel1);
FADOQuery := DataModuleFrm.RoomHireQuery;
with FADOQuery do
begin
if Active then
Active := False;
SQL.Clear;
SQL.Add('Select * From Room');
Open;
end;
DataToCom(FloorCBX,'Floorwh','Name');
DataToCom(RoomTypeCBX,'RoomType','Name');
DataToCom(RoomStyleCBX,'RoomStyle','Name');
DataToCom(RoomStateCBX,'RoomState','Name');
DataToCom(RzComboBox1,'QTXMSX_WH','Name');
GetRecordInfo(dxStatusBar1);
end;procedure TAddRoomFrm.suiButton9Click(Sender: TObject);
begin
inherited;
Close;
end;procedure TAddRoomFrm.suiButton8Click(Sender: TObject);
begin
inherited;
RoomTypeCBX.ItemIndex := -1;
end;procedure TAddRoomFrm.suiButton10Click(Sender: TObject);
begin
inherited;
PageControl1.ActivePageIndex := 0 ;
end;procedure TAddRoomFrm.suiButton6Click(Sender: TObject);
begin
inherited;
PageControl1.ActivePageIndex := 1 ;
end;procedure TAddRoomFrm.DBGrid1DblClick(Sender: TObject);
begin
inherited;
DataShow;
PageControl1.ActivePageIndex := 0;
end;end.----------------------------------------------------------
事太多、心太乱
同时,也可以手动的实现如OutLookBar的那种功能。
procedure TMainFrm.SpeedButton1Click(Sender: TObject);
var
I , J , K , L: Integer; //用来作循环;
SSpValue , ESpValue : TSpeedButton;//中间变量;
SLeft , ELeft ,BLeft: Integer;//Left中间变量;
STagValue : Integer;//保存当前操作控件Tag;
SBValue , BValue : Boolean;//操作是否完成?
begin
BValue := False;
SSpValue := TSpeedButton.Create(Self);
ESpValue := TSpeedButton.Create(Self);
STagValue := ETag;
SBValue := True;
while SBValue do
begin
for I := 0 to PageControl1.Pages[0].ControlCount - 1 do
begin
if PageControl1.Pages[0].Controls[I] Is TSpeedButton then
begin
if TSpeedButton(PageControl1.Pages[0].Controls[I]).Left = 563 then
ESpValue := TSpeedButton(PageControl1.Pages[0].Controls[I]);
end;
end;
for I := 0 to PageControl1.Pages[0].ControlCount - 1 do
begin
if PageControl1.Pages[0].Controls[I] Is TSpeedButton then
begin
if TSpeedButton(PageControl1.Pages[0].Controls[I]).Tag = STagValue then
begin
SSpValue := TSpeedButton(PageControl1.Pages[0].Controls[I]);
SSpValue.Name := 'SpValue' + IntToStr(TSpeedButton(PageControl1.Pages[0].Controls[I]).Tag);
SLeft := TSpeedButton(PageControl1.Pages[0].Controls[I]).Left;
STag := TSpeedButton(PageControl1.Pages[0].Controls[I]).Tag;
STagValue := STag - 1;
for J := 0 to PageControl1.Pages[0].ControlCount - 1 do
begin
if Not BValue then
if PageControl1.Pages[0].Controls[J] Is TSpeedButton then
begin
if TSpeedButton(PageControl1.Pages[0].Controls[J]).Tag = STagValue then
begin
SSpValue := TSpeedButton(PageControl1.Pages[0].Controls[J]);
STagValue := TSpeedButton(PageControl1.Pages[0].Controls[J]).Tag;
ELeft := TSpeedButton(PageControl1.Pages[0].Controls[J]).Left;
TSpeedButton(PageControl1.Pages[0].Controls[J]).Left := SLeft;
SSpValue := TSpeedButton(PageControl1.Pages[0].Controls[J]);
SSpValue.Visible := True;
BValue := True;
for L := 0 to MTag - 2 do
begin
for K := 0 to PageControl1.Pages[0].ControlCount - 1 do
begin
if PageControl1.Pages[0].Controls[K] Is TSpeedButton then
begin
if TSpeedButton(PageControl1.Pages[0].Controls[K]).Tag = STagValue - 1 then
begin
BLeft := TSpeedButton(PageControl1.Pages[0].Controls[K]).Left;
TSpeedButton(PageControl1.Pages[0].Controls[K]).Left := ELeft;
ELeft := BLeft;
SSpValue := TSpeedButton(PageControl1.Pages[0].Controls[K]);
STagValue := TSpeedButton(PageControl1.Pages[0].Controls[K]).Tag;
SSpValue.Visible := True;
end;
end;
end;
end;
SBValue := False;
end;
end;
end;
end;
end;
end;
for K := 0 to PageControl1.Pages[0].ControlCount - 1 do
begin
if PageControl1.Pages[0].Controls[K] Is TSpeedButton then
begin
if TSpeedButton(PageControl1.Pages[0].Controls[K]).Left = 563 then
begin
if TSpeedButton(PageControl1.Pages[0].Controls[K]).Tag = MTag then
SBValue := False;
end;
end;
end;
end;
ESpValue.Left := 0 ;
ESpValue.Visible := False;
TVSOne;
for I := 0 to PageControl1.Pages[0].ControlCount - 1 do
begin
if PageControl1.Pages[0].Controls[I] Is TSpeedButton then
begin
if TSpeedButton(PageControl1.Pages[0].Controls[I]).Left = 58 then
begin
if TSpeedButton(PageControl1.Pages[0].Controls[I]).Tag <> 1 then
SpeedButton1.Enabled := True
else
SpeedButton1.Enabled := False;
STag := TSpeedButton(PageControl1.Pages[0].Controls[I]).Tag;
end
end;
end;
VShow;
end;procedure TMainFrm.TVSOne;
var
I : Integer;
begin
for I := 0 to PageControl1.Pages[0].ControlCount - 1 do
begin
if PageControl1.Pages[0].Controls[I] Is TSpeedButton then
begin
if TSpeedButton(PageControl1.Pages[0].Controls[I]).Left = 58 then
begin
if TSpeedButton(PageControl1.Pages[0].Controls[I]).Tag <> 1 then
SpeedButton1.Enabled := True;
STag := TSpeedButton(PageControl1.Pages[0].Controls[I]).Tag;
end;
end;
end;
for I := 0 to PageControl1.Pages[0].ControlCount - 1 do
begin
if PageControl1.Pages[0].Controls[I] Is TSpeedButton then
begin
if TSpeedButton(PageControl1.Pages[0].Controls[I]).Left = 563 then
begin
if TSpeedButton(PageControl1.Pages[0].Controls[I]).Tag <> MTag then
SpeedButton15.Enabled := True;
ETag := TSpeedButton(PageControl1.Pages[0].Controls[I]).Tag;
Exit;
end else
SpeedButton15.Enabled := False;
end;
end;
end;----------------------------------------------------------
事太多、心太乱
下边也是模板,只是功能上不一样。 private
{ Private declarations }
procedure EnterToTab(var Msg:TMsg;var Handled:Boolean);
public
{Public declarations }
FADOQuery : TADOQuery;
FSQLStr : String;
Procedure DataShow ;virtual;
Procedure InitInf;
Procedure SaveData;virtual;
Procedure EditData;virtual;
Published
end;var
Term001Frm: TTerm001Frm;implementation
uses
SrvMainUnt;
{$R *.dfm}{ TTerm001Frm }
procedure TTerm001Frm.SpeedButton7Click(Sender: TObject);
begin
if (FADOQuery.State <> dsInsert) and
(FADOQuery.State <> dsEdit) and
(FADOQuery.Active) then
begin
FADOQuery.Append;
end;
end;procedure TTerm001Frm.SpeedButton6Click(Sender: TObject);
begin
if (FADOQuery.State <> dsInsert) and
(FADOQuery.State <> dsEdit) and
(FADOQuery.Active) and
(Not FADOQuery.IsEmpty) then
begin
FADOQuery.Edit;
end;
end;procedure TTerm001Frm.SpeedButton5Click(Sender: TObject);
begin
if (FADOQuery.State <> dsInsert) and
(FADOQuery.State <> dsEdit) and
(FADOQuery.Active) and
(Not FADOQuery.IsEmpty) then
begin
if Application.MessageBox('您确定要删除当前记录吗?','提示',
MB_OKCANCEL + MB_ICONINFORMATION) = MROK then
FADOQuery.Delete;
end;
dxStatusBar1.Panels[1].Text := '现有数据量:' + IntToStr(FADOQuery.RecordCount) + ' 条';
end;procedure TTerm001Frm.SpeedButton4Click(Sender: TObject);
begin
if (FADOQuery.State = dsInsert) or
(FADOQuery.State = dsEdit) then
begin
FADOQuery.Cancel;
DataShow;
end;
end;procedure TTerm001Frm.SpeedButton3Click(Sender: TObject);
begin
if (FADOQuery.State = dsInsert) or
(FADOQuery.State = dsEdit) then
begin
//FADOQuery.Cancel;
with FADOQuery do
begin
Case FADOQuery.State of
dsInsert : Begin
SaveData;
end;
dsEdit : Begin
EditData;
end;
end;
Try
Post;
Except
Application.MessageBox('对不起,数据操作失败,请重新再试','提示',
MB_OK + MB_ICONINFORMATION);
Exit;
end;
end;
end else
Exit;
Application.MessageBox('恭喜您,数据操作成功,点确定返回','提示',
MB_OK + MB_ICONINFORMATION);
DataShow;
dxStatusBar1.Panels[1].Text := '现有数据量:' + IntToStr(FADOQuery.RecordCount) + ' 条';
end;procedure TTerm001Frm.SpeedButton9Click(Sender: TObject);
begin
if (FADOQuery.State <> dsInsert) and
(FADOQuery.State <> dsEdit) and
(FADOQuery.Active) and
(Not FADOQuery.IsEmpty) then
begin
FADOQuery.First;
DataShow;
end;
end;procedure TTerm001Frm.SpeedButton8Click(Sender: TObject);
begin
if (FADOQuery.State <> dsInsert) and
(FADOQuery.State <> dsEdit) and
(FADOQuery.Active) and
(Not FADOQuery.IsEmpty) then
begin
FADOQuery.Prior;
DataShow;
end;
end;procedure TTerm001Frm.SpeedButton1Click(Sender: TObject);
begin
if (FADOQuery.State <> dsInsert) and
(FADOQuery.State <> dsEdit) and
(FADOQuery.Active) and
(Not FADOQuery.IsEmpty) then
begin
FADOQuery.Next;
DataShow;
end;
end;procedure TTerm001Frm.SpeedButton12Click(Sender: TObject);
begin
if (FADOQuery.State <> dsInsert) and
(FADOQuery.State <> dsEdit) and
(FADOQuery.Active) and
(Not FADOQuery.IsEmpty) then
begin
FADOQuery.Last;
DataShow;
end;
end;procedure TTerm001Frm.SpeedButton2Click(Sender: TObject);
begin
Close;
end;procedure TTerm001Frm.DataShow;
begin
//..
end;procedure TTerm001Frm.EditData;
begin
//..
end;procedure TTerm001Frm.InitInf;
begin
//..
dxStatusBar1.Panels[0].Text := '操作员:' + DataModuleFrm.user;
with FADOQuery do
begin
if Active then
Active := False;
SQL.Clear;
SQL.Add(FSQLStr);
if DataModuleFrm.dq <> '固原市' then
SQL.Add(' where dq = ''' + DataModuleFrm.dq + '''');
Prepared;
Open;
end;
end;procedure TTerm001Frm.SaveData;
begin
//..
end;
procedure TTerm001Frm.DBGrid1CellClick(Column: TColumn);
begin
Try
DataShow;
Except
;
end;
end;procedure TTerm001Frm.FormCreate(Sender: TObject);
begin
//..
Self.BorderStyle := bsSingle;
Self.BorderIcons := [biSystemMenu,biminimize];
Application.OnMessage := EnterToTab;
end;----------------------------------------------------------
事太多、心太乱
begin
InitInf;
dxStatusBar1.Panels[0].Text := '操作员:' + DataModuleFrm.user;
dxStatusBar1.Panels[1].Text := '现有数据量:' + IntToStr(FADOQuery.RecordCount) + ' 条';
end;procedure TTerm001Frm.EnterToTab(var Msg: TMsg; var Handled: Boolean);
begin
if Msg.message=WM_KeyDown then
if Msg.WParam=VK_Return then
Keybd_Event(VK_Tab,0,0,0);
end;procedure TTerm001Frm.N5Click(Sender: TObject);
//r
//iInputFrm: TCliInputFrm;
begin
{CliInputFrm := TCliInputFrm.Create(Nil);
CliInputFrm.ShowModal; }
end;procedure TTerm001Frm.N3Click(Sender: TObject);
var
SrvMainFrm: TSrvMainFrm;
begin
SrvMainFrm := TSrvMainFrm.Create(Nil);
SrvMainFrm.ShowModal;
end;procedure TTerm001Frm.N1Click(Sender: TObject);
{ar
CliMainFrm : TCliMainFrm; }
begin
{liMainFrm := TCliMainFrm.Create(Nil);
CliMainFrm.ShowModal;}
end;procedure TTerm001Frm.SpeedButton24Click(Sender: TObject);
var
STr,BDs,fieldvalue:string;
begin
if (combobox20.Text<>'')and(combobox21.Text<>'')and(trim(combobox22.Text)<>'') then
with Datamodulefrm.LSBADOQuery do
begin
if Active then
Active := False;
SQL.Clear;
SQL.Add(FSQLStr);
fieldvalue:=trim(combobox22.text);
if (dbgrid1.columns[combobox20.ItemIndex+1].field.DataType=ftstring)or
(dbgrid1.columns[combobox20.ItemIndex+1].field.DataType=ftwidestring)
then
begin
Str:=listbox1.items[combobox20.itemindex]+combobox21.Text+#39+fieldvalue+#39;
end else
Str:=listbox1.items[combobox20.itemindex]+combobox21.Text+fieldvalue;
if DataModuleFrm.dq <> '固原市' then
sql.add(' where dq = ' +''''+ DataModuleFrm.dq +''''+' and '+str)
else Sql.Add(' where '+str);
Prepared;
Open;
Bds:='找到了'+inttostr(recordcount)+'条符合条件的记录';
dxStatusBar1.Panels[1].Text := '现有数据量:' + IntToStr(Datamodulefrm.LSBADOQuery.RecordCount) + ' 条';
if recordcount<>0 then
begin
application.MessageBox(Pchar(BDs),'操作提示',mb_ok+mb_iconinformation);
Fadoquery.Recordset:=datamodulefrm.LSBADOQuery.Recordset;
end
else
begin
application.MessageBox('对不起,没有找到相关的记录!','操作提示',mb_ok+mb_iconstop);
initinf;
end;
end;
end;procedure TTerm001Frm.ComboBox20DropDown(Sender: TObject);
var
i:integer;
begin
listbox1.Clear;
combobox20.Clear;
for i:=1 to dbgrid1.FieldCount-1 do
if dbgrid1.Columns[i].Visible=true then
begin
combobox20.Items.Add(dbgrid1.Columns[i].Title.Caption);
listbox1.Items.Add(dbgrid1.Columns[i].FieldName);
end;
end;procedure TTerm001Frm.ComboBox22DropDown(Sender: TObject);
var
str,fieldvalue:string;
begin
combobox22.Clear;
if (combobox20.Text<>'') then
with Datamodulefrm.LSBADOQuery do
begin
if Active then
Active := False;
SQL.Clear;
SQL.Add(FSQLStr);
if DataModuleFrm.dq <> '固原市' then
SQL.Add(' where dq = ''' + DataModuleFrm.dq + '''');
Prepared;
Open;
while not eof do
begin
if ComboBox22.Items.IndexOf(fieldbyname(listbox1.Items[combobox20.itemindex]).AsString) = -1 then
combobox22.Items.Add(fieldbyname(listbox1.Items[combobox20.itemindex]).AsString);
next;
end;
end;
end;
procedure TTerm001Frm.SpeedButton13Click(Sender: TObject);
begin
vPopupMenu.Popup(Mouse.CursorPos.X , Mouse.CursorPos.Y);
end;procedure TTerm001Frm.ComboBox20Change(Sender: TObject);
begin
combobox21.ItemIndex:=0;
combobox22.Clear;
end;end.----------------------------------------------------------
事太多、心太乱