小编Mat*_*ian的帖子

将字符串从VBA传递到C++ DLL

我真的很困惑将字符串从VBA传递给C++.这是VBA代码:

Private Declare Sub passBSTRVal Lib "foo.dll" (ByVal s As String)
Private Declare Sub passBSTRRef Lib "foo.dll" (ByRef s As String)
Private Declare Sub passByNarrowVal Lib "foo.dll" (ByVal s As String)
Private Declare Sub passByNarrowRef Lib "foo.dll" (ByRef s As String)
Private Declare Sub passByWideVal Lib "foo.dll" (ByVal s As String)
Private Declare Sub passByWideRef Lib "foo.dll" (ByRef s As String)

Sub foobar()
    Dim s As String, str As String
    str = "Hello There, World!"

    s = str
    Call passByBSTRVal(s) …
Run Code Online (Sandbox Code Playgroud)

c++ excel vba excel-vba

14
推荐指数
2
解决办法
3974
查看次数

用Python打印 - 本质上是功能性的?

学习Python的工作项目(这很酷,现在我可以用Anki捣蛋!).一般来说,我真的很喜欢这门语言.没有像Perl那么强烈,虽然到目前为止我还没有使用它的库,但它似乎与Perl一样强大,思维也不那么强.

我不喜欢的极少数事情之一是Python感觉它无法在程序性或面向对象之间下定决心.打印令人悲伤的一个例子就是打印.例如,这会导致错误:

f = 5.0
print 'The value is ' + f
Run Code Online (Sandbox Code Playgroud)

您需要将f显式转换为字符串.或者从1969年开始采用面向对象最少的范例之一:

f = 5.0
print 'The value is %f' % f
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?我声称如果Python不会打印第一个片段,那只是因为Python不够努力,不是因为它不能.假设Python中的数值不像Java的Integer或Double类那样被"客观化".也许他们只是在被问到时不知道如何返回字符串表示的数字.Python当然会跟踪他们的类型.我知道这是因为类型(f)告诉我.那么为什么不加倍努力为我做转换呢?如果我担心纳秒的执行时间,我首先不会使用Python.

即使是那些OOP性质如猪皮唇膏情况的语言,如Perl或VB6,也可以优雅地表现出来.

好的,对不起.我并不是说这是一个咆哮.我真正想要的是寻求帮助.

是否有一个库,也许是一些用户编写的代码,可能是一个包装函数,它只是允许我做这样的事情:

f = 5.0
g = (1, 2, 3)
h = [a, b, c]
print 'f: ' + ', ' + f + ', g: ' + g + ', h: ' + h
Run Code Online (Sandbox Code Playgroud)

无需转换为字符串自己?我被允许懒惰.我是程序员.这是我与生俱来的权利......

谢谢!

python

0
推荐指数
2
解决办法
109
查看次数

标签 统计

c++ ×1

excel ×1

excel-vba ×1

python ×1

vba ×1