小编Jon*_*lls的帖子

Excel VBA代码模块的源代码控制

我希望能够控制我的Excel电子表格的VBA模块(目前使用的是Excel 2003 SP3),以便我可以共享和管理一堆不同电子表格使用的代码 - 因此我想重新加载它们从电子表格打开时的文件.

我有一个名为Loader.bas的模块,我用它来完成大部分驴工作(加载和卸载所需的任何其他模块) - 我希望能够尽快从文件中加载它当电子表格打开时.

我已将以下代码附加到Workbook_Open事件(在ThisWorkbook类中).

Private Sub Workbook_Open()
    Call RemoveLoader
    Call LoadLoader
End Sub
Run Code Online (Sandbox Code Playgroud)

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 …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

22
推荐指数
2
解决办法
2万
查看次数

使用Python对C代码进行单元测试的最简单方法

我有一堆C代码,我想使用Python的unittest库(在Windows中)进行单元测试,但我正在尝试找出连接C代码的最佳方法,以便Python可以执行它(和得到结果).有没有人以最简单的方式做到这一点?

一些想法包括:

  • 使用Python API将代码包装为Python C扩展
  • 使用SWIG包装C代码
  • 将DLL包装器添加到C代码并使用ctypes将其加载到Python中
  • 将一个小的XML-RPC服务器添加到c代码并使用xmlrpclib调用它(是的,我知道这看起来有点远!)

这样做有规范的方法吗?我将使用不同的C模块进行相当多的操作,所以我想找到一种最省力的方法.

c python swig unit-testing

20
推荐指数
2
解决办法
9446
查看次数

Python单元测试应该在一个单独的模块中吗?

关于放置Python单元测试的最佳位置是否存在共识?

单元测试是否应与被测试的功能包含在同一模块中(当模块单独运行时执行(if __name__ == '__main__'等等)),或者将单元测试包含在不同模块中更好?

也许这两种方法的组合是最好的,包括每个模块中的模块级测试,并添加更高级别的测试,测试多个模块中包含的功能作为单独的模块(可能在/ test子目录中?).

我假设如果测试包含在单独的模块中,测试发现会更直接,但如果他/她必须记住在修改测试模块时更新附加测试模块,则会给开发人员带来额外的负担.

我有兴趣了解人们对组织单元测试的最佳方式的看法.

python testing unit-testing

17
推荐指数
3
解决办法
4158
查看次数

Matlab Simulink版本控制与多个开发人员

我们在几个开发人员的团队中使用Matlab Simulink进行模型开发(和Real-Time Workshop自动编码).

我们目前使用Visual Source Safe(是的,我知道它很糟糕)进行版本控制,使用锁来防止冲突的变化.

我们想将程序迁移到不同的版本控制系统(svn,hg或git),但我们担心在Simulink .mdl文件上执行合并和差异.

有没有人在Simulink文件上执行合并方面有经验?

svn git merge matlab simulink

13
推荐指数
2
解决办法
8664
查看次数

如何设置Android蓝牙的权限

我是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>
Run Code Online (Sandbox Code Playgroud)

有什么明显的东西我不见了吗?

permissions android bluetooth manifest

8
推荐指数
1
解决办法
4万
查看次数

在Python 2下运行脚本时如何忽略Python 3语法?

在 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 …
Run Code Online (Sandbox Code Playgroud)

python python-2.7 python-3.x python-unittest

6
推荐指数
1
解决办法
3997
查看次数

Python从项列表中创建字典键

我希望使用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
Run Code Online (Sandbox Code Playgroud)

显然这不起作用(列表是可变的,因此不能用作键("不可用类型:列表")) - 那么从几个已知属性生成唯一键的规范方法是什么?

python hash dictionary

2
推荐指数
1
解决办法
277
查看次数