首页 > 开发 > 综合 > 正文

C# 积木模块 ABC(四)

2024-07-21 02:22:17
字体:
来源:转载
供稿:网友
如何从控制台读取数值?

下面解释如何从控制台获取一个输入值。如果使用的是c++,那么cin和cout就是向控制台读和写的函数。


在文本编辑器中输入这些代码,然后保存为read.cs:


using system;


class readstr

{

public static void main()

{

console.write("enter your name:");

string szname = console.readline();

console.writeline(" hey "+ szname);

}

}


然后在命令行编译它,格式是cs read.cs,这将创建一个exe文件read.exe,它与read.cs文件在同一目录下。最后,运行这个exe。

如何读取windows注册表信息?

在介绍如何读取注册表信息前,先解释如何增加注册条目。


1、增加注册表数据


以下文本是实际的注册信息。将这个内容复制并粘贴到一个文本文件中,将其保存扩展名为.reg的文件,然后双击这个文件进行注册表内容的输入操作。


/*windows registry editor version 5.00

[hkey_current_user/software/taw/bse]

"dsn"="tawreports"

"user"="taw1"

"password"="taw1.1"

"server"="dbserver"

"ip"=""

*/


2、阅读注册数据


2.1 创建两个registrykey变量。

2.2 创建一个内含od对象的类,第一个参数为hkey(主根关键字名),第二个为"",表示本地机器。

2.3 在要阅读信息的地方创建子关键字。

2.4 用registrykey类的getvalue方法来读取某一特定节点关键字信息的数据。在这里,dsn,server,password就是节点。


以下代码读取刚才加入到注册表中的注册数据:


namespace conapp

{

using system;

using microsoft.win32;


public class class1

{

public class1()

{

//

// todo: add constructor logic here

//

}


public static int main(string[] args)

{


registrykey subkey;

registrykey tawkay = registrykey.openremotebasekey(microsoft.win32.registryhive.currentuser,"");

string subkey = "software//taw//bse";

subkey = tawkay.opensubkey(subkey);

object dsn = subkey.getvalue("dsn");

object user = subkey.getvalue("user");

object password = subkey.getvalue("password");

object server = subkey.getvalue("server");

return 0;

}

}

}


这里是可下载代码包:http://www.mindcracker.com/csharp/1/read_reg.cs

使用系统剪贴板

这里要涉及的集合是system.winforms.dll,名称空间是system.winforms。


系统剪贴板是一个提供剪切和粘贴功能的缓冲空间。在c#中,clipboard类提供了将数据放在系统剪贴板以及从系统剪贴板恢复数据的方法。如果你曾经使用过c++中的clipboard,你应该记得idataobject,它提供了剪贴板的数据格式。在.net中,可以使用dataformat类,它执行idataobject,为数据传输提供了一种格式独立的结构。有关这方面的细节请看dataformat类的参考资料。


clipboard类只有3个成员,它们是剪贴板构造器、getdataobject和setdataobject。


剪贴板构造器


clipboad类直接从object类中派生出来。我们可以在应用程序中直接调用clipboard类,或者使用剪贴板构造器来创建一个剪贴板实例:


clipboard = new clipboard();


甚至可以直接在应用程序中调用clipboard:


idataobject idata = system.winforms.clipboard.getdataobject();


setdataobject方法


我们可以调用setdataobject方法实现在剪贴板上复制或剪切数据。setdataobject方法有两个定义:


public static void setdataobject(object);


这种方法使用了一个object类型参数,它可以是任何数据,比如说:


string str = "mahesh writing data to the clipboard";

setdataobject(str);


使用这个方法,就可以把任何类型的数据放在剪贴板上。


另外一种方法接受两个参数:


public static void setdataobject(object data, bool copy);


copy这个参数指明应用程序退出后,数据是否应该保留在剪贴板上。


string str = "mahesh writing data to the clipboard using copy bool";

setdataobject(str, true);



getdataobject方法


getdataobject方法负责从剪贴板中恢复当前数据,它将返回idataobject:


public static idataobject getdataobject();


比如说:


idataobject dtobj = clipboard.getdataobject();


现在就可以调用idataobject的getformats来找出剪贴板上的数据格式了,比如说:


private void cutcopydata()

{

clipboard.setdataobject(textbox1.selectedtext);

}


private void pastedata()

{

idataobject idata = clipboard.getdataobject();

//determine whether the data is in a format you can use.

if(idata.getdatapresent(dataformats.text))

{

string str = (string)idata.getdata(dataformats.text);

}

}


收集最实用的网页特效代码!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表