2010年2月26日 星期五

[C#] 方法的使用

第一種是 呼叫方法(只有執行)
private void Form1_Load(object sender, EventArgs e)
{
CALL_BG();
}
           private void CALL_BG()
          {
//這裡寫上要做的事情
}
第二種 呼叫方法同時將值 傳給副程式執行
private void Form1_Load(object sender, EventArgs e)
{
string aa = "abc";
CALL_BG(aa);
}
private void CALL_BG(string aa)
{
aa = aa + "12345";
MessageBox.Show(aa);
}
第三種 傳入 、處理後 傳出
 private void Form1_Load(object sender, EventArgs e)
{
string aa = "abc";
string bb=CALL_BG(aa);
MessageBox.Show(bb);
}
private string CALL_BG(string aa)
{
string CALL_BG_FB = aa + "12345";
return CALL_BG_FB;
}

2010年2月11日 星期四

[C#] Region 註解


用來 Mark 大範圍程式碼 區塊 ,識別使用





使用後效果


[C#] enum 列舉

剛剛伙伴教我的,第一次使用

用來做流程控制最好了,而且還支援中文  :)

2010年2月3日 星期三

[C#] FTP 下載單一檔案(WebClient)

網路上有說,使用 WebClient 的作法碰到取很大檔案時 會有 timeout 問題,
目前自己測試 16MB 單檔是沒有問題。

using System.Net;
using System.IO;
----------------------------------
WebClient RMS = new WebClient();
RMS.Credentials = new NetworkCredential("ubuntu", "zzzzzz");
string FILE_NAME = "新增文字文件.txt";
byte[] fildData = RMS.DownloadData("ftp://10.1.1.195/tools/"+FILE_NAME);
FileStream file = File.Create(@"C:\Users\kuoming\Desktop\" + FILE_NAME);
file.Write(fildData, 0, fildData.Length);
file.Close();
listBox1.Items.Add(FILE_NAME);


完整程式碼:

 
 
 
 
 
using System;


using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Net;

using System.IO;



namespace _20100203_FTP_Client_test

{

public partial class Form1 : Form

{

string FILE_NAME = "";

public Form1()

{

InitializeComponent();

}



private void Form1_Load(object sender, EventArgs e)

{

this.Text= "目前目錄 為 10.1.1.195 / TOOLS ";

button1.Text = "Download";

listBox1.Items.AddRange(GetFileList());

listBox1.Sorted = true;

}



private void GET_FILE()

{

try

{

WebClient RMS = new WebClient();

RMS.Credentials = new NetworkCredential("ubuntu", "zzzzzz");

byte[] fildData = RMS.DownloadData("ftp://10.1.1.195/tools/" + FILE_NAME);

FileStream file = File.Create(@"C:\Users\kuoming\Desktop\" + FILE_NAME);

file.Write(fildData, 0, fildData.Length);

file.Close();

MessageBox.Show("OK");

}

catch (Exception QQ)

{

MessageBox.Show("目前不支援目錄下載...");

}



}



public string[] GetFileList()

{

string[] downloadFiles;

StringBuilder result = new StringBuilder();

FtpWebRequest reqFTP;

try

{

reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + "10.1.1.195" + "/tools/"));

reqFTP.UseBinary = true;

reqFTP.Credentials = new NetworkCredential("ubuntu", "zzzzzz");

reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;

WebResponse response = reqFTP.GetResponse();

StreamReader reader = new StreamReader(response.GetResponseStream());

string line = reader.ReadLine();

while (line != null)

{

result.Append(line);

result.Append("\n");

line = reader.ReadLine();

}

result.Remove(result.ToString().LastIndexOf('\n'), 1);

reader.Close();

response.Close();

return result.ToString().Split('\n');

}

catch (Exception ex)

{

System.Windows.Forms.MessageBox.Show(ex.Message);

downloadFiles = null;

return downloadFiles;

}

}



private void button1_Click(object sender, EventArgs e)

{

FILE_NAME = listBox1.SelectedItem.ToString();

GET_FILE();

}



}

}