問題解答集

2021-09-05 18:11:24 字數 3426 閱讀 7144

問題解答集目 錄    1

目 錄    2

修訂歷史紀錄    3

1 什麼是visual studio.net    4

1.1 visual studio.net 簡介    4

1.2 net framework-microsoft visual studio.net 簡介    4

2 update程式問題    5

2.2 如何獲取檔案的大小    5

2.3 如何使用進度條    6

2.4 timer控制項的使用    6

2.6 如何間隔重新整理顯示的資料    8

2.6 如何實現斷點續傳    9

visual studio.net是.net平台下最為強大的開發工具,無論是軟體服務商,還是企業應用程式的部署與發布,visual studio.net都可以提供近乎完美的解決方案。visual studio.net提供了包括設計、編碼、編譯除錯、資料庫聯接操作等基本功能和基於開放架構的伺服器元件開發平台、企業開發工具和應用程式重新發布工具以及效能評測報告等高階功能。

可以使用:

system.net.webclient client = new

webclient();

client.downloadfile(source, direction);

其中source和direction分別是檔案的源位址和目的位址。

// 獲取檔案的大小

totalbytes的值就是檔案大小,檔案大小在使用進度條和計算速度的時候會用到。

進度條是visual studio中的乙個控制項,將控制項拖到所需地方,在**中設定其屬性即可:

// 顯示進度條

prog.maximum = (int)totalbytes;

system.io.stream st = myrp.getresponsestream();

system.io.stream so = new system.io.filestream(direction, system.io.filemode.create);

long totaldownloadedbyte = 0;

this.timer1.enabled = true;

byte by = new

byte[1024];

int osize = st.read(by, 0, (int)by.length);

while (osize > 0)

this.timer1.enabled = false;

so.close();

st.close();

} timer控制項是乙個計時工具:

this.timer1.enabled = true;

表示開始計時,

this.timer1.enabled = false;

表示結束計時,

計時的時間間隔是通過間隔屬性設定的,如圖:

此中的"1000"表示每隔1000毫秒執行一次timer控制項類中的**。

根據從2.2中獲得的檔案大小,2.4中計時得到的時間,通過計算即可得到,**如下:

if (totaldownloadedbyte / (1024 * totalseconds * 1024) <= 0)

this.label3.text = "平均速度:" + (totaldownloadedbyte / (1024 * totalseconds)) + "kb/s";

else

this.label3.text = "平均速度:" + system.math.round(((float)totaldownloadedbyte / (1024 * totalseconds * 1024)), 2) + "mb/s";

if (totaldownloadedbyte / (1024 * 1024) <= 0)

else

this.label8.text = convert.tostring(totalseconds);

如果直接使用2.5中的**,會出現重新整理頻率太快的現象,以至於會使頁面看起來比較亂,所以需要間隔一小段時間重新整理的效果。使用迴圈即可實現,而且可以根據需求修改時間間隔:

int aaa = 0;

while ()

aaa++;

} 完成http請求

httpwebrequest 類對 webrequest 中定義的屬性和方法提供支援,也對使使用者能夠直接與使用 http 的伺服器互動的附加屬性和方法提供支援。

httpwebrequest 將傳送到 internet 資源的公共 http 標頭值公開為屬性,由方法或系統設定。下表包含完整列表。可以將 headers 屬性中的其他標頭設定為名稱/值對。但是注意,某些公共標頭被視為受限制的,它們或者直接由 api公開,或者受到系統保護,不能被更改。range也屬於被保護之列,不過,.net為開發者提供了更方便的操作,就是 addrange方法,向請求新增從請求資料的開始處或結束處的特定範圍的位元組範圍標頭

完成檔案訪問

system.io.filestream

filestream 物件支援使用seek方法對檔案進行隨機訪問, seek 允許將讀取/寫入位置移動到檔案中的任意位置。這是通過位元組偏移參考點引數完成的。位元組偏移量是相對於查詢參考點而言的,該參考點可以是基礎檔案的開始、當前位置或結尾,分別由seekorigin類的三個屬性表示。

**如下:

static void main(string args)

else

//開啟網路連線

通過"選項",可以設定適合自己的屬性:

參考資料見《[faq]蔡培森2007912.chm》

問題解答集

編寫程式時,有時需要使用到測試檔案來測試程式的正確性,就需要在程式的專案目錄下新增測試檔案,以關聯程式 使以.test為字尾名的檔案關聯到記事本 為例,需要建立乙個.test檔案 這裡用haha.test 如圖1 1 圖1 1 選中haha.test,將 屬性 框中的 複製到輸出目錄 設成 始終複製...

問題解答集

問題解答集 1 目錄 2 問題解答 4 1.怎樣將string型別向boolean轉換的方法 4 2.怎樣獲取xml屬性名稱 4 3.資料庫及sql語句中關鍵字的使用 4 4.怎樣使用sql語句插入bit型資料 4 將string型變數轉換成boolean型變數的方法,使用convert.toboo...

問題解答集

編寫程式時,有時需要使用到測試檔案來測試程式的正確性,就需要在程式的專案目錄下新增測試檔案,以關聯程式 使以.test為字尾名的檔案關聯到記事本 為例,需要建立乙個.test檔案 這裡用haha.test 如圖1 1 圖1 1 選中haha.test,將 屬性 框中的 複製到輸出目錄 設成 始終複製...