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

📄 onejsd.cpp

📁 供销存软件
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "oneJSD.h"
#include "DataModule.h"
#include "inoutXJ.h"
#include "login.h"
//#include "report.h"
#include "CuToCNum.cpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
ToneJSForm *oneJSForm;
//---------------------------------------------------------------------------
__fastcall ToneJSForm::ToneJSForm(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall ToneJSForm::RadioGroup1Click(TObject *Sender)
{
        if(RadioGroup1->ItemIndex==1)
        {
                  Label4->Caption="付款单";
                  Label5->Caption="今付给";
        }else{
                  Label4->Caption="收款单";
                  Label5->Caption="今收到";
        }
}
//---------------------------------------------------------------------------
void __fastcall ToneJSForm::postBtnClick(TObject *Sender)
{
         postBtn->Enabled=false;
         DM->ADOQ->Close();
         DM->ADOQ->SQL->Clear();
         DM->ADOQ->SQL->Add("select * from 结算清单表");
         DM->ADOQ->Open();
         int sum;
         if(DM->ADOQ->RecordCount==0)
                sum=1610000001;
         else{
                DM->ADOQ->Last();
                sum=DM->ADOQ->FieldByName("编号")->AsInteger+1;
         }
         Dnum->Text=sum;
         DM->ADOQ->Insert();
         DM->ADOQ->FieldByName("编号")->AsInteger=sum;
         DM->ADOQ->FieldByName("收支类型")->Value=RadioGroup1->Items->Text;
         DM->ADOQ->FieldByName("客户名称")->Value=KHname->Text;
         DM->ADOQ->FieldByName("人民币")->Value=Money->Text;
         DM->ADOQ->FieldByName("备注")->Value=Edit5->Text;
         DM->ADOQ->Post();

         DM->ADOQ->Close();
         DM->ADOQ->SQL->Clear();
         AnsiString str="select * from 应收应付明细表 where 结算单号 is null and 客户名称='";
         str+=KHname->Text;
         str+="'";
         DM->ADOQ->SQL->Add(str);
         DM->ADOQ->Open();
         DM->ADOQ->Last();
         if(DM->ADOQ->FieldByName("事务")->AsString.Trim()=="一次结算"){
                 DM->ADOQ->Edit();
                 DM->ADOQ->FieldByName("结算单号")->Value=sum;
                 DM->ADOQ->Post();
         }else
                while(!DM->ADOQ->Eof)
                {
                        DM->ADOQ->Edit();
                        DM->ADOQ->FieldByName("结算单号")->Value=sum;
                        DM->ADOQ->Post();
                        DM->ADOQ->Next();
                }

         DM->ADOQ->Close();
         DM->ADOQ->SQL->Clear();
         DM->ADOQ->SQL->Add("select * from 应收应付明细表");
         DM->ADOQ->Open();
         DM->ADOQ->Insert();
         DM->ADOQ->FieldByName("时间")->Value=Now().CurrentDateTime().DateTimeString();
         DM->ADOQ->FieldByName("单号")->Value=sum;
         DM->ADOQ->FieldByName("事务")->Value="一次结算";
         DM->ADOQ->FieldByName("结余金额")->Value=Ysum->Text;
         DM->ADOQ->FieldByName("结算人")->Value=LoginForm->Edituser->Text;
         DM->ADOQ->FieldByName("结算金额")->Value=Money->Text;
         DM->ADOQ->FieldByName("备注")->Value=Edit5->Text;
         DM->ADOQ->FieldByName("挂帐方式")->Value="现金";
         DM->ADOQ->FieldByName("客户名称")->Value=KHname->Text;
         if(Ysum->Text.ToDouble()==0)
                DM->ADOQ->FieldByName("结算单号")->Value=sum;
         DM->ADOQ->Post();
         DM->ADOQ->Close();
}
//---------------------------------------------------------------------------

void __fastcall ToneJSForm::MoneyChange(TObject *Sender)
{
        if(RadioGroup1->ItemIndex==1)
        {
                  Ysum->Text=noSum->Text.ToDouble()+Money->Text.ToDouble();
        }else{
                  Ysum->Text=noSum->Text.ToDouble()-Money->Text.ToDouble();
        }
        float sum=Money->Text.ToDouble();
        Edit3->Text=CurrToChnNum(sum,false,0);
}
//---------------------------------------------------------------------------

void __fastcall ToneJSForm::printBtnClick(TObject *Sender)
{
        //ShowMessage("无法打印");
        Variant vWordApp,vTable,vCell;
        try
        {
                vWordApp = Variant::CreateObject("Word.Application");
        }
        catch(...)
        {
                MessageBox(0, "启动 Word 出错, 可能是没有安装Word.","DBGrid2Word", MB_OK | MB_ICONERROR);
                vWordApp = Unassigned;
                return;
        }
        // 隐藏Word界面
        vWordApp.OlePropertySet("Visible", true);
        // 新建一个文档
        vWordApp.OlePropertyGet("Documents").OleFunction("Add");
        Variant vSelect = vWordApp.OlePropertyGet("Selection");
        // 设置一下字体,大小
        vSelect.OlePropertyGet("Font").OlePropertySet("Size", 24);
        vSelect.OlePropertyGet("Font").OlePropertySet("Name", Label4->Font->Name.c_str());
        AnsiString str="              "+Label4->Caption;
        str+="\n    "+Label5->Caption+KHname->Text.Trim();
        str+="结算款人民币(小写)"+Money->Text;
        str+=",大写"+Edit3->Text;
        str+="。\n    备注:"+Edit5->Text;
        str+="。\n                 客户签名: ";
        str+="\n                 ";
        AnsiString strPtrDate =Now().CurrentDate().DateString();//取当前日期
        str+=strPtrDate;
        vSelect.OlePropertySet("Text",str.c_str());


        /*int nRowCount=4;
        int nColCount=1;
        vWordApp.OlePropertyGet("ActiveDocument").OlePropertyGet("Tables").OleProcedure("Add",vSelect.OlePropertyGet("Range"),
        nRowCount, // 行数
        nColCount, // 列数
        1, // DefaultTableBehavior:=wdWord9TableBehavior
        0);
        vTable = vWordApp.OlePropertyGet("ActiveDocument").OleFunction("Range").OlePropertyGet("Tables").OleFunction("Item", 1);
        vCell = vTable.OleFunction("Cell", 1,1);
        //vCell.OlePropertyGet("Font").OlePropertySet("Size", 20);
        //vCell.OlePropertyGet("Font").OlePropertySet("Name", "宋体");
        vCell.OlePropertySet("Range",Label4->Caption.c_str());

        AnsiString str="    "+Label5->Caption+KHname->Text.Trim();
        //float sum=.ToDouble();
        str+="结算款人民币(小写)"+Money->Text;
        str+="大写"+Edit3->Text;
        vCell = vTable.OleFunction("Cell", 2,1);
        vCell.OlePropertySet("Range",str.c_str());

        str="备注:"+Edit5->Text;
        vCell = vTable.OleFunction("Cell", 3,1);
        vCell.OlePropertySet("Range",str.c_str());

        str="客户签名: "+KHqm->Text;
        vCell = vTable.OleFunction("Cell", 4,1);
        vCell.OlePropertySet("Range",str.c_str());   */
}
//---------------------------------------------------------------------------

void __fastcall ToneJSForm::closeBtnClick(TObject *Sender)
{

        Close();
}
//---------------------------------------------------------------------------


//---------------------------------------------------------------------------


⌨️ 快捷键说明

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