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

📄 pjly.pas

📁 delphi+sql server 我是delphi的初学者
💻 PAS
字号:
unit pjly;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, Grids, Wwdbigrd, Wwdbgrid, ExtCtrls, DB, dxExEdtr,
  dxTL, dxDBCtrl, dxDBGrid, dxCntner;

type
  TFrmpjly = class(TForm)
    pnl1: TPanel;
    btn1: TSpeedButton;
    btn2: TSpeedButton;
    btn4: TSpeedButton;
    ds1: TDataSource;
    SpeedButton1: TSpeedButton;
    dxDBGrid1: TdxDBGrid;
    dxDBGrid1Column1: TdxDBGridColumn;
    dxDBGrid1Column2: TdxDBGridColumn;
    dxDBGrid1Column3: TdxDBGridColumn;
    dxDBGrid1Column4: TdxDBGridColumn;
    dxDBGrid1Column5: TdxDBGridColumn;
    dxDBGrid1Column6: TdxDBGridColumn;
    dxDBGrid1Column7: TdxDBGridColumn;
    SpeedButton2: TSpeedButton;
    procedure btn1Click(Sender: TObject);
    procedure btn4Click(Sender: TObject);
    procedure btn2Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure dxDBGrid1DblClick(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
   // procedure btn3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;


var
  Frmpjly: TFrmpjly;

implementation
uses UDM,input,mxcu,SERCHDJMX,Unitstructls;

{$R *.dfm}

function numberformat(slen:string):string;
var i:integer;
begin
    i:=length(slen);
    case i of
    5:  result:='00000';
    6:  result:='000000';
    7:  result:='0000000';
    8:  result:='00000000';
    9:  result:='000000000';
    10:  result:='0000000000';
   else
      result:='0000';
   end;
 end;

procedure TFrmpjly.btn1Click(Sender: TObject);
begin

 if dm.tblpjly.Active=false then
  dm.tblpjly.Active:=true;
 Frminput:=TFrminput.Create(SELF);
  dm.tblpjly.Append;
 Frminput.ShowModal;
 FREEANDNIL(Frminput);

end;

procedure TFrmpjly.btn4Click(Sender: TObject);
begin
  close;
end;

procedure TFrmpjly.btn2Click(Sender: TObject);
var
lyname,lytype,lynumberfrom,lynumberto,lynumberplace:string;
lydate:TDateTime;
begin
  if (dm.tblpjly.State=dsbrowse) then
   if (not dm.tblpjly.Bof) and (not dm.tblpjly.Eof) then
    if messagedlg('确定要删除本条记录吗?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
     begin
       lyname:=dm.tblpjly.fieldbyname('lyperson').AsString;
       lytype:=dm.tblpjly.fieldbyname('numbertyoe').AsString;
       lynumberfrom:=dm.tblpjly.fieldbyname('numbers').AsString;
       lynumberto:=dm.tblpjly.fieldbyname('numberto').AsString;
       lydate:=dm.tblpjly.fieldbyname('lydate').AsDateTime;
       lynumberplace:=dm.tblpjly.fieldbyname('lydjplace').AsString;
    //删除领用表中的生成的号码数据
       with dm.qrytemp do
       begin
         close;
         sql.Clear;
         sql.Add('delete from libnumber');
         sql.Add('where numberid>=:knumberid and numberid<=:jnumberid');
         sql.Add('and numbertype=:numbertype and lypername=:lypername');
         SQL.Add('and djdate=:lydate');
         SQL.Add('and libnumberplace=:place');
         parameters.ParamByName('lypername').Value:=lyname;
         parameters.ParamByName('numbertype').Value:=lytype;
         parameters.ParamByName('knumberid').Value:=lynumberfrom;
         parameters.ParamByName('jnumberid').Value:=lynumberto;
         Parameters.ParamByName('lydate').Value:=lydate;
         Parameters.ParamByName('place').Value:=lynumberplace;
         try
           execsql;
           dm.tblpjly.Delete;
           except
           messagebox(handle,'删除数据失败!','系统提示',mb_iconinformation+mb_ok);
           exit;
         end;
       end;
     end
      else
      exit
     else
     showmessage('表已空或处于编辑状态!');
end;



procedure TFrmpjly.FormShow(Sender: TObject);
begin
   dm.tblpjly.open;

end;
 //通过输入起始号码生成连续的号码
procedure TFrmpjly.SpeedButton1Click(Sender: TObject);
begin
 FRMSERCHDJMX:=TFRMSERCHDJMX.Create(Self);
 FRMSERCHDJMX.ShowModal;
 FreeAndNil(FRMSERCHDJMX);
end;

procedure TFrmpjly.dxDBGrid1DblClick(Sender: TObject);
begin
   Frmmxcx:=TFrmmxcx.Create(self);
    with Frmmxcx do
    begin
      edt4.Text:=dm.tblpjly.fieldbyname('list').AsString;
      edt1.Text:=dm.tblpjly.fieldbyname('lyperson').AsString;
      edt3.Text:=dm.tblpjly.fieldbyname('numberto').AsString;
      edt2.Text:=dm.tblpjly.fieldbyname('numbers').AsString;
      edt5.Text:=dm.tblpjly.fieldbyname('numbertyoe').AsString;
      edt6.Text:=dm.tblpjly.fieldbyname('lydjplace').AsString;
      edt7.Text:=dm.tblpjly.fieldbyname('lydate').AsString;
      with qrymx do
      begin
        close;
        sql.Clear;
        sql.Add('select * from libnumber');
        sql.Add('where lypername=:lypername and hxbz=''0''');
        parameters.ParamByName('lypername').Value:=dm.tblpjly.fieldbyname('lyperson').AsString;
        try
          open;
          except
          messagebox(handle,'提取数据失败!','系统提示',mb_iconinformation+mb_ok);
          exit;
        end;
      end;
      qrymx.Close;
      qrymx.Open;
    end;
    Frmmxcx.ShowModal;
    freeandnil(Frmmxcx);
end;
//经典for语句循环
{procedure TFrmpjly.btn3Click(Sender: TObject);
var
   i:Integer;
begin
    if dm.tblpjly.State in [dsedit,dsinsert] then
   begin
    dm.tblpjly.post;
     if dm.tbllibnumber.Active=false then
      dm.tbllibnumber.Active:=true;
      DM.tbllibnumber.Next;
    for i:=strtoint(dm.tblpjly.FieldValues['numbers']) to strtoint(dm.tblpjly.FieldValues['numberto']) do
      begin
        dm.tbllibnumber.Append;
        dm.tbllibnumber.fieldbyname('numberid').AsString:=formatfloat(numberformat(dm.tblpjly.fieldbyname('numbers').AsString),i);
        dm.tbllibnumber.FieldByName('list').AsString:=dm.tblpjly.fieldbyname('list').AsString;
        dm.tbllibnumber.FieldByName('lypername').AsString:=dm.tblpjly.fieldbyname('lyperson').AsString;
        dm.tbllibnumber.FieldByName('numbertype').AsString:=dm.tblpjly.fieldbyname('numbertyoe').AsString;
        dm.tbllibnumber.FieldByName('A').AsBoolean:=FALSE;
        dm.tbllibnumber.FieldByName('B').AsBoolean:=FALSE;
        DM.tbllibnumber.FieldByName('hxbz').AsString:='0';
        DM.tbllibnumber.FieldByName('djdate').AsDateTime:=DM.tblpjly.FIELDBYNAME('lydate').AsDateTime;
        dm.tbllibnumber.FieldByName('libnumberplace').AsString:=dm.tblpjly.fieldbyname('lydjplace').AsString;
        dm.tbllibnumber.Post;

      end;
      showmessage('数据保存成功!') ;
   end
   else
   showmessage('没有未保存的数据!');

end;}

procedure TFrmpjly.SpeedButton2Click(Sender: TObject);
begin
   Formstructls:=TFormstructls.Create(Self);
   Formstructls.ShowModal;
   FreeAndNil(Formstructls);
end;

END.

⌨️ 快捷键说明

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