小编Wer*_*nze的帖子

在CFileDialog中选择多个文件

在VC++ 6.0中,MFC我想选择多个文件

CFileDialog opendialog(true); // opens the dialog for open;
opendialog.m_ofn.lpstrTitle="SELECT FILE"; //selects the file title;
opendialog.m_ofn.lpstrFilter="text files (*.txt)\0*.txt\0"; //selects the filter;

if(opendialog.DoModal()==IDOK) //checks wether ok or cancel button is pressed;
{
    srcfilename=opendialog.GetPathName(); //gets the path name;
    ...
}
Run Code Online (Sandbox Code Playgroud)

上面的代码示例一次只允许选择一个文件,但我想选择多个文本文件,例如按住控制键(ctrl+选择多个文件).我怎样才能做到这一点?

mfc

5
推荐指数
3
解决办法
8125
查看次数

Msado60_Backcompat在CCommand :: CreateParameter中崩溃

我正在开发Windows 7 64位SP1上的ADO应用程序(32位)(安装了所有更新):该应用程序必须在Win XP上运行.根据http://support.microsoft.com/kb/2517589/en-us我正在使用msado60_backcompat.直到最近才有效,但现在它崩溃了.

我的代码(片段):

_CommandPtr cmd(__uuidof(Command));
cmd->ActiveConnection = dbconn;
cmd->CommandText = _T("SELECT [si] FROM [TTable] WHERE [TTable].[ti1]=?");
cmd->Parameters->Append(cmd->CreateParameter(L"@ti1", adTinyInt, adParamInput, 1, 7));
Run Code Online (Sandbox Code Playgroud)

CreateParameter在msado60_backcompat中实现:

inline _ParameterPtr Command15::CreateParameter ( _bstr_t Name, enum DataTypeEnum Type, enum ParameterDirectionEnum Direction, ADO_LONGPTR Size, const _variant_t & Value )
{
  struct _Parameter * _result = 0;
  HRESULT _hr = raw_CreateParameter(Name, Type, Direction, Size, Value, &_result);
  if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
  return _ParameterPtr(_result, false);
}
Run Code Online (Sandbox Code Playgroud)

raw_CreateParameter()调用msado15.dll到CCommand :: CreateParameter.偏移量0x34f(函数内部的偏移量)发生崩溃:

adosqlbugcheck.exe中0x655ed5a6(msado15.dll)的第一次机会异常:0xC0000005:访问冲突写入位置0xcccccccc.
adosqlbugcheck.exe中0x655ed5a6(msado15.dll)的未处理异常:0xC0000005:访问冲突写入位置0xcccccccc.

Msado60_Backcompat.tlb:73728字节,29.4.2011
msado15.dll:6.1.7601.17514,10199904 字节,21.11.2010

如果我使用msado15.dll,则不会发生此错误.

有人可以重现错误吗?有解决方案吗?

ado

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

通过命令行发送 Ctrl+Z 到串口

我正在尝试使用 ECHO 或类似方法通过命令行将以下内容发送到 COM1 串口(我也尝试下载一个名为 serialsend 的小程序,但我坚持如何发送等效的CTRL+ Z。这是发送一个通过西门子 TC35 GAM 模块发送 SMS 消息。作为测试,我可以通过超级终端执行此操作,并且运行良好,但我无法弄清楚如何在末尾发送CTRL+Z以确认消息的正确性。

这就是我所拥有的:

AT

AT+CMGF=1

AT+CMSG="+xxxxxxxxxxx"

HELLO
Run Code Online (Sandbox Code Playgroud)

现在,在 Hello 之后,这是我要发送的消息,我必须发送CTRL+ Z。但不知道怎么做,我试过这个:

AT

AT+CMGF=1

AT+CMSG="+xxxxxxxxxxx"

HELLO

\x1A
Run Code Online (Sandbox Code Playgroud)

正如我读到的那样,这相当于这样做,但它没有奏效。

谁能帮我这个?我找到了解决方案,但它们不是命令行,这正是我所需要的。

我也尝试过使用这种格式:

ECHO AT > COM1:
Run Code Online (Sandbox Code Playgroud)

但由于我不知道如何发送CTRL+Z我不知道它是否有效。

command-line serial-port ctrl

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

C#Outlook加载项获取选定的电子邮件

我想在Outlook 2010加载项中获取所有选定的电子邮件.我找到了这个MSDN教程,但我是C#的初学者,我不太明白这行代码:Object selObject = this.Application.ActiveExplorer().Selection[3];

我相信Selection[]像C#中被覆盖的运算符,索引器.但是,有没有办法看到它的实现?如果我浏览代码,我只看到接口但不看实现.所以我不知道Selection对象的结构.什么是真正的背后operator [].

另外,为什么所选项目从索引1开始而不是0?

c# outlook-addin

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

用于实例化参数化角色的对象的重载运算符

在 C++ 中,您可以创建在模板化对象上使用特定运算符的模板化类,并且实例化这些对象的类必须重载该特定运算符才能使其对象与模板化类一起使用。例如,insertionBST 实现的方法可能依赖于<运算符,因此任何要存储在 BST 中的对象都必须实现该运算符。

如果可能,我如何对 Raku 中的参数化角色执行相同的操作?


为了提供一些上下文,例如将以下参数化角色定义为其自己的模块:

role BST[::T] {
    my role BinaryNode[::T] {
        has T $.item           is rw;
        has BinaryNode $.left  is rw;
        has BinaryNode $.right is rw;
    }

    has BinaryNode $!root;

    method insert( BST:D: T $x --> Nil ) {
        self!rec-insert($x, $!root)
    }

    method !rec-insert( T $x, BinaryNode $node is rw --> Nil ) {
        if !$node.defined     { $node = BinaryNode[$(T)].new(item => $x) }
        elsif $x < $node.item { self!rec-insert($x, $node.left) …
Run Code Online (Sandbox Code Playgroud)

operator-overloading parametric-polymorphism raku

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

无法使AWS Elastic Beanstalk命令行工具在Windows 8上运行.获取以下PowerShell错误?

Add-Type:由于以下异常而无法添加类型:无法找到编译器可执行文件csc.exe.验证是否已安装Microsoft .NET Framework 3.5版.在64位版本的Windows上,还需要WOW64组件.在C:\ Users\Albert\Documents\WindowsPowerShell\Modules\AWSDevTools\AWSDevTools.ps1:315 char:1 + Add-Type -Language CSharpVersion3 -TypeDefinition $ awsSource + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:NotSpecified :( :) [Add-Type],InvalidOperationEx ception + FullyQualifiedErrorId:System.InvalidOperationException ,Microsoft.Power Shell.Commands.AddTypeCommand

PATH设置为%SystemRoot%\ system32;%SystemRoot%;%SystemRoot%\ System32\Wbem;%SYSTEMROOT%\ System32\WindowsPowerShell\v1.0 \; C:\ wamp\bin\php\php5.4.3; C:\ Program Files\Java\jre7\bin; C:\ Program Files(x86)\ Git\bin; C:\ Program Files(x86)\ Git\cmd; C:\ Program Files\AWS-ElasticBeanstalk-CLI-2.4.0\EB\WINDOWS; C:\ WINDOWS\Microsoft.NET\Framework64\v4.0.30319; C:\ WINDOWS\Microsoft.NET \框架\ v4.0.30319

在线关注本教程

谢谢

asp.net powershell command-line amazon-web-services amazon-elastic-beanstalk

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

在Firefox/Internet Explorer中杀死默认的CTRL-F搜索栏

我目前正在设计一个提供自定义搜索功能的网页.由于这可能会干扰浏览器提供的默认搜索栏CTRL- F,我们正在禁用该事件,以便不会弹出默认搜索栏,而是显示我们的搜索栏.

问题是,在Firefox和Internet Explorer中,与Chrome或Safari或Opera不同,搜索栏在所有选项卡中都是可共享的.因此,如果我在其他选项卡中,请执行CTRL- F弹出默认搜索栏,现在跳转到此页面,搜索栏仍然存在,这完全违背了我们的目的.

我知道这听起来不可能,但是,有没有办法杀死默认搜索栏,也就是说,通过JavaScript完全隐藏它?然后,当我们检测到用户正在进入我们的页面时,我们可能会这样做.

如果不可能,那么有什么方法可以禁用特定元素的默认搜索,比如说contenteditable div?这样,虽然CTRL- F迭代单词的页面,每按一次突出显示每个实例,ENTER该元素中的所有单词都被完全忽略了?

javascript browser events ctrl

4
推荐指数
2
解决办法
5088
查看次数

什么促销类型用于switch-case表达式比较?

使用不同的编译器编译时,以下程序打印"unknown".为什么会这样?

#include "stdio.h"

const char OPTION = (char)(unsigned char)253;

int main(int argc, char* argv[])
{
    unsigned char c = 253;
    switch (c)
    {
    case OPTION:
        printf("option\n");
        break;
    default:
        printf("unknown\n");
        break;
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在查看C++标准(N3690 2013-05-05)时,我看到了一个switch子句:

6.4.2 switch语句

2条件应为整数类型,枚举类型或类类型.如果是类类型,则将条件在上下文中隐式转换(第4节)为整数或枚举类型.执行整体促销.switch语句中的任何语句都可以用一个或多个case标签标记,如下所示:

case constant-expression :  
Run Code Online (Sandbox Code Playgroud)

其中constant-expression应该是切换条件的提升类型的转换常量表达式(5.19).在转换为提升类型的开关条件后,同一开关中的两个外壳常数不应具有相同的值.

引用的转换条款:

4标准转换

2 [注意:具有给定类型的表达式将在多个上下文中隐式转换为其他类型:
[...]
- 在switch语句的表达式中使用时.目的地类型是积分(6.4).
[...] - 结束
说明]

变量c的类型为unsigned char,它是一个整数类型.所以不需要晋升!?

如果推广类型是unsigned char我希望比较c == (unsigned char)OPTION,如果产生真实.如果提升类型,int我会期望比较(int)c == (int)OPTION)明显产生错误.

我的问题是:上述计划中使用的推广类型是什么?C和C++标准中的相关条款是什么?

c c++ language-lawyer

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

Semantic-release 配置为仅从 master 发布

\n

[16:07:15] [语义发布] \xe2\x80\xba \xe2\x84\xb9 运行语义发布版本 17.0.4
\n [16:07:18] [语义发布] \xe2\x80 \xba \xe2\x9c\x94 从“@semantic-release/npm”加载插件“verifyConditions”
\n [16:07:19] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 加载插件来自“@semantic-release/git”的“verifyConditions”
\n [16:07:19] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 从“@semantic-release/”加载插件“analyzeCommits” commit-analyzer"
\n [16:07:19] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 从“@semantic-release/release-notes-generator”加载插件“generateNotes”\
n [16:07:19] [语义发布] \xe2\x80\xba \xe2\x9c\x94 从“@semantic-release/changelog”加载插件“准备”
\n [16:07:19] [语义-发布] \xe2\x80\xba \xe2\x9c\x94 从“@semantic-release/npm”加载插件“准备”
\n [16:07:19] [语义发布] \xe2\x80\xba \xe2 \x9c\x94 从“@semantic-release/git”加载插件“准备”
\n [16:07:19] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 从“@semantic-release/git”加载插件“发布” “@semantic-release/npm”
\n [16:07:20] [semantic-release] \xe2\x80\xba \xe2\x9c\x94 从“@semantic-release/gitlab”加载插件“publish”\
n [16:07:20] [语义发布] \xe2\x80\xba \xe2\x9c\x94 从“@semantic-release/npm”加载插件“addChannel”
\n [16:07:20] [语义-发布] \xe2\x80\xba \xe2\x9c\x94 从“@semantic-release/github”加载插件“addChannel”
\n [16:07:27] [semantic-release] …

git node.js devops semantic-release

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

int []中的未赋值

想知道在C++中int[]通常是什么值的未分配整数.

int arr[5];
arr[1]=2;
arr[3]=4;
for(int i=0;i<5;i++)
{
  cout <<arr[i] <<endl;
}
Run Code Online (Sandbox Code Playgroud)

它打印

-858993460
2
-858993460
4
-858993460
Run Code Online (Sandbox Code Playgroud)

我们知道阵列会在{?,2,?,4,?}哪里?不明.

什么会"?" 通常?

当我测试时,我总是得到负值.我可以假设在C++中,整数数组中的未分配元素总是小于或等于零吗?

如我错了请纠正我.当我在Java中学习时,未分配的数组元素将产生null.

c++ visual-c++

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