小编que*_*atl的帖子

C#用LINQ替换List <string>的所有元素

我有一个包含数千个字符串的C#List:

"2324343"
"6572332"
"45122" ...
Run Code Online (Sandbox Code Playgroud)

我想用它们周围的括号替换所有这些,所以它们看起来像

"(2324343)"
"(6572332)"
"(45122)" ...
Run Code Online (Sandbox Code Playgroud)

我知道如何编写for循环并执行此操作,但我想知道是否有办法优先使用LINQ和LAMBDA表达式.我也对其他建议持开放态度.

非常感谢!

c# linq generics lambda list

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

QVariant到QObject*

我正在尝试将指针附加到一个QListWidgetItem,用于插槽itemActivated.

我试图附加的指针是一个QObject*后代,所以,我的代码是这样的:

Image * im = new Image();  
// here I add data to my Image object
// now I create my item
QListWidgetItem * lst1 = new QListWidgetItem(*icon, serie->getSeriesInstanceUID(),  m_iconView);
// then I set my instance to a QVariant
QVariant v(QMetaType::QObjectStar, &im)
// now I "attach" the variant to the item.
lst1->setData(Qt::UserRole, v);
//After this, I connect the SIGNAL and SLOT
...
Run Code Online (Sandbox Code Playgroud)

现在我的问题,itemActivated插槽.在这里,我需要Image*从变体中提取我,我不知道如何.

我试过这个,但是我得到了错误:

'qt_metatype_id'不是'QMetaTypeId'的成员

void MainWindow::itemActivated( QListWidgetItem * …
Run Code Online (Sandbox Code Playgroud)

c++ qt4

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

如何在android中的两个活动之间应用3d过渡?

我有一个Android应用程序,并在两个活动之间切换,我想应用3D过渡...我知道方法,overridePendingTransition()但它没有任何动画的3D ..所以它是如何做到的?

animation android

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

VS 2010一键部署问题"应用程序验证未成功.无法继续"

我有一个win表单应用程序,我可以为其安装和安装.但是,当单击部署它不起作用时,我得到以下错误.

"应用程序验证未成功.无法继续"

当我点击更多细节时,我得到以下内容.

检测到以下失败消息:

  • 清单中的引用与下载的程序集Designer.exe的标识不匹配.

我尝试了许多不同的修复但没有成功.

  • 我试图用清单创建应用程序.
  • 我已删除所有先决条件.
  • 我还更改了要包含的所有应用程序文件.

有谁知道我怎么能解决这个问题?

c# deployment oneclick

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

使用WiX预处理器$ var语法访问项目的TargetDir

我刚刚开始使用WiX.

我在现有的C项目中添加了一个WiX Votive项目.

要自动为二进制文件选择正确的源文件夹,请使用以下内容:

<Directory Id="INSTALLLOCATION" Name="Trapeze Capture For Objective" FileSource="$(var.CaptureForObjective.TargetDir)">
Run Code Online (Sandbox Code Playgroud)

这会导致以下错误:

1>C:\code\CaptureForObjective\Installer\Product.wxs(10,0): error CNDL0150: Undefined preprocessor variable '$(var.CaptureForObjective.TargetDir)'
.

C项目称为CaptureForObjective,WiX项目称为Installer.

我需要做些什么才能让它发挥作用?

wix wix3 visual-studio votive

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

如何指定帮助链接,支持链接和更新信息?

我已经编写了一些Wix安装程序,但我注意到我的产品在安装和查看控制面板,添加/删除程序时,与其他一些安装相比,对元数据有点了解.许多已安装的产品包含以下项目:

  • 帮助链接(URL)
  • 支持链接(URL)
  • 更新信息(URL).

选择安装的产品后,这些项目将显示在控制面板的底部.我的产品与Wix一起安装,没有这些项目,只有版本号.我无法看到Wix中我可以添加这些项目的任何地方,搜索Wix帮助文件不会产生任何这些项目的匹配.

有谁知道这在Wix中是否可行?我相信一定是......

metadata wix hyperlink addremoveprograms

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

收集文件会导致LGHT0231错误

我正在使用最新的奉献(Wix v3.5)并创建了一个简单的Wix VS 2010安装项目.我添加了我的网站参考并将Harvest选项设置为true.

既然我INSTALLDIR指向IISROOT下的文件夹,我得到这个light.exe错误:

[filepath]:错误LGHT0231:组件'cmp93982C4086FF8C75F07339DD7CEA8152'的密钥文件路径为'TARGETDIR\webdir ... [filename] .xml'.由于此路径不是以其中一个标准目录(如ProgramFilesFolder)为根,因此该组件不符合自动生成guid的条件.(如果路径包含可能的标准目录,例如在ProgramFilesFolder下嵌套名为"Common Files"的目录,也可能发生此错误.)

虽然我理解这个错误背后的原因,但我不一定同意它的理性(也许我不理解Wix MSI一代的固有工作原理).

我该如何解决这个错误?


提供一些背景信息:

我正在尝试与Team Build一起设置它.我可以使用旧格式并对文件夹运行Heat/Harvest任务来绕过此问题,但不想使用旧版路由.

我没有使用基于工作流的新构建定义,因此不确定如何合并此自定义任务.

每次构建安装项目时我都需要运行收获,因为我不想手动跟踪数百个文件.

wix wix3.5 votive

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

WiX构建警告:Media表没有条目

我正在尝试为WiX中的.net应用程序创建一个简单的安装程序.我安装了Votive并使用它创建的基本模板wxs文件.当我编译它时,我得到了warning LGHT1076: ICE71: The Media table has no entries.

此外,当我运行安装程序时,它会在安装期间启动并消失,并且"添加/删除程序"应用程序中没有条目.

这是XML:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="26d654fe-af0f-4b48-8993-8e249597a130" 
       Name="Minefold" 
       Language="1033" 
       Version="0.0.0.1" 
       Manufacturer="Minefold" 
       UpgradeCode="6aad5a10-cbbe-472b-87fc-0813fb450836">
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
    <MediaTemplate />
</Product>

<Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
        <Directory Id="ProgramFilesFolder">
            <Directory Id="INSTALLFOLDER" Name="Minefold" />
        </Directory>
    </Directory>
</Fragment>

<Fragment>
    <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
         <Component Id="ProductComponent">
     <File Source="C:\code\Minefold\Minefold\bin\Debug\Minefold.exe" Id="Minefold.exe"  />
         </Component> 
    </ComponentGroup>
</Fragment>

<Fragment>
  <Feature Id="Application" Title="Minefold" Level="1">
    <ComponentRef Id="ProductComponent" />
  </Feature>
</Fragment>
</Wix>
Run Code Online (Sandbox Code Playgroud)

windows-installer wix votive

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

卸载前WiX关闭应用程序 - 关闭打开的应用程序消息

我有点痛苦.我有安装程序安装并启动托盘图标应用程序(常见的.exe)

这工作正常,但现在我想在此UI之前停止该应用程序,告诉用户手动关闭应用程序,因为在卸载例程期间,我的托盘图标被删除但进程仍在运行.

我在卸载之前(甚至在执行期间)应用此自定义操作来关闭应用程序

<CustomAction Id="CloseTrayApp" ExeCommand="-exit" FileKey="TrayApp" Execute="immediate" Return="asyncNoWait" />

<InstallExecuteSequence>
    <Custom Action="CloseTrayApp" Before="InstallValidate" />
</InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)

但是"关闭所有正在运行的应用程序"对话框仍然会弹出,但我认为这将解决我的问题.

我已经尝试使用CloseAction但是由于编译时的错误而我急于使用它.它说WixUtils名称空间可能会丢失,但我仔细检查它是否存在:

xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
Run Code Online (Sandbox Code Playgroud)

如何避免弹出对话框窗口并触发执行此自定义操作?

installation installer wix

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

从android中的视频中提取位图

我试图从视频中提取所有帧.
通过以下代码我想获取视频的前30帧,但我只得到第一帧30次.

private ArrayList<Bitmap> getFrames(String path) {
    try {
        ArrayList<Bitmap> bArray = new ArrayList<Bitmap>();
        bArray.clear();
        MediaMetadataRetriever mRetriever = new MediaMetadataRetriever();
        mRetriever.setDataSource("/sdcard/myvideo.mp4");                    

        for (int i = 0; i < 30; i++) {
            bArray.add(mRetriever.getFrameAtTime(1000*i, 
                       MediaMetadataRetriever.OPTION_CLOSEST_SYNC));
        }
        return bArray;
    } catch (Exception e) { return null; }
}
Run Code Online (Sandbox Code Playgroud)

现在,我如何从视频中获取所有帧?

media video android bitmap

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