问题列表 - 第5040页

实现"脏"标志功能的不同方法

几乎每个程序员一生都做过一次:如果变量的值发生变化,设置一些标志.总有很多属性,如果有变化,你想跟踪

  1. 在任何财产
  2. 在特定的财产
  3. 或者在一些属性中

除了在每次属性更改时更新的标准对象范围脏标志之外,我对以上情况实现"脏标志"功能的不同方式感兴趣.必须有比在每个二传手中加入"dirty = true"更好的东西:它看起来很丑陋而且是一项繁琐的工作.

design-patterns

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

打开分号分隔的CSV文件

如何在Excel 2000中使用VBA打开以分号分隔的CSV文件?

样本数据

An ID;TEST20090222
A Name;Firstname Surname
A Date;11.05.2000

Country:;SomeCountryName
Currency;EUR
CostA;
CostB;
CostC;
Part1;10;20;30
Part2;;;;
Part3;34;56;87
Run Code Online (Sandbox Code Playgroud)

在带有VBA 6.5.1025的Excel 2003 11.8231.8221 SP3中,我可以使用以下VBA代码打开以分号分隔的文件:

Workbooks.OpenText filename:=myFilename, _
    DataType:=xlDelimited, Semicolon:=True, Local:=True
Run Code Online (Sandbox Code Playgroud)

但是,当在带有VBA 6.5.1025的Excel 2000 9.0.8961 SP1中运行相同的代码时,我收到以下错误:

编译错误:找不到命名参数

那是 - 我认为 - 因为Excel 2000不知道命名参数"Local".

因此,我删除了"Local:= True"部分.但问题是,CSV文件中的整行被写入一个单元格而不是分成单独的分号分隔部分.

我在互联网上搜索了一个解决方案,但没有发现任何有用和简洁的内容.

有任何想法吗?

[更新17.02.2009]

我尝试了用户lc和宏录制器的建议.然而,结果令人困惑.

当我使用菜单File-> Open ...打开CSV文件,然后选择CSV文件时,正确分析分号分隔数据.录制的代码非常简单:

Workbooks.Open filename:= _
               "D:\testdata\Example 01 CSV\input.csv"
Run Code Online (Sandbox Code Playgroud)

但是,当我在宏中使用该VBA代码时,每一行最终会再次出现在一个单元格中.

根据用户barrowc的建议,我还将Windows"区域和语言选项"设置从"德语(瑞士)"更改为"英语(美国)".即使重启Excel后,没有任何改变,同样的问题.

我想知道为什么它正在使用用户Remou的系统.您有哪些区域和语言设置?

csv excel-vba excel-2000

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

XSLT中的命名空间

我正在使用XSLT重构XML文件.以下代码将所有子节点复制到新的XML文件:

<!--Add all child elements of the zzz node-->
<xsl:template match="zzz">
    <Trade>
        <xsl:attribute name="ID">
            <xsl:value-of select="TradeId" />
        </xsl:attribute>
        <xsl:copy-of select="*"></xsl:copy-of>
    </Trade>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

我想修改代码,以便它将节点放入不在源文档中的特定命名空间.我需要改变什么?

xml xslt namespaces

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

如何扩展标记的枚举

我有一个像这样的组合键

Keys key=Keys.Control | Keys.Shift | Keys.D ...
Run Code Online (Sandbox Code Playgroud)

我不知道如何将键变量扩展为分离的Keys值.也许是这样的

foreach(Keys k in key)
{
   MessageBox.Show(k.ToString());
}
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎很愚蠢.这该怎么做?

c#

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

实体框架和多对多查询无法使用?

我正在尝试使用EF,我根据多对多关系进行了大量过滤.例如,我有人,地点和人员位置表来链接这两者.我也有角色和人员表.

EDIT: Tables:

Person (personid, name)

Personlocation (personid, locationid)

Location (locationid, description)

Personrole (personid, roleid)

Role (roleid, description)
Run Code Online (Sandbox Code Playgroud)

EF将为我提供人员,角色和位置实体.编辑:由于EF 不会生成personlocation和personrole实体类型,因此不能在查询中使用它们.

如何创建查询以向我提供具有给定角色的给定位置的所有人员?

在SQL中,查询将是

select p.*
from persons as p
join personlocations as pl on p.personid=pl.personid
join locations       as l  on pl.locationid=l.locationid
join personroles     as pr on p.personid=pr.personid
join roles           as r  on pr.roleid=r.roleid
where r.description='Student' and l.description='Amsterdam'
Run Code Online (Sandbox Code Playgroud)

我看了,但我似乎无法找到一个简单的解决方案.

.net many-to-many entity-framework

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

自定义ASP.NET MVC 404错误页面的路由

当有人键入不调用ASP.NET MVC中的有效操作或控制器的URL而不显示通用的"未找到资源"ASP.NET错误时,我试图创建自定义HTTP 404错误页面.

我不想使用web.config来处理这个问题.

是否有任何类型的路由魔法可以捕获任何无效的URL?

更新:我尝试了给出的答案,但我仍然得到丑陋的"资源未找到"消息.

另一个更新:好的,显然RC1中发生了一些变化.我甚至尝试过专门捕获404 HttpException,它仍然只是给了我"资源未找到"页面.

我甚至使用过MvcContrib的资源功能,没有 - 同样的问题.有任何想法吗?

asp.net asp.net-mvc custom-error-pages asp.net-mvc-routing http-status-code-404

116
推荐指数
7
解决办法
15万
查看次数

在MVC中,如何返回字符串结果?

在我的AJAX调用中,我想将一个字符串值返回给调用页面.

我应该使用ActionResult还是只返回一个字符串?

ajax asp.net-mvc actionresult

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

C#从计时器添加和删除事件

我试图从计时器添加和删除事件,我有以下代码:

Timer myTimer = new Timer(); // Windows.Forms Timer

public void addEvent(MyDelegate ev)
{
    myTimer.Tick += new EventHandler(ev);
}

public void removeEvent(MyDelegate ev)
{
    myTimer.Tick -= new EventHandler(ev);
}
Run Code Online (Sandbox Code Playgroud)

我不知道如果我在尝试以这种方式添加和删除委托时做了任何愚蠢的事情,我能够添加代理并按预期启动它们.但是,当我尝试删除事件时,它们会继续触发Timers Tick.

任何人都能看到明显错误吗?

c# event-handling

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

我执行ctrl c时调试分段错误

我取消程序时出现分段错误.我正在使用gdb进行调试,问题是当我在调试时按Ctrl-C gdb不会取消程序并执行它应该做的就是停止它.

我想要的是执行Ctrl-C并且不允许gdb停止它.有没有办法做到这一点?还有其他调试建议吗?我不能使用printf,因为我真的不清楚问题的来源.

debugging gdb copy-paste

22
推荐指数
3
解决办法
9809
查看次数

为什么(int)55 == 54在C++中?

所以我正在学习C++.我已经获得了"C++编程语言"和"有效的C++",而且我正在运行Project Euler.问题1 ... dunzo.问题2 ......没那么多.我在VS328上使用Win32控制台应用程序.

什么是斐波纳契数列的所有偶数项的总和低于400万?

它没有工作,所以我减少到100的测试用例......

这是我写的......

// Problem2.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    cout << "Project Euler Problem 2:\n\n";
    cout << "Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:\n\n";
    cout << "1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...\n\n";
    cout …
Run Code Online (Sandbox Code Playgroud)

c++ fibonacci

19
推荐指数
2
解决办法
6718
查看次数