小编hug*_*own的帖子

你怎么知道一个网站是用Django制作的?

我正在寻找的公司声称已经使用Django为航空公司和家具店制作了网站,但是当我查看网站时,没有任何迹象表明底层网络技术是什么.你怎么知道?

django

11
推荐指数
2
解决办法
5997
查看次数

如何在VB.NET中安装并在Automation Servers列表中注册的用于Excel的COM Server for Excel?

版本

Excel 2007,Windows Vista,VB.NET,带有.NET 3.5 sp2的Visual Studio 2008,MSI安装程序包.

我想做什么

我有一个用VB.NET编写的Excel UDF.它作为COM服务器公开,因为您无法直接在.NET语言中创建Excel UDF.安装是一个真正的痛苦,因为没有任何安装设置似乎正确; 它们都没有为您提供一个安装包,它将COM服务器放在客户端计算机上,注册了服务器,注册了类型库,并且组件在Excel 2007的自动化服务器列表中可见.

我试过的

以下是类型库的安装设置,它们的缺陷在编译时和安装时显而易见:

vsdrfComSelfReg

  • 在编译安装项目期间没有警告
  • 模块xxx.tlb无法注册.HRESULT -2147024703
  • 组件的ProgID和GUID在注册表中设置,但该组件未出现在自动化服务器列表中

vsdrfDoNotregister

  • 编译期间没有警告
  • 安装工作,但TLB当然没有注册

vsdrfCOM

  • 编译时警告:警告:无法为名为"xxx.tlb"的文件创建注册信息
  • 安装期间未注册类型库

正确的设置应该是vsdrfCOM,如解释在这里:

问:任何人都可以告诉vsdrfCOM在Visual Studio的安装项目中的含义吗?当我在安装项目中添加文件的属性中检查属性"注册"时,它可用.

答:这意味着Visual Studio将在构建时提取COM注册数据并将其放入MSI文件(主要是MSI文件的注册表表,但也包括类表).因此,当您安装它时,您的代码不需要自行注册,因为文件被复制到磁盘并创建了注册表项.它还将通过向MSI的TypeLib表添加条目来创建类型库注册.

许多困难似乎都是针对Vista的.特别是,使用REGCAP实用程序.TLB文件生成.REG文件在Vista中不起作用.如果不是这样,也许这个建议会很有用.相反,它生成空的.REG文件.

我已经尝试了StackOverflow帖子中的所有建议.该帖子对技术问题有很好的描述:

"引用"对话框中的条目来自HKCR\TypeLib注册表项,而不是来自HKCR\CLSID.如果您的程序集没有显示在"引用"对话框中,但已编译的DLL仍然可以使用您的COM程序集,则表示已为程序集正确注册了类和接口,但类型库本身没有.

这个问题

任何人都知道如何使安装注册组件和类型库?我无法访问Windows XP计算机.


详细说明为什么这很糟糕

任何编译的代码都不需要.TLB来调用它.我没有像你一样尝试部署Excel自动化加载项,但我的猜测是UDF应该加载并运行得很好.

它在Excel中不太像.

  • 用户打开工作表并尝试引用UDF.找不到它,因为未加载DLL.失败
  • 用户转到"主页"|"Excel选项"|"加载项"|"Excel加载项+转到",并且"加载项"对话框中未列出COM服务器.失败
  • 然后,用户按下自动化服务器以获取可用自动化服务器的列表.DLL不在那里.失败
  • 用户返回"加载项"对话框并选择"浏览",导航到安装目录,然后选择DLL("XXX不是有效的加载项")或类型库("您选择的文件不包含新的Automation Server,或者您没有足够的权限......").失败

据我所知,用户必须从命令行运行regasm.exe才能使Excel UDF/COM服务器可用.如何告诉人们从命令行运行regasm以安装Excel的加载项?


编辑2009-10-04

Mike的评论和指示非常棒.我不知道的关键是安装程序有一个内置的注册表编辑器,用于添加注册表项.哦,Microsoft安装程序没有调用带有属性ComRegisterFunctionAttribute安装函数.我已经从他引用的来源获得了关于编写安装程序功能的指示.

.net com excel installation

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

生成生成集的算法

鉴于此输入:[1,2,3,4]

我想生成一组生成集:

[1] [2] [3] [4]
[1] [2] [3,4]
[1] [2,3] [4]
[1] [3] [2,4]
[1,2] [3] [4]
[1,3] [2] [4]
[1,4] [2] [3]
[1,2] [3,4]
[1,3] [2,4]
[1,4] [2,3]
[1,2,3] [4]
[1,2,4] [3]
[1,3,4] [2]
[2,3,4] [1]
[1,2,3,4]
Run Code Online (Sandbox Code Playgroud)

每组都具有原始集的所有元素,置换为出现在唯一的子集中.生成这些集的算法是什么?我已经尝试使用选择,置换,组合,电源设置等Python生成器功能,但无法获得正确的组合.

2009年1月20日

这不是一个家庭作业问题.这是我正在为www.projecteuler.net问题#118工作的一个改进的答案.我已经有一个缓慢的解决方案,但提出了一个更好的方法 - 除了我无法弄清楚如何进行跨越集.

当我从就职党回来时,我会发布我的代码.

2009年1月21日

这是我使用的最终算法:

def spanningsets(items):
    if len(items) == 1:
        yield [items]
    else:
        left_set, last = items[:-1], [items[-1]]
        for cc in spanningsets(left_set):
            yield cc + [last]
            for i,elem in enumerate(cc):
                yield cc[:i] + [elem + last] + …
Run Code Online (Sandbox Code Playgroud)

python algorithm

10
推荐指数
2
解决办法
1191
查看次数

Excel 2007 UDF:如何添加函数描述,参数帮助?

说明

我在COM服务器中编写了几个Excel UDF.我想获得按fx时获得的标准帮助(" 插入函数"对话框).是的,我可以看到我的COM服务器列在类别下拉列表中,但是

  • 我还看到了Equals,GetHashCode,GetType和ToString(这对于向Excel用户公开是不合适的),
  • 选择我的COM服务器会弹出*Function Arguments*[1]对话框,没有参数信息,也没有该函数的描述.

这是我得到的跛足:

插入函数对话框http://www.iwebthereforeiam.com/files/Insert%20function%20dialog.gif

Excel函数参数对话框http://www.iwebthereforeiam.com/files/Function%20Arguments%20dialog.gif

这个问题

是否有.NET属性我可以把方法传递给Excel?

  • 我可以提供功能说明吗?
  • 我可以提供参数说明吗?
  • 我可以为我的功能提供类别名称,这样我得到的东西比ProgID更好吗?

(我发现在ExcelDNA中看起来很容易,但我不会那样做.模仿govert的代码[自定义属性,某种类型的加载器等]看起来很难.)


附加背景

如果您以前没有使用Excel + COM服务器,这里有一些有用的资源可以加快速度:

以前的StackOverflow问题:
如何在VB.NET中安装并在Automation Servers列表中注册的用于Excel的COM Server for Excel?
如何将COM暴露的.NET项目添加到VB6(或VBA)引用对话框?

其他资源:
在.NET中为Excel编写用户定义的函数
构建和部署.NET COM程序集
在C#中编写自定义Excel工作表函数


编辑2009-10-20 14:10

我试着打电话Application.MacroOptionsSub New().

  1. No Sub New()
    半可接受:功能列在ProgID类别下.
  2. Shared Sub New()
    不可接受:构建时错误.
    Cannot register assembly "...\Foo.dll".
    Exception has been thrown by the target of an invocation.
  3. Sub New()
    不可接受:"插入函数"对话框中未列出类别.

我怀疑这对于MacroOptions和Charles推荐的更复杂的路线都是一个问题.


编辑2009-10-20 14:55

从好的方面来说,Mike建议创建一个实现的接口确实可以消除暴露的烦人的额外方法.


编辑2009-10-20 15:00

这篇 2007年初的微软文章(通过Mike的链接)似乎是关于这个主题的一个相当完整的答案: …

excel excel-udf com-server

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

RUBY - SSL,基本身份验证和POST

我在这方面遇到了很多困难 - 似乎有几段代码可以放在一起我似乎无法拼凑在一起.我只是尝试POST键/值对,但得到Connection refused - connect(2) (Errno::ECONNREFUSED).救命!

require 'net/http'
require 'net/https'
require 'uri'

@http = Net::HTTP.new('https://my.url.com/path', 443)
@http.use_ssl = true
@http.start() { |http|
    req = Net::HTTP.post_form(
        URI.parse('https:///my.url.com/path'),
        {'key1' => 'value1', 'key2' => 'value2'}
    )
    req.basic_auth 'username', 'password'
    response = http.request(req)
    puts response.body      
}
Run Code Online (Sandbox Code Playgroud)

ruby ssl basic-authentication

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

如何在go go应用程序中阅读consul SRV记录?

我正在尝试实现服务发现的领事,我遇到两件事:连接到自定义DNS服务器,并格式化我的net.LookupSRV()请求.

这是我试图在我的应用程序中查找的内容:

$ dig @127.0.0.1 -p 8600 serviceb.service.consul SRV

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @127.0.0.1 -p 8600 serviceb.service.consul SRV
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4511
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;serviceb.service.consul.   IN  SRV

;; ANSWER SECTION:
serviceb.service.consul. 0  IN  SRV 1 1 80 az1-serviceb1.node.dc1.consul.
serviceb.service.consul. …
Run Code Online (Sandbox Code Playgroud)

dns go consul

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

从单元格公式调用Excel 2007中用C#编写的方法

我正在使用Excel 2007.我有一个单独的二进制文件编写的C#代码.代码在类上使用静态类和静态方法.我在VSTO Excel工作表项目中引用了DLL.我需要添加或修改哪些才能使其正常工作?

我的C#代码如下所示:

using System;
using System.Collections.Generic;
using Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;

namespace FooStatistics
{
    [ComVisible(true)]
    public static class Statistics
    {
        public static int Count(Range range)
        {
            return range.Count;
        }
Run Code Online (Sandbox Code Playgroud)

我希望能够将公式放入Excel单元格中,如下所示:

=FooStatistic.Statistic.Count(A1:A10)
Run Code Online (Sandbox Code Playgroud)

管他呢.

我已经看过这个,但它似乎是Excel 2003中的非静态类.我不相信整合现在还不是更好.

我已经看了很多关于StackOverflow的问题.它们似乎没有提供本机集成(很多人说,"使用X开源库"),并且不祥的是OP很多都不接受它们.我不是在寻找,"将它变成一个COM对象并从VBA调用它."

所以我在寻找:

  • Excel 2007
  • C#DLL中的代码
  • 从Excel单元格调用UDF
  • 原生整合

所以这是另一个StackOverflow链接,其中两个响应者说:

  • 据我所知,您无法在VSTO中直接创建UDF.
  • VSTO不支持创建Excel UDF.自动化加载项可以在.Net中创建,并且似乎是Microsoft批准的方式.

这是一个从2009年6月开始的问题.这是真的 - 在2009年你必须将你的.NET组件公开为COM服务器以获得可调用的Excel UDF吗?

c# excel vsto user-defined-functions

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

XML属性得到排序

当我使用minidom创建文档时,属性在元素中按字母顺序排序.从这里举个例子:

from xml.dom import minidom

# New document
xml = minidom.Document()

# Creates user element
userElem = xml.createElement("user")

# Set attributes to user element
userElem.setAttribute("name", "Sergio Oliveira")
userElem.setAttribute("nickname", "seocam")
userElem.setAttribute("email", "seocam@taboca.com")
userElem.setAttribute("photo","seocam.png")

# Append user element in xml document
xml.appendChild(userElem)

# Print the xml code
print xml.toprettyxml()
Run Code Online (Sandbox Code Playgroud)

结果是这样的:

<?xml version="1.0" ?>
<user email="seocam@taboca.com" name="Sergio Oliveira" nickname="seocam" photo="seocam.png"/>
Run Code Online (Sandbox Code Playgroud)

如果您想要创建电子邮件/名称/昵称/照片顺序中的属性而不是名称/昵称/电子邮件/照片顺序,那么这一切都非常好.

如何让属性按照您创建的顺序显示?或者,你如何控制订单呢?

python xml minidom

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

非重叠矩形中命中测试的算法

我有一组非重叠的矩形,覆盖一个封闭的矩形.找到包含鼠标单击的矩形的最佳方法是什么?

显而易见的答案是拥有一个矩形数组并按顺序搜索它们,使搜索O(n).有没有办法按位置排序,以便算法小于O(n),比如O(log n)或O(sqrt(n))?

.net geometry

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

Makefile压缩javascript

我想在yui压缩器中压缩javascript,如何编写压缩javascript的make文件.

因为语法很难而且不理解,你能给我一个样本Makefile吗?

javascript makefile jscompress

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