我有一个包含数千个字符串的C#List:
"2324343"
"6572332"
"45122" ...
Run Code Online (Sandbox Code Playgroud)
我想用它们周围的括号替换所有这些,所以它们看起来像
"(2324343)"
"(6572332)"
"(45122)" ...
Run Code Online (Sandbox Code Playgroud)
我知道如何编写for循环并执行此操作,但我想知道是否有办法优先使用LINQ和LAMBDA表达式.我也对其他建议持开放态度.
非常感谢!
我正在尝试将指针附加到一个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) 我有一个Android应用程序,并在两个活动之间切换,我想应用3D过渡...我知道方法,overridePendingTransition()
但它没有任何动画的3D ..所以它是如何做到的?
我有一个win表单应用程序,我可以为其安装和安装.但是,当单击部署它不起作用时,我得到以下错误.
"应用程序验证未成功.无法继续"
当我点击更多细节时,我得到以下内容.
检测到以下失败消息:
- 清单中的引用与下载的程序集Designer.exe的标识不匹配.
我尝试了许多不同的修复但没有成功.
有谁知道我怎么能解决这个问题?
我刚刚开始使用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安装程序,但我注意到我的产品在安装和查看控制面板,添加/删除程序时,与其他一些安装相比,对元数据有点了解.许多已安装的产品包含以下项目:
选择安装的产品后,这些项目将显示在控制面板的底部.我的产品与Wix一起安装,没有这些项目,只有版本号.我无法看到Wix中我可以添加这些项目的任何地方,搜索Wix帮助文件不会产生任何这些项目的匹配.
有谁知道这在Wix中是否可行?我相信一定是......
我正在使用最新的奉献(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中的.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) 我有点痛苦.我有安装程序安装并启动托盘图标应用程序(常见的.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)
如何避免弹出对话框窗口并触发执行此自定义操作?
我试图从视频中提取所有帧.
通过以下代码我想获取视频的前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)
现在,我如何从视频中获取所有帧?