问题列表 - 第10364页

我怎样才能将dateTimePicker中的日期放入变量?

我正在使用C#和WinForms来尝试将dateTimePicker中的日期放入变量中.但我不断得到日期和时间.在下面的示例中,textBox1显示了我正在寻找的内容.但我无法弄清楚如何为textBox2做同样的事情.它给出了日期和时间.这不是我在我的应用程序中使用的确切代码,而是用作示例的简化示例.如何修改它以满足我的需要?谢谢.

    private void dateTimePicker1_CloseUp(object sender, EventArgs e)
    {
        DateTime varDate;

        textBox1.Text = dateTimePicker1.Value.ToShortDateString();

        varDate = dateTimePicker1.Value;
        textBox2.Text = Convert.ToString(varDate);
    }
Run Code Online (Sandbox Code Playgroud)

c# datetime winforms

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

使用c ++生成const对象

说每次使用强制转换时,生成的对象是一个const对象是否正确?

...因此,如果该函数将其作为const对象接受,则只能用作函数的参数?

例如

class C1 {
    public: C1(int i=7, double d = 2.5){};
};

void f(C1& c) {};

int main(){
    f(8);
    return 1;
}
//won't compile
Run Code Online (Sandbox Code Playgroud)

(当然,如果f(....)按值接收参数,那么它将获得一个非常可用的非const版本)

c++ casting

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

为什么这段代码没有尝试使用Hamcrest的hasItems编译?

为什么这不编译,哦,该怎么办?

import static org.junit.Assert.assertThat;
import static org.junit.matchers.JUnitMatchers.hasItems;

ArrayList<Integer> actual = new ArrayList<Integer>();
ArrayList<Integer> expected = new ArrayList<Integer>();
actual.add(1);
expected.add(2);
assertThat(actual, hasItems(expected));
Run Code Online (Sandbox Code Playgroud)

从评论中复制的错误:

cannot find symbol method assertThat(java.util.ArrayList<java.lang.Integer>, org.hamcreset.Matcher<java.lang.Iterable<java.util.ArrayList<java.lang.Integer>>>)
Run Code Online (Sandbox Code Playgroud)

java junit unit-testing hamcrest matcher

55
推荐指数
3
解决办法
8万
查看次数

自动更新Windows服务

我即将开发一个程序,该程序将作为Windows服务在几个客户端的后端服务器(具有Internet访问权限)上安装和运行.我没有物理访问服务器.我正在研究的是一个可靠地推出程序更新的方案.

我花了很多时间寻找Windows服务自动更新的最佳实践,但却找不到有用的信息.大多数技术,如ClickOnce,似乎主要适用于基于Windows窗体的应用程序.

我目前的计划是:

  • 更新可用时,让正在运行的服务下载,安装并启动更新服务.
  • 更新服务将下载新版本的主服务,并将其安装在当前仍处于活动状态的版本的旁边.
  • 更新服务接下来停止旧版本,然后启动新版本的服务.
  • 新版本在启动期间禁用更新服务.

对我来说一些重要的问题是:

  • 能够处理主服务和更新服务的更新
  • 能够在更新过程中的任何时候处理电源故障或连接故障等中断

我们想知道的是,这是解决这个问题的常用方法和/或我是否遗漏了任何关键问题.这太复杂了,还是太简单了?你会怎么做(或者,更好的是,你是如何成功完成的)?

谢谢!

windows-services auto-update

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

RegEx获取IP地址之间的数字?

假设你有一个IP地址:74.125.45.100所以它的ABCD

有没有办法使用RegEx分别获得A,B,C?

regex

2
推荐指数
3
解决办法
2324
查看次数

混合Hamcrest和TestNG

有没有人将Hamcrest与TestNG集成在一起,以便它的匹配器可以很容易地用于TestNG断言?

java testng hamcrest

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

单元测试和检查私有变量值

我正在用C#,NUnit和Rhino Mocks编写单元测试.以下是我正在测试的类的相关部分:

public class ClassToBeTested
{
    private IList<object> insertItems = new List<object>();

    public bool OnSave(object entity, object id)
    {
        var auditable = entity as IAuditable;
        if (auditable != null) insertItems.Add(entity);

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

我想在调用OnSave后测试insertItems中的值:

[Test]
public void OnSave_Adds_Object_To_InsertItems_Array()
{
     Setup();

     myClassToBeTested.OnSave(auditableObject, null);

     // Check auditableObject has been added to insertItems array            
}
Run Code Online (Sandbox Code Playgroud)

这是什么最好的做法?我曾考虑将insertItems作为一个带有公共get的Property添加,或者将List注入ClassToBeTested,但不确定我是否应该修改代码以进行测试.

我已经阅读了许多关于测试私有方法和重构的帖子,但这是一个非常简单的类,我想知道什么是最好的选择.

c# nunit unit-testing

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

交织的团队网站

任何人都有Teamsite的经验,我可以使用一些建议......

html css xml teamsite

-2
推荐指数
2
解决办法
1583
查看次数

解析维基媒体标记 - 基于EBNF的解析器是不是很适合?

我试图解析(在Java中)维基百科上的Wikiimedia标记.有许多现有的包用于此任务,但我没有发现任何特别适合我的需求.我使用过的最好的软件包是Mathclipse Bliki解析器,它在大多数页面上都做得不错.

但是,此解析器不完整,无法解析某些页面或无法正确解析其他页面.可悲的是,代码相当混乱,因此修复此解析引擎中的问题非常耗时且容易出错.

在尝试找到一个更好的解析引擎时,我已经研究过使用基于EBNF的解析器来完成这项任务(特别是ANTLR).经过一些尝试后,似乎这种方法并不特别适合这项任务,因为维基媒体标记相对宽松,因此不能轻易地融入结构化语法.

我对ANTLR和类似解析器的经验非常有限,因此可能是我的经验不足导致问题,而不是这样的解析器天生就不适合这项任务.任何对这些话题有更多经验的人都可以在这里说点吗?

@Stobor:我已经提到我已经查看了各种解析引擎,包括谷歌查询返回的引擎.到目前为止我发现的最好的是Bliki引擎.问题是修复这些解析器的问题变得非常繁琐,因为它们本质上都是条件和正则表达式的长链,导致意大利面条代码.我正在寻找更类似于EBNF解析方法的东西,因为该方法更清晰,更简洁,因此更容易理解和发展.我已经看过你发布的mediawiki链接,似乎证实了我怀疑开箱即用的EBNF不适合这个任务.因此,我正在寻找一个像EBNF一样清晰易懂的解析引擎,但也能够处理wiki标记的混乱语法.

java parsing antlr ebnf wikitext

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

如果循环体中的长度变小,如何更新最大循环长度?

我有以下数组.

<cfset ItemHasUsers = arrayNew(1)>
<cfloop query="qReadData">
 <cfset ItemHasUsers[qReadData.currentrow]["ID"] = qReadData.ID >
 <cfset ItemHasUsers[qReadData.currentrow]["Asset"] = qReadData.COUNTOFITEMS >
</cfloop>
Run Code Online (Sandbox Code Playgroud)

我从我的数据库中获取了一些记录,这些记录放入表中并通过表单进行操作.

<form action="same-site.cfm method="post">
<table>
 <tr>
  <th>ID</th>
  <th>Asset</th>
  <th>Delete</th>
 <tr>
<cfset ItemHasUsers = Item.getItemHasUsers() >
<cfoutput>
<cfloop index="i" from="1" to="#arrayLen(ItemHasUsers)#">
  <td>#ItemHasUsers[i]["ID"]#</td>
  <td><input type="text" name="upd_#ItemHasUsers[i]["ID"]#" maxlength="6" size="6" value="#ItemHasUsers[i]["Asset"]#"></td>
  <td><input type="checkbox" name="del_#ItemHasUsers[i]["ID"]#"></td>
 </tr>
</cfloop>
</cfouput>
</table>
<input type="submit" value="OK">
</form>
Run Code Online (Sandbox Code Playgroud)

依赖我的输入我想更新我的数据库.目前我循环通过表单结构来清除我想要删除的用户.看起来很丑,但我不知道更好的方法 - >看初学者标签;)

<cfset ItemHasUsers = Item.getItemHasUsers() >
<cfloop collection="#form#" item="key">
 <cfif left(key,len("DEL_")) eq ("DEL_")>
  <cfset Id = listLast(key,"_") >
  <cfloop index="i" from="1" to="#arrayLen(ItemHasUsers)#"> …
Run Code Online (Sandbox Code Playgroud)

arrays coldfusion loops

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