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

📄 serverdbt.pas

📁 SPServer.rar一个基于TCP/IP监听发送代码
💻 PAS
字号:
unit ServerDBT;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Mask, DBCtrls, StdCtrls, Grids, SM_SP_Server, DBGrids, ExtCtrls,
  ComCtrls, Buttons, Scope;

type
  Tfrm_DBT = class(TForm)
    sbr: TStatusBar;
    Panel3: TPanel;
    GroupBox4: TGroupBox;
    Panel1: TPanel;
    DBGrid1: TDBGrid;
    DBNavigator1: TDBNavigator;
    GroupBox2: TGroupBox;
    DBGrid3: TDBGrid;
    BitBtn1: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    sgr1: TStringGrid;
    Panel2: TPanel;
    GroupBox1: TGroupBox;
    Panel4: TPanel;
    DBGrid2: TDBGrid;
    DBMemo1: TDBMemo;
    DBNavigator2: TDBNavigator;
    GroupBox3: TGroupBox;
    SimplePie1: TSimplePie;
    Shape1: TShape;
    Shape2: TShape;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    lRegCount: TLabel;
    lCustCxCount: TLabel;
    lSNDRecord: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label9: TLabel;
    lCurCount: TLabel;
    procedure DBNavigator1BeforeAction(Sender: TObject;
      Button: TNavigateBtn);
    procedure DBNavigator2BeforeAction(Sender: TObject;
      Button: TNavigateBtn);
    procedure FormShow(Sender: TObject);
    procedure DBGrid3CellClick(Column: TColumn);
    procedure sgr1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure sgr1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frm_DBT: Tfrm_DBT;
  Search:Boolean;

implementation

{$R *.dfm}

uses  SP_DLLs, SP_DLL, ServerDB, DataBaseOperat;

procedure Tfrm_DBT.DBNavigator1BeforeAction(Sender: TObject;
  Button: TNavigateBtn);
begin
if Button in [nbDelete] then
 if  Application.MessageBox('是否删除此记录?','警告信息',
     MB_IconQuestion+MB_YesNO)=IDNO then
 Raise EAbort.Create('''');
end;

procedure Tfrm_DBT.DBNavigator2BeforeAction(Sender: TObject;
  Button: TNavigateBtn);
begin
if Button in [nbDelete] then
 if  Application.MessageBox('是否删除此记录?','警告信息',
     MB_IconQuestion+MB_YesNO)=IDNO then
 Raise EAbort.Create('''');
end;

procedure Tfrm_DBT.FormShow(Sender: TObject);
begin
frmServerDB.aRegister.Close;
frmServerDB.atSvcContent.Close;
frmServerDB.aRegister.Open;
frmServerDB.atSvcContent.Open;
lRegCount.Caption := IntToStr(frmServerDB.aRegister.RecordCount);
sbr.Panels[3].Text:= IntToStr(frmServerDB.aRegister.RecordCount);
lCustCxCount.Caption:=IntToStr(ReadCXRecord);
lSNDRecord.Caption:=IntToStr(ReadSNDRecord);
sgr1.Cells[0,0]:='项目名称';
sgr1.Cells[1,0]:='当前值';
sgr1.Cells[0,1]:='主叫号码:';
sgr1.Cells[0,2]:='付费号码:';
sgr1.Cells[0,3]:='服务代码:';
sgr1.Cells[0,4]:='注册时间:';
sgr1.SetFocus;
end;

procedure Tfrm_DBT.DBGrid3CellClick(Column: TColumn);
begin
if Search then
 begin
  sgr1.Cells[1,1]:=Column.Grid.Fields[0].Value;
  sgr1.Cells[1,2]:=Column.Grid.Fields[1].Value;
  sgr1.Cells[1,3]:=Column.Grid.Fields[2].Value;
  sgr1.Cells[1,4]:=Column.Grid.Fields[3].Value;
 end;
end;

procedure Tfrm_DBT.sgr1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  OldAlign,
  OldBkMode,
  OldTextColor:Integer;
  Text_Height, X, Y:Integer;
begin
  Inherited;
  with sgr1.Canvas do
  begin
    if ((ACol=1)or(ACol=2))and(State=[]) then
      Font.Color:=clBlack;
    FillRect(Rect);
    OldBkMode:=SetBkMode(Handle, Transparent);
    OldAlign:=SetTextAlign(Handle, TA_Center);
    Text_Height:=TextHeight('Test');
    X:=(Rect.Left+Rect.Right) div 2+1;
    Y:=(Rect.Bottom+Rect.Top-Text_Height) div 2;
    if Y<0 then Y:=0;
    OldTextColor:=Font.Color;
    if (ARow=0)or(ACol=0) then
    begin
      Font.Color:=clWhite;
      TextOut(X+1, Y+1, sgr1.Cells[ACol, ARow]);
    end;
    Font.Color:=OldTextColor;
    TextOut(X, Y, sgr1.Cells[ACol, ARow]);
    SetTextAlign(Handle, OldAlign);
    SetBkMode(Handle, OldBkMode);
  end;
end;

procedure Tfrm_DBT.BitBtn1Click(Sender: TObject);
var
 sqlstr,s:string;
begin
 if sgr1.Row=2 then
  begin
   ErrorMsg(1,'被叫号码不能用作查询条件!');
   Exit;
  end;
 if sgr1.Row=1 then
  begin
   s:=Trim(sgr1.Cells[1,1]);
   sqlstr:='Select * from Register where SrcNo Like' +''''+s+'%''';
  end;
 if sgr1.Row=3 then
  begin
   s:=Trim(sgr1.Cells[1,3]);
   sqlstr:='Select * from Register where SvcType Like' +''''+s+'%''';
  end;
 if sgr1.Row=4 then
  begin
   s:=Trim(sgr1.Cells[1,4]);
   sqlstr:='Select * from Register where RegDate Like' +''''+s+'%''';
  end;
 with frmServerDB.aqryRegisterPhone do
 begin
  Close;
  SQL.Clear;
  SQL.Add(sqlstr);
  ExecSql;
  Open;
 end;
 Search := True;
 lCurCount.Caption:=IntToStr(frmServerDB.aqryRegisterPhone.RecordCount);
 if frmServerDB.aqryRegisterPhone.RecordCount=0 then
  begin
   ErrorMsg(1,'记录没发现!');
   Search := False;
  end;
end;

procedure Tfrm_DBT.BitBtn3Click(Sender: TObject);
var
 s:string;
begin
s:=Trim(sgr1.Cells[1,1]);
if s='' then
  ErrorMsg(1,'请输入手机号码!') else
if  Application.MessageBox('是否删除此记录?','警告信息',
   MB_IconQuestion+MB_YesNO)=IDYes then
with frmServerDB.aDelRegister do
 begin
  Close;
  Parameters.ParamByName('p_SrcNo').Value := s;
  ExecSQL;
 end;
end;

procedure Tfrm_DBT.sgr1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if Key=VK_RETURN then BitBtn1.OnClick(nil);
end;

procedure Tfrm_DBT.FormClose(Sender: TObject; var Action: TCloseAction);
begin
frmServerDB.aqryRegisterPhone.Close;
frmServerDB.aRegister.Close;
frmServerDB.atSvcContent.Close;
Action:=caFree;
end;

end.

⌨️ 快捷键说明

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