如何從控制台讀取數值?
下面解釋如何從控制台獲取一個輸入值。如果使用的是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;
&
[1] [2] [3] 下一頁
nbsp; }
}
}
這裡是可下載代碼包: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);
}
}
上一頁 [1] [2] [3] 下一頁
上一頁 [1] [2] [3]