会计凭证输入ActiveX控件是本人用Delphi 6.0做出来的一个控件,在Delphi下使用一切正常,但本人不会VC,会用Activex控件的进来看一下,这个会计凭证控件在VC下能不能用正常使用:
1)、控件使用了4个自定义事件On_GetAccText(取会计科目代码对应的科目名称),On_GetCy(取科目核算币别),On_GetRate(取科目汇率),On_validCy(验证科目有否核算指定币别),在VC下如何使用,其中On_GetAccText在Delphi 6.0代码如下:
procedure TForm1.CNPZGridPro1_GetAccText(Sender: TObject;
const sAccID: WideString; var sResult: WideString);
begin
sResult:=sAccID+' 会计科目';//作用是在用户输入的科目代码后加上科目名称,这里以' 会计科目'代替;
end;
On_GetAccText在VC6.0代码如下:
void CTest04Dlg::OnGetAccTextCnpzgridpro1(LPCTSTR sAccID, BSTR FAR* sResult)
{
// TODO: Add your control notification handler code here
//sResult:=sAccID+' 会计科目' 用VC怎么写?
}
4个事件的VC代码,能写一个的得25分;
2)、控件DEMO下有用Delphi6.0写的DEMO,能用VC重写的另开贴独得200分。
控件下载地址:http://www.delphifans.com/SoftView/SoftView_610.html
谢谢各位,分数先搞定的先得,绝不食言!!!
1)、控件使用了4个自定义事件On_GetAccText(取会计科目代码对应的科目名称),On_GetCy(取科目核算币别),On_GetRate(取科目汇率),On_validCy(验证科目有否核算指定币别),在VC下如何使用,其中On_GetAccText在Delphi 6.0代码如下:
procedure TForm1.CNPZGridPro1_GetAccText(Sender: TObject;
const sAccID: WideString; var sResult: WideString);
begin
sResult:=sAccID+' 会计科目';//作用是在用户输入的科目代码后加上科目名称,这里以' 会计科目'代替;
end;
On_GetAccText在VC6.0代码如下:
void CTest04Dlg::OnGetAccTextCnpzgridpro1(LPCTSTR sAccID, BSTR FAR* sResult)
{
// TODO: Add your control notification handler code here
//sResult:=sAccID+' 会计科目' 用VC怎么写?
}
4个事件的VC代码,能写一个的得25分;
2)、控件DEMO下有用Delphi6.0写的DEMO,能用VC重写的另开贴独得200分。
控件下载地址:http://www.delphifans.com/SoftView/SoftView_610.html
谢谢各位,分数先搞定的先得,绝不食言!!!
解决方案 »
- openssl编程入门问题
- 请问:如何用VC设置一个按键组合?
- 1000分一个验证码识别程序
- MyIE 4.0!横空出世!GreenBrowser后续,开放源代码!(怎么把编译出来的程序变成中文的?)
- 新手求助:如何设置/申明,套接字类型变量?
- 求<将动态连接库注入到其他进程中的一种新方法>(RobinHao原作)一文中的源码
- =========如何做一个组件,可以在IE里调用并执行?=============
- 什么是逻辑坐标与设备坐标?为什么要设置映射模式??
- 关于MFC CMenu局部变量消失菜单还存在的问题
- 如何动态从dll或exe中获得组件对象的指针
- 向其它程序窗口发送按键消息?
- 线程中循环的问题
strTmp = sAccID;
strTmp += "会计科目";
*sResult = strTmp.AllocSysString(这个函数具体名字忘了)
C语言的字符串操作比较麻烦
{
// TODO: 在此处添加消息处理程序代码
CString strResult;
CString strAccID(sAccID);
if (strAccID == "1001")
strResult = _T("1001 现金");
else if (strAccID == "1002")
strResult = _T("1002 转帐");
else
strResult = _T("错误"); *sResult = strResult.AllocSysString();
}
哇,看来你对会计还挺熟的,我是注册会计师,有会计方面问题可以交流一下^_^
const sAccID: WideString; var sResult: WideString);//sAccID为会计科目代码
begin
sresult:='RMB';
if upperCase(copy(sAccID,1,1))='W' then //代码首位为W则可以核算外币,否则只能核算人民币
sresult:='USD';
end;procedure TForm1.CNPZGridPro1_GetRate(ASender: TObject;
const sCy: WideString; var fResult: Double);//sCy为币别
begin
fresult:=1;//RMB VS 记账本位币 为1
if uppercase(sCy)='USD' then fresult:=8.2767;USD VS RMB 为8.2767
end;procedure TForm1.CNPZGridPro1_ValidCy(ASender: TObject; const sAccID,
sCy: WideString; var bResult: WordBool);
begin
bresult:=false;
if uppercase(sCy)='RMB' then bresult:=true;//所有科目均可核算RMB
if upperCase(copy(sAccID,1,1))='W' then //W开头的科目可核算USD
if uppercase(sCy)='USD' then
bresult:=true
else
bresult:=false;
end;