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

📄 udy.pas

📁 实现短信的收发应用非常的方便,系统很小直接使用不需安装
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit udy;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ImgList, ComCtrls, DBCtrls, ToolWin, Grids,
  DBGrids, DB, DBTables, Buttons, ADODB;

type
  Tfrmdy = class(TForm)
    Panel1: TPanel;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    ImageList1: TImageList;
    Label1: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Label2: TLabel;
    Label3: TLabel;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton2: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    ImageList2: TImageList;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Shape1: TShape;
    Label4: TLabel;
    ToolButton12: TToolButton;
    ToolButton13: TToolButton;
    DBGrid2: TDBGrid;
    Label5: TLabel;
    Label6: TLabel;
    Edit3: TEdit;
    Label7: TLabel;
    Edit4: TEdit;
    Label8: TLabel;
    Edit5: TEdit;
    Label18: TLabel;
    Edit14: TEdit;
    Label19: TLabel;
    SpeedButton1: TSpeedButton;
    ToolBar2: TToolBar;
    ToolButton14: TToolButton;
    ToolButton15: TToolButton;
    ToolButton16: TToolButton;
    ToolButton17: TToolButton;
    ToolButton18: TToolButton;
    ToolButton19: TToolButton;
    ToolButton20: TToolButton;
    ToolButton21: TToolButton;
    ToolButton22: TToolButton;
    ToolButton23: TToolButton;
    ToolButton24: TToolButton;
    ToolButton25: TToolButton;
    ToolButton26: TToolButton;
    DataSource2: TDataSource;
    Shape2: TShape;
    Query2: TADOQuery;
    Qtest2: TADOQuery;
    Query3: TADOQuery;
    Query1: TADOQuery;
    qtest: TADOQuery;
    Qdyid: TADOQuery;
    qdyfzid: TADOQuery;
    procedure Button1Click(Sender: TObject);
    procedure ToolButton10Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton12Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure Query1AfterPost(DataSet: TDataSet);
    procedure Query1AfterScroll(DataSet: TDataSet);
    procedure DataSource1StateChange(Sender: TObject);
    procedure ToolButton15Click(Sender: TObject);
    procedure ToolButton17Click(Sender: TObject);
    procedure ToolButton19Click(Sender: TObject);
    procedure ToolButton23Click(Sender: TObject);
    procedure ToolButton25Click(Sender: TObject);
    procedure ToolButton21Click(Sender: TObject);
    procedure Query2AfterPost(DataSet: TDataSet);
    procedure Query2AfterScroll(DataSet: TDataSet);
    procedure DataSource2StateChange(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure Shape1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure Edit3Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmdy: Tfrmdy;
  function dyfzidadd(qdyid:Tadoquery;sqlstr:string):string;

implementation
uses udb,Unit_browse;

{$R *.dfm}
function dyfzidadd(qdyid:Tadoquery;sqlstr:string):string;
var
 idadd:integer;
begin
  //idadd:=0;//初始化id
  runsql(qdyid,'select * from dyfz');
  ////
    if qdyid.RecordCount <1 then
    begin
    idadd:=0;
    end
    else
    begin
      //开始分析allisdb
      if allisdb='access' then
      runsql(qdyid,'select max(trim(dyfzid)) as maxid from dyfz');
      if allisdb='sqlserver' then
      runsql(qdyid,'select max(str(ltrim(dyfzid),3,0)) as maxid from dyfz');
      //结束allisdb的分析
      idadd:=qdyid.fieldbyname('maxid').AsInteger;
    end;

  idadd:=idadd+1;
  if (idadd>99) then
    begin
     application.MessageBox('通讯录分组已有99个了,请删除不要的分组!',':提示:',mb_ok);
     exit;//如果数据库中已有99个分组那么提示用户分组已满请先去清除
    end;
  //如果不到99那么就要自动加1
  case length(inttostr(idadd)) of
  1: result:='0'+inttostr(idadd);
  2: result:=inttostr(idadd);
  end;//end ...case

end;

procedure Tfrmdy.Button1Click(Sender: TObject);
begin
close;
end;

procedure Tfrmdy.ToolButton10Click(Sender: TObject);
begin
close;
end;

procedure Tfrmdy.FormCreate(Sender: TObject);
var
sqlstr:string;
begin
sqlstr:='select * from dyfz';
runsql(query1,sqlstr);
runsql(query2,'select dy.*,dyfz.dyfzname as dyfzname from dy,dyfz where dyfz.dyfzid=dy.dyfzid');
end;

procedure Tfrmdy.ToolButton3Click(Sender: TObject);
begin
edit1.Clear;
edit2.Clear;
query1.Insert;
//edit1.SetFocus;
//开始分析allisdb
if allisdb='access' then
edit1.Text:=dyfzidadd(qdyid,'select max(str(ltrim(fzid),3,0)) as maxid from dyfz');
if allisdb='sqlserver' then
edit1.Text:=dyfzidadd(qdyid,'select max(str(ltrim(fzid),3,0)) as maxid from dyfz');
//结束分析allisdb
edit2.SetFocus ;

end;

procedure Tfrmdy.ToolButton5Click(Sender: TObject);
begin
query1.Edit;
end;

procedure Tfrmdy.ToolButton12Click(Sender: TObject);
begin
query1.Cancel;
end;

procedure Tfrmdy.ToolButton6Click(Sender: TObject);
var
 teststr,str:string;
begin
if application.MessageBox('是否要删除?','::提示::',mb_yesno)=id_yes then
begin
  if ((trim(edit1.text)='') or (trim(edit2.text)='')) then
    begin
    application.MessageBox('请指明删除的对象','::提示::',mb_ok);
    exit;
    end;
   teststr:='';
   teststr:='select * from dyfz where (1=1)';
   str:='';
   str:=' and ((dyfzid = '''+trim(edit1.text)+''' ) or (dyfzname = '''+trim(edit2.text)+''')) ';
   teststr:=teststr+str;
   runsql(qtest,teststr);
   if qtest.RecordCount <=0 then
     begin
     application.MessageBox('没有找到您要删除的对象','::提示::',mb_ok);
     exit;
     end;
   runsql(qtest,'select * from dy where dy.dyfzid='''+trim(edit1.text)+'''');
     if qtest.RecordCount >0 then
     begin
     application.MessageBox('请先删除短语组中的短语!','::提示::',mb_ok);
     exit;
     end;
   qtest.Close;
   qtest.SQL.Clear;
   qtest.SQL.Text:='delete  from dyfz where dyfzid = '''+trim(edit1.text)+'''  or dyfzname = '''+trim(edit2.text)+'''';
   qtest.ExecSQL;
   ////在做删除操作后开始刷新数据集////
   runsql(query1,'select * from dyfz') ;
   end
   else
   begin
   exit;
   end;
end;

procedure Tfrmdy.ToolButton1Click(Sender: TObject);
var
  str,teststr:string;
begin
//检验输入的编号和名称是否为空//
if ((trim(edit1.text)='') or (trim(edit2.Text) ='')) then
begin
application.MessageBox('输入信息不完整!','::提示::',mb_ok);
exit;
end;
//结束检验//
//:首先检测在数据库中是否有相同的编号或是分组名称,如有则退出程序://
   if (Query1.State in [dsinsert]) then
   begin
   teststr:='';
   teststr:='select * from dyfz where (1=1)';
   str:='';
   str:=' and ((dyfzid = '''+trim(edit1.text)+''' ) or (dyfzname = '''+trim(edit2.text)+''')) ';
   teststr:=teststr+str;
   runsql(qtest,teststr);
   if qtest.RecordCount >0 then
     begin
     application.MessageBox('数据库中已存在您增加的对象!','::提示::',mb_ok);
     exit;
     end;
   end;
//:检测结束://
  try
  if (Query1.Modified) or (Query1.State in [dsinsert,dsEdit]) then
     begin
      query1.fieldbyname('dyfzid').asstring:=trim(edit1.text);
      query1.fieldbyname('dyfzname').asstring :=trim(edit2.text);
      Query1.Post;
      query1.Close;
      query1.Open;
     end;
  except
    application.MessageBox('数据保存失败!','::提示::',mb_ok);
    Query1.Cancel;
  end;
  //保存后的刷新数据集//
  runsql(query1,'select * from dyfz');
end;

procedure Tfrmdy.Query1AfterPost(DataSet: TDataSet);
begin
//query1.RequestLive:=true;
runsql(query1,'select * from dyfz');
end;

procedure Tfrmdy.Query1AfterScroll(DataSet: TDataSet);
begin
edit1.Text:=query1.fieldbyname('dyfzid').AsString;
edit2.Text:=query1.fieldbyname('dyfzname').AsString;
end;

procedure Tfrmdy.DataSource1StateChange(Sender: TObject);
begin
Case DataSource1.State of
  dsInactive:
         begin
            toolbutton3.Enabled:=false;
            toolbutton6.Enabled:=false;
            toolbutton5.Enabled:=false;
            toolbutton2.Enabled:=false;
            toolbutton1.Enabled:=false;
         end;
  dsBrowse:

⌨️ 快捷键说明

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