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

📄 charge.~pas

📁 软件类别: 数据库 软件大小: 2.60M 运行环境: Win9xNT/2000/XP 一套车辆管理系统,此版本为商业版,大家一定用的着。
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
    begin
        Close;
        Sql.Clear;
        Sql.Add('SELECT * FROM [Car] where C_ID='''+Trim(Edit2.Text)+'''');
        try
            Prepared;
            Open;
            Edit1.Text:=frm_data.ADOQuery_Car.FieldByName('C_NO').AsString;
            Edit3.Text:=frm_data.ADOQuery_Car.FieldByName('Drive_ID').AsString;
            Edit4.Text:=frm_data.ADOQuery_Car.FieldByName('Type').AsString;
            Edit5.Text:=frm_data.ADOQuery_Car.FieldByName('Fdjh').AsString;
            Edit6.Text:=frm_data.ADOQuery_Car.FieldByName('Facaty_type').AsString;
            Edit7.Text:=frm_data.ADOQuery_Car.FieldByName('Man').AsString;
            Edit8.Text:=frm_data.ADOQuery_Car.FieldByName('H_Man').AsString;
        Except
            Application.MessageBox('系统错误!系统在打开数据表【Car】时出错!与远程服务器连接失败!',Pchar(Application.Title),MB_ICONWARNing);
            Exit;
        End;
    end;
    //

end;

procedure Tfrm_Charge.Cmd_AddClick(Sender: TObject);
var
    tempList_NO:String;
    tempstr:string;
    tempint:Integer;
begin
  inherited;
    Cmd_Save.Enabled:=True;
    Cmd_Add.Enabled:=False;
    DBGrid1.Visible:=False;
    Edit9.Text:=func.Use_mond;                         //取得使用软件的单位名称
    Edit10.Text:=func.Login_Name;                      //取得系统用户登陆名称
    Edit11.Text:=ForMatDateTime('yyyy''-''mm''-''dd',now); //取得系统当前日期
    //
    //自动取得单据编号    单据编号是当前日期加上后四位数值
    //如果系统数据库当前日期有记录就指向最后一条记录并且加一
    //如果系统数据库当前日期没有记录就单据编号就是当前日期加上0001
    with frm_data.Query_Charge do
    begin
        Close;
        Sql.Clear;
        //     查询是否有符合当前日期的条件的记录
        Sql.Add('SELECT * FROM [Charge] WHERE Charge_Date='''+ Trim(FormatDateTime('yyyy''-''mm''-''dd',now))+'''');
        Try
            Prepared;
            Open;
            //******************************************************************
            //有符合当前日期的记录
            if frm_data.Query_Charge.RecordCount>0 then
            begin
                Last; //指向最后一条记录
                tempList_NO:=frm_data.Query_Charge.FieldByName('List_NO').AsString;
                tempstr:=Copy(tempList_NO,9,Length(tempList_NO)-8);
                tempint:=StrToInt(tempstr)+1;
                if ((tempint>1) and (tempint<10)) then //如果最后四位数值加上1小于10 说明原来的数据的格式
                begin              //如同当前日期200403110001到200403110008
                    Edit12.Text:=FormatDateTime('yyyy''''mm''''dd',now)+'000'+IntTostr(tempint);
                end;
                if ((tempint>=10) and (tempint<100)) then
                begin
                    Edit12.Text:=FormatDateTime('yyyy''''mm''''dd',now)+'00'+IntTostr(tempint);
                end;
                if ((tempint>=100) and (tempint<1000)) then
                begin
                    Edit12.Text:=FormatDateTime('yyyy''''mm''''dd',now)+'0'+IntTostr(tempint);
                end;
                if ((tempint>=1000) and (tempint<10000)) then
                begin
                    Edit12.Text:=FormatDateTime('yyyy''''mm''''dd',now)+IntTostr(tempint);
                end;
                if ((tempint>=10000) and (tempint<100000)) then
                begin
                    Edit12.Text:=FormatDateTime('yyyy''''mm''''dd',now)+IntTostr(tempint);
                end;
            end;
            //******************************************************************
            //------------------------------------------------------------------
            //没有符合当前日期的记录
            if frm_data.Query_Charge.RecordCount=0 then
            begin
                Edit12.Text:=FormatDateTime('yyyy''''mm''''dd',now)+'0001';
            end;
            //------------------------------------------------------------------
        Except
            Application.MessageBox('系统错误!系统在打开数据表【Charge】时出错!与远程服务器连接失败!',Pchar(Application.Title),MB_ICONWARNing);
            Exit;
        End;
    end;
    //
end;

procedure Tfrm_Charge.Cmd_ExitClick(Sender: TObject);
begin
  inherited; 
    Edit9.Text:='';
    Edit10.Text:='';
    Edit11.Text:='';
    Edit12.Text:='';
    Cmd_Add.Enabled:=True;
    Cmd_Save.Enabled:=False;
    with frm_data.StoredProc_Pro_Charge_View do
    begin
        Close;
        frm_data.StoredProc_Pro_Charge_View.ProcedureName:='Pro_Charge_View';
        Try
            Prepared;
            Open;
            if frm_data.StoredProc_Pro_Charge_View.RecordCount>0 then
            begin
                DBGrid1.Visible:=True;
                First;
                Edit1.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('C_NO').AsString;
                Edit2.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('C_ID').AsString;
                Edit3.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Drive_ID').AsString;
                Edit4.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Type').AsString;
                Edit5.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Fdjh').AsString;
                Edit6.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Facaty_type').AsString;
                Edit7.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Man').AsString;
                Edit8.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('H_Man').AsString;
                Edit9.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Charge_Mond').AsString;
                Edit10.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Charager').AsString;
                Edit11.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Charge_Date').AsString;
                Edit12.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('List_No').AsString;
            end
            else
            begin
                DBGrid1.Visible:=False;
                Edit1.Text:='';  Edit2.Text:='';   Edit1.Text:='';
                Edit4.Text:='';  Edit5.Text:='';   Edit6.Text:='';
                Edit7.Text:='';  Edit8.Text:='';   Edit9.Text:='';
                Edit10.Text:=''; Edit11.Text:='';  Edit12.Text:='';
            end;
        Except
            Application.MessageBox('系统错误!系统在打开数据表时'+#13#10#13+'与远程服务器连接错误!',Pchar(Application.Title),MB_ICONWARNING);
            Exit;
        end;
    end;
end;

procedure Tfrm_Charge.Cmd_MondClick(Sender: TObject);
begin
  inherited;
    func.Mond_Select:='';
    func.Mond_Select_Result:='';
    func.Mond_Select:='have';
    frm_Mond_Select:=Tfrm_Mond_Select.Create(self);
    frm_Mond_Select.ShowModal;
    Edit9.Text:=func.Mond_Select_Result;
    frm_Mond_Select.Free;
end;

procedure Tfrm_Charge.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
    action:=cafree;
end;

procedure Tfrm_Charge.DBGrid1CellClick(Column: TColumn);
begin
  inherited;
    Edit1.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('C_NO').AsString;
    Edit2.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('C_ID').AsString;
    Edit3.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Drive_ID').AsString;
    Edit4.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Type').AsString;
    Edit5.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Fdjh').AsString;
    Edit6.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Facaty_type').AsString;
    Edit7.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Man').AsString;
    Edit8.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('H_Man').AsString;
    Edit9.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Charge_Mond').AsString;
    Edit10.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Charager').AsString;
    Edit11.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('Charge_Date').AsString;
    Edit12.Text:=frm_data.StoredProc_Pro_Charge_View.FieldByName('List_No').AsString;
end;

procedure Tfrm_Charge.DBGrid1DblClick(Sender: TObject);
var
    k,CRcowCount:integer;
begin
  inherited;
    if Trim(Edit12.Text)<>'' then
    begin
        with frm_data.Query_Charge do
        begin
            Close;
            Sql.Clear;
            Sql.Add('SELECT * FROM [Charge_Detail] WHERE List_NO='''+Trim(Edit12.Text)+'''');
            Try
                Prepared;
                Open;
                if frm_data.Query_Charge.RecordCount>0 then
                begin
                    CRcowCount:=frm_data.Query_Charge.RecordCount;
                    k:=frm_data.Query_Charge.RecordCount;
                    StringGrid1.RowCount:=CRcowCount+1;
                    //showmessage(IntToStr(k));
                    for K:=1 to StringGrid1.RowCount do
                    begin
                        StringGrid1.Cells[0,K]:=IntTostr(k); //表示第0列第i行的名称
                    end;
                    for k:=1 to k  do
                    begin
                        StringGrid1.Cells[1,k]:=frm_data.Query_Charge.FieldByName('Charge_Type').AsString;//商品编号
                        StringGrid1.Cells[2,k]:=frm_data.Query_Charge.FieldByName('Charge_Name').AsString;//商品名称
                        StringGrid1.Cells[3,k]:=frm_data.Query_Charge.FieldByName('Charge_money').AsString;//数量
                        StringGrid1.Cells[4,k]:=frm_data.Query_Charge.FieldByName('Charge_Repark').AsString;//单价
                        Next;
                    end;
                end;
            Except
            end;
        end;
    end;
end;

procedure Tfrm_Charge.SpeedButton7Click(Sender: TObject);
begin
    inherited;
    frm_Charge_Report:=Tfrm_Charge_Report.Create(self);
    frm_Charge_Report.ShowModal;
    frm_Charge_Report.Free;
end;

procedure Tfrm_Charge.SpeedButton8Click(Sender: TObject);
begin
    inherited;
    frm_ReportInFormation:=Tfrm_ReportInFormation.Create(self);
    frm_ReportInFormation.Lab_Money_Title.Caption:=func.Use_mond+frm_ReportInFormation.Lab_Money_Title.Caption;
    frm_ReportInFormation.Lab_List_No.Caption:='单据编号:'+Trim(Edit12.Text);
    frm_ReportInFormation.Lab_C_NO.Caption:='车辆编号:'+Trim(Edit1.Text);
    frm_ReportInFormation.Lab_C_ID.Caption:='车牌号码:'+Trim(Edit2.Text);
    frm_ReportInFormation.lab_man.Caption:='车主姓名:'+Trim(Edit7.Text);
    frm_ReportInFormation.Lab_ChargeDate.Caption:='收费日期:'+Trim(Edit11.Text);
    frm_ReportInFormation.Lab_Charager.Caption:='收费人员:'+Trim(Edit10.Text);
    frm_ReportInFormation.lab_ChargeMond.Caption:='收款单位:'+Trim(Edit9.Text);
    frm_ReportInFormation.Lab_ren.Caption:='制表人员:'+func.Login_Name;
    frm_ReportInFormation.Lab_Time.Caption:='制表时间:'+forMatdateTime('yyyy''-''mm''-''dd',Now)+' '+forMatdateTime('hh'':''mm'':''ss',Now);
    with frm_Data.Query_Charge_View do
    begin
        Close;
        Sql.Clear;
        Sql.Add('Select * from [Charge_View] where List_No='''+Trim(Edit12.Text)+'''');
        Prepared;
        open;
        frm_ReportInFormation.Lab_Amount.Caption:='收款笔数为:'+IntToStr(frm_data.Query_Charge_View.RecordCount)+'笔';
        frm_ReportInFormation.QuickRep_Money.Prepare;
        frm_ReportInFormation.QuickRep_Money.Preview;
        frm_ReportInFormation.QuickRep_Money.Free;
    end;
end;

procedure Tfrm_Charge.StringGrid1DrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
var
    s:string;
    r:TRect;
begin
    inherited;
    with sender as TStringGrid do
    begin
        if (GDFocused in state) then
        begin
            Pcol:=Acol;
            Prow:=ARow;
            String_Col:=ARow;
        end;
    end;
    //文字垂直居中
    with StringGrid1 do
    begin
        Canvas.FillRect(Rect);
        s:=Cells[ACol,ARow];
        r:=Rect;
        DrawText(Canvas.Handle,PChar(s),Length(s),r,DT_CENTER or DT_SINGLELINE or DT_VCENTER);
    end; 
end;
procedure Tfrm_Charge.StringGrid1DblClick(Sender: TObject);
var
    openstr:string;
    S1,s2,s3:string;
begin
    inherited;
    if Trim(Edit1.Text)='' then
    begin
        Application.MessageBox('操作失败,【车辆编号】不能为空!',pchar(application.Title),mb_iconwarning);
        Edit1.SetFocus;
        Exit;
    end;
    if Trim(Edit2.Text)='' then
    begin
        Application.MessageBox('操作失败,【车牌号码】不能为空!',pchar(application.Title),mb_iconwarning);
        Edit2.SetFocus;
        Exit;
    end;
    if PCol=1 then //表示选择的是收费类别 选择的是第一列
    begin
        Charge_Type_Str:='';
        Charge_Type_Result:='';
        Charge_Type_Str:='000001';
        frm_Charge_Type:=Tfrm_Charge_Type.Create(self);
        frm_Charge_Type.ShowModal;
        StringGrid1.Cells[1,String_Col]:=Charge_Type_Result;//类别名称
        frm_Charge_Type.Free;
    end;
    if PCol=2 then //表示选择的是收费类别 选择的是第一列
    begin
        Charge_Name_Str:='';
        Charge_Name_Result:='';
        Charge_Name_Str:='000001';
        frm_Charge_Name:=Tfrm_Charge_Name.Create(self);
        frm_Charge_Name.ShowModal;
        StringGrid1.Cells[2,String_Col]:=Charge_Name_Result;//收费名称
        frm_Charge_Name.Free;
    end;
end;

end.

⌨️ 快捷键说明

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