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

📄 createunit1.pas

📁 很好用的一个票据管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit CreateUnit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, StdCtrls, Buttons, ComCtrls, ExtCtrls, Spin;

type
  TCreateZtForm = class(TForm)
    Panel1: TPanel;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Label4: TLabel;
    Edit4: TEdit;
    Panel2: TPanel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Panel3: TPanel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Panel4: TPanel;
    Label8: TLabel;
    StringGrid1: TStringGrid;
    DateTimePicker2: TDateTimePicker;
    DateTimePicker1: TDateTimePicker;
    Edit3: TEdit;
    SpinButton1: TSpinButton;
    Label9: TLabel;
    Edit8: TEdit;
    SpinButton2: TSpinButton;
    Label10: TLabel;
    procedure StringGrid1New;
    procedure StringGrid1Newll;
    procedure FileCopy(Const sourcefilename,targetfilename:String);
    procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
    procedure DateTimePicker2Change(Sender: TObject);
    procedure SpinbuttonDownClick(Sender: TObject);
    procedure SpinbuttonUpclick(Sender: TObject);
    procedure edit3Change(Sender: TObject);
    procedure Createform(Sender: TObject);
    procedure DateTimePicker1Change(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure formClose(Sender: TObject; var Action: TCloseAction);
    procedure edit1keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit2keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DateTimePicker1keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit4keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit3KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure stringgrid1keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit6keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edit7keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure formshow(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure edit5keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edti1keypress(Sender: TObject; var Key: Char);
    procedure edit8keydown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Spinbutton1UpClick(Sender: TObject);
    procedure Spinbutton1DownClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  CreateZtForm: TCreateZtForm;

implementation
uses dm,OpenUnit;
{$R *.dfm}
procedure TCreateZtForm.StringGrid1New;
var
 i:integer;
begin
  //stringgrid1.RowCount:=10;
  stringgrid1.ColWidths[0]:=90;
  Stringgrid1.Cells[0,0]:=' 月份';
  stringgrid1.Cells[1,0]:='    开始日期';
  stringgrid1.Cells[2,0]:='    结束日期';
  stringgrid1.FixedCols:=1;
  stringgrid1.FixedRows:=1;
  for i:=1 to Stringgrid1.RowCount-1 do
  begin
    stringgrid1.Cells[0,i]:=inttostr(i)+'月份';
  end;
end;
procedure TCreateZtForm.StringGrid1Newll;
var
 i:integer;
begin
  for i:=1 to stringgrid1.RowCount-1 do
  begin
    stringgrid1.Cells[1,i]:=edit3.Text+'-'+inttostr(i)+'-1';
    stringgrid1.Cells[2,i]:=edit3.Text+'-'+inttostr(i)+'-31';
    if i=2 then
    begin
      stringgrid1.Cells[2,i]:=edit3.Text+'-'+inttostr(i)+'-28';
    end;
    if i=4 then
    begin
      stringgrid1.Cells[2,i]:=edit3.Text+'-'+inttostr(i)+'-30';
    end;
    if i=6 then
    begin
      stringgrid1.Cells[2,i]:=edit3.Text+'-'+inttostr(i)+'-30';
    end;
    if i=9 then
    begin
      stringgrid1.Cells[2,i]:=edit3.Text+'-'+inttostr(i)+'-30';
    end;
    if i=11 then
    begin
      stringgrid1.Cells[2,i]:=edit3.Text+'-'+inttostr(i)+'-30';
    end
  end;
  if  datetimepicker2.Visible=true then
  begin
    datetimepicker2.Visible:=false;
  end;
end;
procedure TCreateZtForm.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
var
  a:TRect;
begin
   if acol=2 then
   begin
     a:=stringGrid1.CellRect(Acol,Arow);
     a.Left:=a.Left+stringgrid1.Left;
     a.right:=a.Right+stringgrid1.Left;
     a.Top:=a.Top+stringgrid1.Top;
     a.Bottom:=a.Bottom+stringgrid1.Top;
     dateTimepicker2.Left:=a.Left+1;
     datetimepicker2.Top:=a.Top+1;
     datetimepicker2.Width:=stringgrid1.ColWidths[acol];
     datetimepicker2.Height:=stringgrid1.RowHeights[arow];
     datetimepicker2.Visible:=true;
     datetimepicker2.SetFocus;
     datetimepicker2.Date:=strtodate(StringGrid1.Cells[ACol,ARow]);
   end;
   Canselect:=true;
end;
procedure TCreateZtForm.FileCopy(Const sourcefilename,targetfilename:string);
var
 S,T:TFileStream;
begin
  s:=TFileStream.Create(sourcefilename,fmOpenRead);
  try
    t:=TFileStream.Create(Targetfilename,fmopenWrite or fmCreate);
    try
      t.CopyFrom(s,s.Size);
    finally
      t.Free;
    end;
  finally
    s.Free;
  end;
end;
procedure TCreateZtForm.DateTimePicker2Change(Sender: TObject);
var
 i,j,s,a,b:integer;
 str,str1:string;

begin
   StringGrid1.Cells[stringgrid1.Col,stringgrid1.Row]:=
   datetostr(datetimepicker2.date);
   datetimepicker2.Visible:=false;
   stringgrid1.SetFocus;
   //if StringGrid1.Cells[stringgrid1.Col,stringgrid1.Row]=stringgrid1.Cells[2,1]then
   //begin
        j:=length(trim(StringGrid1.Cells[stringgrid1.Col,stringgrid1.Row]));
        a:=pos('-',trim(StringGrid1.Cells[stringgrid1.Col,stringgrid1.Row]));
        str:= copy(trim(StringGrid1.Cells[stringgrid1.Col,stringgrid1.Row]),a+1,j-a);
        s:=length(trim(str));
        b:=pos('-',trim(str));
        str1:= copy(trim(str),b+1,s-b);
        if strtoint(str1)<28 then
        begin
          for i:=1 to stringgrid1.RowCount-2 do
          begin
            stringgrid1.Cells[2,i]:=edit3.Text+'-'+inttostr(i)+'-'+str1;
            stringgrid1.Cells[1,i+1]:=edit3.Text+'-'+inttostr(i)+'-'+inttostr(strtoint(str1)+1);
          end;
         end
         else
         begin
            if strtoint(str1)=28 then
            begin
             for i:=1 to stringgrid1.RowCount-2 do
             begin
             stringgrid1.Cells[2,i]:=edit3.Text+'-'+inttostr(i)+'-'+str1;
             stringgrid1.Cells[1,i+1]:=edit3.Text+'-'+inttostr(i)+'-'+inttostr(strtoint(str1)+1);
             end;
             //stringgrid1.Cells[2,i]:=edit3.Text+'-'+inttostr(i)+'-'+str1;
             stringgrid1.Cells[1,3]:=edit3.Text+'-3-1';
            end;
            if strtoint(str1)=29 then
            begin
             for i:=1 to stringgrid1.RowCount-2 do
             begin
             stringgrid1.Cells[2,i]:=edit3.Text+'-'+inttostr(i)+'-'+str1;
             stringgrid1.Cells[1,i+1]:=edit3.Text+'-'+inttostr(i)+'-'+inttostr(strtoint(str1)+1);
             end;
             stringgrid1.Cells[2,2]:=edit3.Text+'-2-28';
             stringgrid1.Cells[1,3]:=edit3.Text+'-3-1';
            end;
             if strtoint(str1)=30 then
            begin
             for i:=1 to stringgrid1.RowCount-2 do
             begin
             stringgrid1.Cells[2,i]:=edit3.Text+'-'+inttostr(i)+'-'+str1;
             stringgrid1.Cells[1,i+1]:=edit3.Text+'-'+inttostr(i)+'-'+inttostr(strtoint(str1)+1);
             end;
             stringgrid1.Cells[1,3]:=edit3.Text+'-3-1';
             stringgrid1.Cells[1,5]:=edit3.Text+'-5-1';
             stringgrid1.Cells[1,7]:=edit3.Text+'-7-1';
             stringgrid1.Cells[1,10]:=edit3.Text+'-10-1';
             stringgrid1.Cells[1,12]:=edit3.Text+'-12-1';
             stringgrid1.Cells[2,2]:=edit3.Text+'-2-28';
             stringgrid1.Cells[2,4]:=edit3.Text+'-4-30';
             stringgrid1.Cells[2,6]:=edit3.Text+'-6-30';
             stringgrid1.Cells[2,9]:=edit3.Text+'-9-30';
             stringgrid1.Cells[2,11]:=edit3.Text+'-11-30';
            end;
            if strtoint(str1)=31 then
            begin
              Stringgrid1Newll;
            end;
          end;
          stringgrid1.Cells[2,12]:=edit3.Text+'-12-31';
    //end;
end;

procedure TCreateZtForm.SpinbuttonDownClick(Sender: TObject);
begin
    edit8.Text:=inttostr(strtoint(edit8.Text)-1);
end;

procedure TCreateZtForm.SpinbuttonUpclick(Sender: TObject);
begin
    edit8.Text:=inttostr(strtoint(edit8.Text)+1);
end;

procedure TCreateZtForm.edit3Change(Sender: TObject);
var
 i,s:integer;
strdatetime,StrDate,str:string;
begin
  Stringgrid1Newll;
  strDate:=datetostr(datetimepicker1.Date);
  s:=length(trim(strdate));
  i:=pos('-',trim(strdate));
  str:=copy(strdate,i,s-i+1);
  strdatetime:=trim(edit3.Text+str);
  datetimepicker1.Date:=strtodate(strdatetime);
end;

procedure TCreateZtForm.Createform(Sender: TObject);
var
 i:integer;
begin
  DateTimepicker1.Date:=now;
  i:=pos('-',trim(datetostr(datetimepicker1.Date)));
  edit3.Text:=copy(datetostr(datetimepicker1.Date),1,i-1);
  Stringgrid1New;
  StringGrid1Newll;
 

end;

procedure TCreateZtForm.DateTimePicker1Change(Sender: TObject);
var

⌨️ 快捷键说明

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