我希望能够控制我的Excel电子表格的VBA模块(目前使用的是Excel 2003 SP3),以便我可以共享和管理一堆不同电子表格使用的代码 - 因此我想重新加载它们从电子表格打开时的文件.
我有一个名为Loader.bas的模块,我用它来完成大部分驴工作(加载和卸载所需的任何其他模块) - 我希望能够尽快从文件中加载它当电子表格打开时.
我已将以下代码附加到Workbook_Open事件(在ThisWorkbook类中).
Private Sub Workbook_Open()
    Call RemoveLoader
    Call LoadLoader
End Sub
RemoveLoader(也在ThisWorkbook类中)包含以下代码:
Private Sub RemoveLoader()
    Dim y As Integer
    Dim OldModules, NumModules As Integer
    Dim CompName As String
    With ThisWorkbook.VBProject
        NumModules = ThisWorkbook.VBProject.VBComponents.Count
        y = 1
        While y <= NumModules
            If .VBComponents.Item(y).Type = 1 Then
                CompName = .VBComponents.Item(y).Name
                If VBA.Strings.InStr(CompName, "Loader") > 0 Then
                    OldModules = ThisWorkbook.VBProject.VBComponents.Count
                    .VBComponents.Remove .VBComponents(CompName)
                    NumModules = ThisWorkbook.VBProject.VBComponents.Count
                    If OldModules - NumModules = 1 Then
                        y = 1
                    Else …我有一堆C代码,我想使用Python的unittest库(在Windows中)进行单元测试,但我正在尝试找出连接C代码的最佳方法,以便Python可以执行它(和得到结果).有没有人以最简单的方式做到这一点?
一些想法包括:
这样做有规范的方法吗?我将使用不同的C模块进行相当多的操作,所以我想找到一种最省力的方法.
关于放置Python单元测试的最佳位置是否存在共识?
单元测试是否应与被测试的功能包含在同一模块中(当模块单独运行时执行(if __name__ == '__main__'等等)),或者将单元测试包含在不同模块中更好?
也许这两种方法的组合是最好的,包括每个模块中的模块级测试,并添加更高级别的测试,测试多个模块中包含的功能作为单独的模块(可能在/ test子目录中?).
我假设如果测试包含在单独的模块中,测试发现会更直接,但如果他/她必须记住在修改测试模块时更新附加测试模块,则会给开发人员带来额外的负担.
我有兴趣了解人们对组织单元测试的最佳方式的看法.
我们在几个开发人员的团队中使用Matlab Simulink进行模型开发(和Real-Time Workshop自动编码).
我们目前使用Visual Source Safe(是的,我知道它很糟糕)进行版本控制,使用锁来防止冲突的变化.
我们想将程序迁移到不同的版本控制系统(svn,hg或git),但我们担心在Simulink .mdl文件上执行合并和差异.
有没有人在Simulink文件上执行合并方面有经验?
我是Android开发的新手.我正试图在我的(root)手机上安装一个简单的HelloWorld应用程序 - 该应用程序正在尝试启用蓝牙.
我在清单中设置了蓝牙权限如下,但是当我尝试通过Eclipse在手机上运行应用程序时,我收到了Permission Denial异常:
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.helloandroid"
          android:versionCode="1"
          android:versionName="1.0">      
        <application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true" android:permission="android.permission.BLUETOOTH_ADMIN">
            <activity android:name=".HelloAndroid"
                      android:label="@string/app_name">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-sdk android:targetSdkVersion="7" android:minSdkVersion="5"></uses-sdk>
</manifest>
有什么明显的东西我不见了吗?
在 Python 2 下运行脚本时是否可以忽略或屏蔽 Python 3 语法片段?
我正在尝试编写一个单元测试来针对 Python 2 或 Python 3 下的 Python 模块运行。
该测试包含仅在 Python 3 下有效的语法(“yield from”) - 我只想在 Python 3 上运行测试时运行这些测试。是否有一种方法可以禁用或屏蔽此 Python 3 代码当我在Python 2下运行它时,这样我在运行unittest模块时就不会抛出语法错误?
请参阅下面的缩减示例:
import unittest
try:
    import asyncio
    # We must be running under Python 3 - run the sync and async tests.
    ASYNC_SUPPORTED = True
except ImportError:
    # We must be running under Python 2 - only run the sync tests.
    ASYNC_SUPPORTED = False
class TestSyncMethods(unittest.TestCase):
    def test_1(self):
        # Test for …我希望使用Python字典来跟踪一些正在运行的任务.这些任务中的每一个都有许多属性使它独特,所以我想使用这些属性的函数来生成字典键,这样我就可以使用相同的属性再次在字典中找到它们.类似以下内容:
class Task(object):
    def __init__(self, a, b):
        pass
#Init task dictionary
d = {}
#Define some attributes
attrib_a = 1
attrib_b = 10
#Create a task with these attributes
t = Task(attrib_a, attrib_b)
#Store the task in the dictionary, using a function of the attributes as a key
d[[attrib_a, attrib_b]] = t
显然这不起作用(列表是可变的,因此不能用作键("不可用类型:列表")) - 那么从几个已知属性生成唯一键的规范方法是什么?
python ×4
unit-testing ×2
android ×1
bluetooth ×1
c ×1
dictionary ×1
excel ×1
excel-vba ×1
git ×1
hash ×1
manifest ×1
matlab ×1
merge ×1
permissions ×1
python-2.7 ×1
python-3.x ×1
simulink ×1
svn ×1
swig ×1
testing ×1
vba ×1