var i:integer; s:string; begin i:=1; s:=Format('L.6d%',[i]); //'L000001' inc(i); s:=Format('L.6d%',[i]); //'L000002' …… end; 只是例子,自己变通吧!
//生成门市蛋糕单号 procedure TinforForm.Create_curr_list_number; var list_number_str ,cut_str,cut_date ,max_number:string; cut_year,cut_month,cut_day :string; j:integer; begin cut_date :=formatdatetime('yyyy-mm-dd',dtpOrder_date.Date); cut_year :=copy(cut_date,3,2); cut_month :=copy(cut_date,6,2); cut_day :=copy(cut_date,9,2); list_number_str := 'select max(b.other_factory_cake_no) as other_factory_cake_no from other_factory_cake b' +' where b.factory_order_date ='''+datetostr(dtpOrder_date.Date)+'''' +' and b.pos_cus_no like ''A%'' ' ; Create_list_number.Close; Create_list_number.SQL.Clear; Create_list_number.SQL.Text :=list_number_str; Create_list_number.Open; if not Create_list_number.Eof then begin max_number :=Create_list_number.fieldbyname('other_factory_cake_no').AsString; if max_number = '' then begin max_number := '0'; end; list_number_str :='select pos_cus_no from other_factory_cake' +' where other_factory_cake_no = '+max_number; Create_list_number.Close; Create_list_number.SQL.Clear; Create_list_number.SQL.Text :=list_number_str; Create_list_number.Open; cut_str :=Create_list_number.FieldByname('pos_cus_no').AsString; if cut_str='' then begin edtCus_no.Text :='A'+cut_year+cut_month+cut_day+'001'; end else begin cut_str :=copy(cut_str,8,3); cut_str :=inttostr(strtoint(cut_str)+1); case length(cut_str) of 1: cut_str :='00'+cut_str; 2: cut_str :='0'+cut_str; end; edtCus_no.Text :='A'+cut_year+cut_month+cut_day+cut_str; end; end else edtCus_no.Text :='A'+cut_year+cut_month+cut_day+'001'; end;
i:integer;
s:string;
begin
i:=1;
s:=Format('L.6d%',[i]); //'L000001'
inc(i);
s:=Format('L.6d%',[i]); //'L000002'
……
end;
只是例子,自己变通吧!
procedure TinforForm.Create_curr_list_number;
var
list_number_str ,cut_str,cut_date ,max_number:string;
cut_year,cut_month,cut_day :string;
j:integer;
begin
cut_date :=formatdatetime('yyyy-mm-dd',dtpOrder_date.Date);
cut_year :=copy(cut_date,3,2);
cut_month :=copy(cut_date,6,2);
cut_day :=copy(cut_date,9,2);
list_number_str := 'select max(b.other_factory_cake_no) as other_factory_cake_no from other_factory_cake b'
+' where b.factory_order_date ='''+datetostr(dtpOrder_date.Date)+''''
+' and b.pos_cus_no like ''A%'' ' ; Create_list_number.Close;
Create_list_number.SQL.Clear;
Create_list_number.SQL.Text :=list_number_str;
Create_list_number.Open; if not Create_list_number.Eof then
begin
max_number :=Create_list_number.fieldbyname('other_factory_cake_no').AsString;
if max_number = '' then
begin
max_number := '0';
end;
list_number_str :='select pos_cus_no from other_factory_cake'
+' where other_factory_cake_no = '+max_number;
Create_list_number.Close;
Create_list_number.SQL.Clear;
Create_list_number.SQL.Text :=list_number_str;
Create_list_number.Open; cut_str :=Create_list_number.FieldByname('pos_cus_no').AsString; if cut_str='' then
begin
edtCus_no.Text :='A'+cut_year+cut_month+cut_day+'001';
end
else
begin
cut_str :=copy(cut_str,8,3);
cut_str :=inttostr(strtoint(cut_str)+1); case length(cut_str) of
1: cut_str :='00'+cut_str;
2: cut_str :='0'+cut_str;
end; edtCus_no.Text :='A'+cut_year+cut_month+cut_day+cut_str;
end;
end
else
edtCus_no.Text :='A'+cut_year+cut_month+cut_day+'001';
end;