问题解答集

 

目录

问题解答集目录    1

修订历史纪录    2

1 自动填写并提交表单的方法    4

1.1 使用WebClient    4

1.2 HttpWebRequest     4

2 比较两个文件    5

3 打开文件和删除文件    5

4 修改当前修改当前程序运行目录debug下的app.config文件?    5

5 如何使用相对路径    6

6 创建文件夹    6

7 显示月历的显示日期      6

1 自动填写并提交表单的方法

1.1 使用WebClient

  // 要提交表单的URI字符串。

       string uriString = "http://www.xxx.com/Login.aspx";

       // 要提交的字符串数据。

       string postString = "userName=user1&password=password1";

       // 初始化WebClient

       WebClient webClient = new WebClient();

       webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");

       // 将字符串转换成字节数组

       byte[] postData = Encoding.ASCII.GetBytes(postString);

       // 上传数据,返回页面的字节数组

       byte[] responseData = webClient.UploadData(uriString, "POST", postData);

       // 返回的将字节数组转换成字符串(HTML)

       string srcString = Encoding.UTF8.GetString(responseData);

1.2 HttpWebRequest

private bool  PostWebRequest()        

        {

                   CookieContainer cc = new CookieContainer();

                    string pos tData = "user=" + strUser + "&pass=" + strPsd;

                    byte[] byteArray = Encoding.UTF8.GetBytes(postData); // 转化

                    HttpWebRequest webRequest2 = (HttpWebRequest)WebRequest.Create(new Uri("http://www.xxxx.com/chk.asp"));

                    webRequest2.CookieContainer = cc;

                    webRequest2.Method = "POST";

                    webRequest2.ContentType = "application/x-www-form-urlencoded";

                    webRequest2.ContentLength = byteArray.Length;

                    Stream newStream = webRequest2.GetRequestStream();

                    // Send the data.

                    newStream.Write(byteArray, 0, byteArray.Length);    //写入参数

                    newStream.Close();

                    HttpWebResponse response2 = (HttpWebResponse)webRequest2.GetResponse();

                    StreamReader sr2=new StreamReader(response2.GetResponseStream(), Encoding.Default);

                    string text2 =  sr2.ReadToEnd();

2 比较两个文件

    如果传递给函数的两个文件引用是指向相同的文件,则这两个文件一定相同,也就不需要进一步比较文件的内容。

如果两个文件的大小不相同,则这两个文件的内容一定不相同,也就不需要进一步比较文件的内容。

如果不满足上述两种情况,则逐一比较两个文件的每一个字节,直到发现不相符或已到达文件尾端为止。

do{

// 从每一个文件读取一个字节。

file1byte = fs1.ReadByte();

file2byte = fs2.ReadByte();

}while ((file1byte == file2byte) && (file1byte != -1));

3 打开文件和删除文件

打开文件

System.Diagnostics.Process.Start(@路径);

删除文件

System.IO.File.Delete(路径);

4 修改当前修改当前程序运行目录debug下的app.config文件

/// </summary>

/// <param name="strProgramName">string: 文件名</param>

/// <param name="strKey">string: config文件中的键名</param>

/// <param name="strValue">string: 相应的键值</param>

public void UpdateConfig(string strKey, string strValue)

{

//            System.Reflection.Assembly ass = System.Reflection.Assembly.GetExecutingAssembly();

//            string strFileName = ass.Location.Substring(0, (Asm.Location.LastIndexOf("\\") + 1) ) + strProgramName +".exe.config";

XmlDocument xmlDoc = new XmlDocument();

string strFileName = AppDomain.CurrentDomain.BaseDirectory.ToString() + "loginnew.exe.config";

xmlDoc.Load(strFileName);

string xPath = @"//add[@key='" + strKey.Trim() + "']";

XmlNode node = xmlDoc.SelectSingleNode(xPath);

XmlElement ele = (XmlElement)node;

ele.SetAttribute("value", strValue);

xmlDoc.Save(strFileName);

}

5 如何使用相对路径

Application.StartupPath+"\\文件名";

6 创建文件夹

 Directory.CreateDirectory(路径:\\文件夹名);

7 显示月历的显示日期  

string strdate = monthCalendar1.SelectionStart.ToString("yyyy-MM-dd");

你可能感兴趣的:(题解)