小编Fab*_*mes的帖子

在Windows Forms C#应用程序中拥有配置文件的最简单方法

我是.NET的新手,我仍然没有了解配置文件的工作方式.

每次我在google上搜索它时都会得到关于web.config的结果,但我正在编写一个Windows窗体应用程序.

我发现我需要使用System.Configuration命名空间,但文档没有帮助.

如何定义我的配置文件是XYZ.xml?或者它是否具有配置文件的"默认"名称?我仍然没有得到那个.

另外,如何定义新的部分,我真的需要创建一个继承自ConfigurationSection的类吗?

我想要一个包含这样的值的配置文件:

<MyCustomValue>1</MyCustomValue>
<MyCustomPath>C:\Some\Path\Here</MyCustomPath>
Run Code Online (Sandbox Code Playgroud)

有一个简单的方法吗?您能以简单的方式解释如何从/向简单的配置文件进行读写吗?

.net xml configuration winforms

85
推荐指数
6
解决办法
22万
查看次数

从csv文件生成插入SQL语句

我需要将一个csv文件导入Firebird,我花了几个小时尝试一些工具,但没有一个适合我的需求.

主要的问题是我一直在尝试的所有工具,如EMS数据导入Firebird数据向导,我希望我的csv文件包含我的表所需的所有信息.

我需要在insert语句中编写一些自定义SQL,例如,我有一个带有城市名称的cvs文件,但由于我的数据库已经有另一个表中的所有城市(规范化),我需要在插入中编写一个子选择查找城市并写入其ID的语句,我也有一个存储过程来创建GUID.

我的Insert语句是这样的:

INSERT INTO PERSON (ID, NAME, CITY_ID) VALUES((SELECT NEW_GUID FROM CREATE_GUID), :NAME, (SELECT CITY_ID FROM CITY WHERE NAME = :CITY_NAME)
Run Code Online (Sandbox Code Playgroud)

我知道写一个应用程序来做这个很容易,但我不喜欢重新发明轮子,我确信有一些工具可以做到这一点.

你们能给我一些建议吗?

sql csv firebird insert

53
推荐指数
5
解决办法
8万
查看次数

有没有办法在TortoiseSVN中"部分"提交文件?

我想使用TortoiseSVN只提交一个文件的一部分,有没有办法做到这一点?

我举一个例子,让我更清楚为什么要这样做.

我有一个文件,其中包含一些在构建过程中被替换的定义,如下所示:

#define SOME_PATH "[SOME_PATH]"
Run Code Online (Sandbox Code Playgroud)

这个[SOME_PATH]标签在构建过程中被替换,但是当我编码时,我必须更改它以便在我的机器中实际路径.

因此,每次我提交时,我需要备份一些行,还原它们,提交然后恢复备份,这有点烦人.

有没有办法告诉TortoiseSVN"忽略"X,Y和Z行的某些变化?

svn tortoisesvn

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

查找字符串是否在列表中的最佳方法(无泛型)

我想做这样的事情:

Result = 'MyString' in [string1, string2, string3, string4];
Run Code Online (Sandbox Code Playgroud)

这不能用于字符串,我不想做这样的事情:

Result = (('MyString' = string1) or ('MyString' = string2));
Run Code Online (Sandbox Code Playgroud)

另外我认为创建一个StringList来做这件事太复杂了.

有没有其他方法来实现这一目标?

谢谢.

delphi delphi-2007

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

如何获取TWinControl的X,Y位置(相对于屏幕)

我试图在TWinControl中显示自定义提示,但我无法弄清楚如何获得它的位置.

使用位置0,0显示屏幕顶部(窗口外)的提示,所以我猜它必须是屏幕上控件的位置.

编辑:

我找到了TControl Property ClientOrigin,它返回了我的预期,使用ClientOrigin.X和ClientOrigin.Y是否正确?

delphi delphi-2009

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

在Delphi的SOAP Header中发送简单的字符串

我需要发送这样的东西:

   <soapenv:Header>
      <ser:userName>admin</ser:userName>
      <ser:userPassword>secret</ser:userPassword>
   </soapenv:Header>
Run Code Online (Sandbox Code Playgroud)

Delphi WSDL导入器,生成了这个:

  userName2 = class(TSOAPHeader)
  private
    FValue: string;
  published
    property Value: string  read FValue write FValue;
  end;

  userName      =  type string;

  WsService = interface(IInvokable)
    function call(const userName: userName; const userPassword: userPassword);
Run Code Online (Sandbox Code Playgroud)

并注册类型:

  InvRegistry.RegisterHeaderClass(TypeInfo(WsService), userName2, 'userName', 'http://localhost/path/to/services');
Run Code Online (Sandbox Code Playgroud)

问题是当我使用delphi生成的代码调用它时,它将userName和密码放在SOAP消息的Body部分中,而不是在Header中.

所以我尝试自己发送标题,如下所示:

将类型定义更改为从userName2类继承,因为我无法使用ISOAPHeaders.Send()方法发送字符串.

userName = class(userName2);        
Run Code Online (Sandbox Code Playgroud)

然后发送标题:

user := userName.Create;
user.Value := 'admin';

WS := GetWsService;
(WS as ISOAPHeaders).Send(user);
Run Code Online (Sandbox Code Playgroud)

现在标题位于正确的位置,但它们的发送方式如下:

<SOAP-ENV:Header>
    <NS1:userName xmlns:NS1="http://localhost/path/to/services">
        <Value xmlns="http://localhost/path/to/services">admin</Value>
    </NS1:userName>
</SOAP-ENV:Header>
Run Code Online (Sandbox Code Playgroud)

几乎在那里,但我不想要"Value"属性,我只想在标题中使用简单的标签.

我该怎么做?

谢谢.

==编辑==

根据要求,WSDL在这里:http://desenvolvimento.lemontech.com.br …

delphi soap web-services delphi-xe2

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

Delphi在.dpr文件中添加{$ R*.res}

Delphi有时会在.dpr文件中的单元路径前面添加{$ R*.res}使用子句,然后在尝试编译时会收到重复的资源警告.

任何人都知道德尔福为什么这么做?我正在使用Delphi 2009但这种情况发生在Delphi 2007之后(也可能是2006年)

delphi

11
推荐指数
4
解决办法
7153
查看次数

新创建的模式窗口在Windows Vista中失去焦点并变得无法使用

有时当我在我的Delphi应用程序中打开一个模态窗口需要一段时间才能显示,然后我注意到应用程序被阻止了,发生了什么是模式窗体是用ShowModal打开但是没有显示和应用程序被锁定,好像模态窗口在第一层.

通常当发生这种情况时,我必须使用Alt + Tab或Windows + Tab来查找"隐藏"模式窗口,但这并不是每次都有效.

这种行为恰好发生在Vista中,但它非常烦人.

有没有办法防止这种"焦点怪异"发生?

谢谢.

*编辑*

显然设置Application.MainFormOnTaskbar:= True解决了这个问题,但现在推迟得出结论还为时尚早,因为这是随机发生的.

*编辑2*

ModalFormOnTaskbar没有解决问题,之后我尝试设置PopupMode = pmAuto,但这只会让问题变得更糟.

现在我正在尝试显式设置PopupParent,并会告诉您问题是否已解决.

windows delphi windows-vista

10
推荐指数
2
解决办法
6417
查看次数

如何在SQL Server 2008 Express中使用SQL Server Management Studio启用全文索引?

我使用这里描述的命令完成它并且它可以工作,但我想使用SQL Management Studio来完成它.

SQL Server 2008联机丛书说:

要创建全文目录:

  1. 在对象资源管理器中,展开服务器,展开" 数据库",然后展开要在其中创建全文目录的数据库.

  2. 展开" 存储",然后右键单击"全文目录".

选择" 新建全文目录".

在"新建全文目录"对话框中,指定要重新创建的目录的信息.有关更多信息,请参阅新的全文目录(常规页面).

单击确定.

我的SQL Server Management Studio中没有Storage这样的选项.

我错过了什么吗?

sql-server ssms sql-server-2008

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

找不到wintypes.dcu,代码完成停止工作

我收到错误:在Delphi 2009 IDE中每天多次发现wintypes.dcu,此错误代码完成停止工作后,我也无法用Ctrl + Click打开任何单元的源代码,然后我必须重新打开IDE来修复它.

任何人都知道可能导致这种情况的原因是什么?

我安装的唯一IDE扩展是GExperts.

delphi delphi-2009

8
推荐指数
2
解决办法
6208
查看次数