小编Cur*_*urt的帖子

在编程Excel时将选择设置为Nothing

当我使用range.copy和range.paste创建图形后,它会选择粘贴范围,然后当我在几行后创建图形时,它会将选择作为图形中的第一个系列.我可以删除这个系列,但有更优雅的方法吗?我试过了

Set selection = nothing
Run Code Online (Sandbox Code Playgroud)

但它不会让我选择.我也试过了selection.clear,但是刚刚清除了所选择的最后一个单元格,并且仍然在剧情中添加了一个额外的系列.

excel vba excel-vba

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

如何使用C#2010将图表图像复制到剪贴板?

我正在学习C#,因为我编写了一个与光谱仪接口的程序.我已经想出如何从光谱仪获取光谱并将其绘制在MS图表上.

如何将图表的图像复制到剪贴板中以便将其粘贴到其他程序中?

我正在使用Visual Studio C#2010.

我找到了chart.SaveImage方法,但我真的宁愿将图像复制到剪贴板而不是将其保存到磁盘.我还没有找到chart.CopyPicture方法.

我还想出了如何将原始数据作为字符串复制到剪贴板,然后可以将其粘贴到Excel工作表中并绘制,但我宁愿只复制图像本身.


附加数据:

我可以使用以下代码将图像复制到剪贴板:

spectrumChart2.SaveImage("Image.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
Image img = Image.FromFile("Image.jpg");
System.Windows.Forms.Clipboard.SetImage(img);
Run Code Online (Sandbox Code Playgroud)

当然有办法直接获取图像剪贴板而不保存并首先从磁盘文件中检索它.拜托,请让我知道这是怎么做的(在我的一个同事找到这个kludge之前)!

.net c# charts

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

如何使用从Python的列表类派生的类

这是问题912526的后续内容 - 如何在Python中向函数传递大量变量?.

在我正在编写的程序中需要传递很多变量,从我之前的问题中我理解我应该将这些变量放入类中,然后传递类.

其中一些变量来自重复集 - 对于薄膜计算,我需要跟踪多个层的光学特性(折射率,吸收,厚度等).

存储这样的变量的最佳方法是创建一个派生自Python列表的类来存储每组保存单个层变量的类集合吗?然后将处理从列表中派生的图层集的函数和处理该类中特定图层的函数放在一起?有没有更好的方法来完成单一课程?

在下面的例子中使用两类方法,我能够进行设置,以便我可以使用像这样的语句来访问变量

n1 = layers[5].n
Run Code Online (Sandbox Code Playgroud)

这是最好的方法,对吗?

#Test passing values to and from functions

class Layers(list):

    def add(self,n,k,comment):
        self.append( OneLayer(n,k,comment) )

    def input_string(self):
        input_string = []
        for layer in self:
            vars = layer.input_string()
            for var in vars:
                input_string.append( var )
        return input_string

    def set_layers(self,results):
        for layer,i in enumerate(self):
            j = i*layer.num_var
            layer.set_layer( *results[j:j+2] )

class OneLayer(object):

    def __init__(self,n,k,comment):
        self.n = n
        self.k = k
        self.comment = comment

    def input_string(self):
        return [['f','Index of Refraction',self.n], …
Run Code Online (Sandbox Code Playgroud)

python class

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

如何解决Labview加载冲突

我正在 Labview 中开发一个数据采集程序,该程序使用多个转换阶段、相机、高速数字化仪和其他仪器。我正在一台计算机上开发该应用程序,并将其部署到另一台计算机上。开发用的电脑是labview 2013,部署应用的电脑目前是Labview 2012,但是当我们把应用程序移到那里时,我们会升级到Labview 2013。一些驱动程序需要不同版本的驱动程序才能在 Labview 2012 下运行,而不是在 Labview 2013 下运行。我试图将仪器的所有 vi、subvi 和驱动程序保存在一个目录树中,以便我可以移动将整个树转移到将要部署的计算机上。

当我在 Labview 中加载项目时,会弹出很多“解决加载冲突”对话框。当我去调查时,Labview 说它找不到导致冲突的文件之一,但它弹出了对话框。一个例子如下:

Labview解决负载冲突

每次我加载这个项目时都会发生这种情况 - 保存所有不会将新路径输入到 Labview 中。我也尝试创建一个新项目,并将这些 vi 拉进来,但新项目具有相同的负载冲突。

显然 Labview 或这些 vis 认为这些不再存在的 vi 仍然存在。

我如何修复我的项目、vi 或 Labview,使其只使用它应该使用的 vi,并且我没有遇到所有这些冲突,其中许多冲突是不存在的文件?

labview conflict

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

如何在Python中向函数传递大量变量?

我做科学编程,并且经常想要向用户显示提示和变量对,让他们编辑变量,然后用新变量进行计算.我经常这样做,我写了一个wxPython类来将这段代码移出主程序.您可以使用变量类型(字符串,浮点数,整数),提示符和变量的当前值为每个变量设置一个列表.然后将所有这些列表放在一个大的列表中,我的实用程序创建了一个整齐的wxPython面板,其中包含提示和可以编辑的当前值.

当我开始时,我只有一些变量,所以我会写出每个变量.

s='this is a string'; i=1; f=3.14
my_list=[ ['s','your string here',s], ['i','your int here',i], ['f','your float here'],]
input_panel = Input(my_list)

 # the rest of the window is created, the input_panel is added to the window, the user is
 # allowed to make  choices, and control returns when the user hits the calculate button

s,i,f = input_panel.results()     # the .results() function returns the values in a list
Run Code Online (Sandbox Code Playgroud)

现在我想将这个例程用于很多变量(10-30),这种方法正在破裂.我可以使用list.append()语句通过多行创建函数的输入列表.但是,当代码从函数返回时,我得到了这个庞大的列表,需要将其解压缩到正确的变量中.这很难管理,看起来很容易让输入列表和输出列表不同步.更糟糕的是,它看起来很糟糕.

使用额外信息将大量变量传递给Python中的函数的最佳方法是什么,以便可以对它们进行编辑,然后将变量返回以便我可以在程序的其余部分中使用它们?

如果我可以通过引用将变量传递给函数,那么用户可以更改它们,并且一旦程序从函数返回,我将使用这些值.我只需要在多行上构建输入列表,输入列表就不会与输出列表不同步.但Python不允许这样做.

我是否应该将大型列表拆分为较小的列表,然后将这些列表组合成大型列表以进入和退出函数?或者这只是添加更多地方来制造错误?

python pass-by-reference pass-by-value

5
推荐指数
2
解决办法
1869
查看次数

如何在.net 3.5轨道栏中标记最小,最大,中心刻度线?

我需要在应用程序中设置电压.我习惯在Labview中使用滑块,并希望使用C#程序复制它.

我已经发现轨迹栏只有整数值,所以我不需要使用双倍的范围从-5到5,我需要让轨迹栏从-50到+50,每10步有刻度线获得0.1v分辨率.

如何标记轨迹栏的最小值和最大值?

| ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | - ---- | ----- |
-5.0 0.0 5.0

我在Visual Studio中使用带有.net 3.5的C#.

c# trackbar .net-3.5

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

在Python中使用Eval创建类变量

我写了一个类,让我传入变量类型,变量名,提示和默认值的列表.该类创建一个wxPython面板,该面板显示在一个框架中,该框架允许用户在按下计算按钮并将结果作为绘图返回之前设置输入值.我使用exec语句将所有变量添加到类中.这将所有变量保存在一个类中,我可以通过名称引用它们.

light = Variables( frame , [ ['f','wavelength','Wavelength (nm)',632.8] ,\
                             ['f','n','Index of Refraction',1.0],])
Run Code Online (Sandbox Code Playgroud)

在类中,我使用以下语句创建和设置变量:

for variable in self.variable_list:
       var_type,var_text_ctrl,var_name = variable
       if var_type == 'f' :  
           exec( 'self.' + var_name + ' = ' + var_text_ctrl.GetValue() )
Run Code Online (Sandbox Code Playgroud)

当我需要使用变量时,我可以通过名称引用它们:

 wl = light.wavelength
 n = light.n
Run Code Online (Sandbox Code Playgroud)

然后我读到SO,很少需要在Python中使用exec.这种方法有问题吗?有没有更好的方法来创建一个类,该类包含应该组合在一起的变量,您希望能够编辑,还有用于显示,编辑的代码和wxPython调用(并且还将所有变量保存到文件中)还是再读一遍)?

生硬的

python wxpython scientific-computing

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

Excel-VBA:变量名称,匈牙利表示法和变量命名最佳实践

当我在Excel-VBA中编程时,我使用匈牙利表示法.工作表变量以ws开头,工作簿变量以wb开头等.

当我使用整数时,我总是使用longs,因为在过去我已经超过了整数的最大值,并且需要一段时间才能找到错误 - 更容易让所有东西变长,而不是试图找出如果变量的值有可能超过32768.

是否可以用前导i而不是l来表示这些变量,因为我将它们用作整数,即:

dim iStart as long, iEnd as long
Run Code Online (Sandbox Code Playgroud)

代替

dim lStart as long, lEnd as long
Run Code Online (Sandbox Code Playgroud)

当变量保存某个数量时,我用n表示它,即使它持有一个长的.

dim nObjects as long, nPlots as long
Run Code Online (Sandbox Code Playgroud)

您对VBA最容易阅读哪种符号的体验是什么?

vba coding-style naming-conventions hungarian-notation excel-vba

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