📄 createunit1.pas
字号:
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 + -