小编Edw*_*eno的帖子

在vbscript中调用C#dll

我试图从QTP调用C#dll(使用vbscript).我尝试了很多没有成功的事情:

  • Visual Studio 2010
  • 创建C#类libary(st.dll)

码:

using System;
using System.Collections.Generic;
using System.Text;   

namespace st
{
    public class Class1
    {
        public static int GetValue()
        {
            return 34;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)
  • regasm /codebase st.dll
    • 失败'因为它不是有效的.NET程序集'

在QTP/vbscript中,我试过了

  • extern.Declare micInteger, "GetValue", "e:\st.dll", "GetValue"
    • 返回消息:'无效的过程调用或参数'

无论QTP如何,我都非常感谢有关如何从.vbs文件调用c#dll的任何见解.

c# dll vbscript qtp

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

从C中删除字符串中的字符

我只能访问'C'并需要替换字符数组中的字符.对于这个相对简单的程序,我还没有想出任何干净的解决方案.

我传递了一个字符数组,例如:

char strBuffer[] = "/html/scorm12/course/course_index.jsp?user_id=100000232&course_id=100000879&course_prefix=ACQ&version=2&scorm_version=3&roster_id=100011365&course_name=Test%20Course%201.2&mode=browse&course_number=0000&mode_id=1";
Run Code Online (Sandbox Code Playgroud)

我需要修改这个缓冲,以取代所有&&.生成的缓冲区不必覆盖strBuffer(可以创建新的缓冲区).

有什么建议?

编辑:

在过去,我已经在循环中完成了strstr函数,但是正在寻找一个更简单的解决方案,也许是C等效于String.Replace方法.

编辑:

对于我的迫切需求,以下就是我所需要的.

char strBuffer[] = "/html/scorm12/course/course_index.jsp?user_id=100000232&course_id=100000879&course_prefix=ACQ&version=2&scorm_version=3&roster_id=100011365&course_name=Test%20Course%201.2&mode=browse&course_number=0000&mode_id=1";
char strTemp[1024];
char *s = (char*)strBuffer;
int i=0;

while (*s)
{
    strTemp[i++] = *s;
    if (strncmp(s,"&",5) == 0)
    {
        s += 5;
    }
    else
        s++;
}
strTemp[i] = 0;
Run Code Online (Sandbox Code Playgroud)

未来的修改:

  • 创建一个实用程序函数来存储此函数.
  • 将搜索字符串作为参数传递.
  • 确定搜索字符串的长度,因此可以删除硬编码的5.
  • 动态分配strTemp变量.
  • 检查未找到空字符串和字符时出错.

编辑:

我创建了一篇博文,详细介绍了这些步骤并提供了更灵活的解决方案:

http://www.solutionmaniacs.com/blog/2012/11/25/c-removereplace-characters-in-a-string.html

c arrays replace char

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

printf和gets之间的区别

我是编程的初学者.我参考了C编程的书籍,但我很困惑.

1.)printf和gets之间的区别是什么?我相信get更简单,没有任何格式?

c printf

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

标签 统计

c ×2

arrays ×1

c# ×1

char ×1

dll ×1

printf ×1

qtp ×1

replace ×1

vbscript ×1