我很难将图像添加到使用NSIS/MUI2编写的安装程序的第一页.
这是我正在使用的代码的精简版本.
!include "MUI2.nsh"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP nsis-header.bmp
!define MUI_WELCOMEFINISHPAGE_BITMAP nsis-welcome.bmp
OutFile "Setup.exe"
# Set language
!insertmacro MUI_LANGUAGE "English"
# Pages for installation
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "..\LICENSE"
!insertmacro MUI_PAGE_FINISH
Section Foo
SectionEnd
Run Code Online (Sandbox Code Playgroud)
标题在许可页面上正确显示,但我无法在欢迎页面上显示它.我尝试使用164x314图像(正如文档推荐的那样),位图保存在16b或24b或32b中,图像与标题相同(以确保它不是位图的问题),在Win2k下编译设置和Linux ......没有任何作用.
位图正确存储在设置中:
$ 7z l demyo-1.4.exe | grep modern- | awk '{ print $4 }'
$PLUGINSDIR/modern-header.bmp
$PLUGINSDIR/modern-wizard.bmp
Run Code Online (Sandbox Code Playgroud)
我知道我做错了什么?
所以在"清洁代码"一书中有"做一件事"的规则.但是我们真的需要走得多远.
例如以下语句:
Settings.Default.BaudRate = baudRate;
Settings.Default.COMPort = port;
Settings.Default.DataBits = dataBits;
Settings.Default.Handshake = handshake;
Settings.Default.Parity = parity;
Settings.Default.ReadTimeout = readTimeout;
Settings.Default.WriteTimeout = writeTimeout;
Settings.Default.CommunicationTimeout = communicationTimeout;
Settings.Default.Save();
Run Code Online (Sandbox Code Playgroud)
好的,确定这里有不止一个声明,但它确实让我觉得他们只是做了一件事.保存设置.
我有一个功能.你真的会采用这个appart并为每个设置设置一个方法吗?
你什么时候坚持这个规则什么时候不遵守?
我讨厌拥有一堆"左/右"方法.每次添加或删除属性时,我都必须修复每个方法.而代码本身看起来......错了.
public Foo(Foo other)
{
this.Bar = other.Bar;
this.Baz = other.Baz;
this.Lur = other.Lur;
this.Qux = other.Qux;
this.Xyzzy= other.Xyzzy;
}
Run Code Online (Sandbox Code Playgroud)
实际上,这只是一个展开的循环,它遍历属性,在对象之间复制它们.那么为什么不对这个事实说实话呢?反思救援!
public Foo(IFoo other)
{
foreach (var property in typeof(IFoo).GetProperties())
{
property.SetValue(this, property.GetValue(other, null), null);
}
}
Run Code Online (Sandbox Code Playgroud)
我可能只是试图强迫我从Lua学习到C#的范例,但这个特殊的例子对我来说似乎并不太臭.从这里开始,我开始做一些对字段顺序敏感的更复杂的事情.例如,我不是用一堆几乎相同的if语句来组成字段中的字符串,而是按照所需的顺序迭代它们:
public override string ToString()
{
var toJoin = new List<string>();
foreach (var property in tostringFields)
{
object value = property.GetValue(this, null);
if (value != null)
toJoin.Add(value.ToString());
}
return string.Join(" ", toJoin.ToArray());
}
private static readonly PropertyInfo[] tostringFields =
{
typeof(IFoo).GetProperty("Bar"), …Run Code Online (Sandbox Code Playgroud) 是否可以使用CSS设置背景图像的大小?
我想做的事情如下:
background: url('bg.gif') top repeat-y;
background-size: 490px;
Run Code Online (Sandbox Code Playgroud)
但似乎这样做是完全错误的......
我有一个托管MySQL数据库的客户端,其开发人员一直要求我添加非常简单的存储过程.我看一下像这样的存储过程,我没有看到任何理由将它作为存储过程实现而不是在应用程序代码中实现.我是否正确,这是非常奇怪的使用存储过程?
CREATE DEFINER = 'username'@'%' PROCEDURE `sp_get_payrollgl`(IN pi_glcode TEXT)
DETERMINISTIC
CONTAINS SQL
SQL SECURITY INVOKER
COMMENT ''
BEGIN
if (pi_glcode is null || pi_glcode = '') then
select glcode,descr,
case when crdb = 1 then 'CR' else 'DB' end as 'crdb',
case when taxable = 1 then 'Yes' else 'No' end as 'taxable',
case when billable = 1 then 'Yes' else 'No' end as 'billable',
case when active = 1 then 'Yes' else 'No' end as 'active'
from payrollgl;
else …Run Code Online (Sandbox Code Playgroud) 我正在使用SQL Server 2008.我知道如果表没有聚簇索引,那么它被称为堆,否则存储模型称为聚簇索引(B-Tree).
我想了解更多关于堆存储的确切含义,它看起来是什么以及它是否被组织为"堆"数据结构(例如最小堆,最大堆).有推荐的读数吗?我想要更多内部,但不是太深.:-)
乔治,提前谢谢
我一直在使用我目前对域驱动设计的理解来构建一个新的应用程序.到目前为止,我有一堆类代表我的域中的实体和一个从/ persist到数据库的存储库.
我遇到的问题是在UI中我需要显示一些列表,其中列表中的项目不直接映射到我的域中的任何实体.某些列表可以通过对某些实体进行相当深入的加载来构建,但是其他数据基本上是在检索时合成的,并且不是任何实体的一部分.让我举一个例子,希望能更清楚地解释问题.
在我的域中,我对这些评估进行了评估(一组要回答的问题)和响应(每个用户为评估提供的答案).我也有行动.每个操作代表一个响应(提交,批准,拒绝等)的操作.我也有用户.
我需要显示的数据列表之一将包括响应和评估(尚未响应),然后每行将包含有关当前正在使用响应的用户的信息(这是在检索时通过查找确定的在对答复采取的行动中).每个订单项还将包含零个或多个子项,这些项目是迄今为止对响应采取的操作.
问题是,到目前为止,我无法用我的域实体表示整个数据集.我的第一反应是从数据库中检索数据表并绕过我的域实体.但是我认为在处理域对象和将不同实体之间的关系融入对象本身时有很多价值.所以我的下一个想法是修改我的域实体以支持这些列表,但我担心我会为我的实体添加奇怪的属性只是为了支持这些列表场景而且我可能会因为基本上深度负载而损害性能当我只在我的应用程序中的几个地方需要这些数据时的对象.
我需要从一个封闭的2D多边形创建一个二进制位图,表示为一个点列表.能否请您指出有效且足够简单的算法,或者甚至更好的一些C++代码?
非常感谢!
PS:我想避免在我的项目中添加依赖项.但是,如果您建议使用开源库,我总是可以查看代码,因此它也很有用.
在RIA域服务中,我添加了一些实用程序功能.比如我们......
public virtual CmsDealer GetCmsDealerById(string id)
{
return this.Context.CmsDealerSet
.Include("CmsItemState")
.FirstOrDefault(p => p.Id == id);
}
Run Code Online (Sandbox Code Playgroud)
现在,如果id是不存在的,那么该函数有它自己的问题,但现在让表格.重要的是函数编译和执行.
但是类似的功能......
public virtual void DeleteCmsDealerById(string id)
{
var dealer = this.Context.CmsDealerSet
.FirstOrDefault(d => d.Id == id);
if (dealer != null)
{
DeleteCmsDealer(dealer);
}
}
Run Code Online (Sandbox Code Playgroud)
抛出编译时错误.
*Parameter 'id' of domain method 'DeleteCmsDealerById' must be an entity type exposed by the DomainService, either directly via a query operation, or indirectly via an included association.*
Run Code Online (Sandbox Code Playgroud)
问题是,我可以理解(字符串id)参数不能被EF加入,但为什么在一种情况下它可以正常而不是另一种情况呢?
输入欢迎:)
我有以下情况。
我有一个导入 CSV 文件然后更新 postgres 数据库的 PHP 脚本
现在我需要在导入之前创建数据库的备份
PHP 文件在一台服务器上运行,而 postgres 数据库在另一台服务器上运行
我试过exec(pg_dump db_name -CdiOv > /tmp/db_name_backup.sql)但不认为这会起作用,因为数据库在另一台服务器上。
我不知道如何做到这一点,我可以在 PHP 中编写正确的代码来执行备份,但这需要很长时间才能运行。
任何广告将不胜感激
c# ×3
algorithm ×1
c++ ×1
coding-style ×1
css ×1
css3 ×1
geometry ×1
graphics ×1
heap ×1
mysql ×1
nsis ×1
oop ×1
php ×1
postgresql ×1
rasterizing ×1
refactoring ×1
reflection ×1
ria ×1
sql-server ×1