我寫了一段代碼,注意你讀取的方法,我改進(jìn)了一下 Imports System.IO ‘代碼窗體的最上端一定要聲明
創(chuàng)新互聯(lián)主要為客戶提供服務(wù)項(xiàng)目涵蓋了網(wǎng)頁視覺設(shè)計(jì)、VI標(biāo)志設(shè)計(jì)、營銷網(wǎng)站、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式重慶網(wǎng)站建設(shè)公司、成都做手機(jī)網(wǎng)站、微商城、網(wǎng)站托管及網(wǎng)站維護(hù)、WEB系統(tǒng)開發(fā)、域名注冊、國內(nèi)外服務(wù)器租用、視頻、平面設(shè)計(jì)、SEO優(yōu)化排名。設(shè)計(jì)、前端、后端三個(gè)建站步驟的完善服務(wù)體系。一人跟蹤測試的建站服務(wù)標(biāo)準(zhǔn)。已經(jīng)為門簾行業(yè)客戶提供了網(wǎng)站建設(shè)服務(wù)。
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sr As StreamReader Dim TextBox As Control
Dim i As Integer
i = 1
For Each TextBox In Me.Controls
If TypeName(TextBox) = "TextBox" Then sr = New StreamReader("c:\save\" i ".ini", System.Text.Encoding.Default) ’注意選擇編碼方式,按你原來的方法,未設(shè)置編碼,顯示的是亂碼!路徑請按你的情況改! TextBox.Text = sr.ReadToEnd()
i += 1 End If
Next
MsgBox("已經(jīng)載入" i - 1 "個(gè)文件") End Sub注意:這樣的代碼是倒序的,第一個(gè)文本框顯示的是最后一個(gè)文件的內(nèi)容!請酌情處理!
值傳遞和地址傳遞(引用)的而導(dǎo)致的問題。
在For Each 的時(shí)候
當(dāng)對(duì)象是值對(duì)象的時(shí)候,等于獲得到一個(gè)副本。
當(dāng)對(duì)象是引用對(duì)象的時(shí)候,則是獲得到一個(gè)指針。
而在For To 的時(shí)候 無論對(duì)象是什么,你都獲得到這個(gè)集合指定位置的指針。
更詳細(xì)的,可以請參考以下內(nèi)容,或直接去官方的MSDN了解
關(guān)于值類型和引用類型:
如果數(shù)據(jù)類型在它自己的內(nèi)存分配中存儲(chǔ)數(shù)據(jù),則該數(shù)據(jù)類型就是“值類型”。“引用類型”包含指向存儲(chǔ)數(shù)據(jù)的其他內(nèi)存位置的指針。
值類型值類型包括:
所有數(shù)字?jǐn)?shù)據(jù)類型
Boolean、Char 和 Date
所有結(jié)構(gòu),即使其成員是引用類型
枚舉,因?yàn)槠浠A(chǔ)類型總是 SByte、Short、Integer、Long、Byte、UShort、UInteger 或 ULong
引用類型引用類型包括:
String
所有數(shù)組,即使其元素是值類型
類類型,如 Form
委托
非類型的元素以下編程元素未限定為類型,因?yàn)槟鸁o法將它們中的任何一個(gè)指定為聲明元素的數(shù)據(jù)類型:
命名空間
模塊
事件
屬性和過程
變量、常數(shù)和字段
使用對(duì)象數(shù)據(jù)類型可以將引用類型或值類型指派給 Object 數(shù)據(jù)類型的變量。Object 變量總是存儲(chǔ)指向數(shù)據(jù)的指針,從不存儲(chǔ)數(shù)據(jù)本身。然而,如果將值類型指派給 Object 變量,則 Object 變量將表現(xiàn)得像存儲(chǔ)自己的數(shù)據(jù)一樣。有關(guān)更多信息,請參見 Object 數(shù)據(jù)類型。通過將 Object 變量傳遞給 Microsoft.VisualBasic 命名空間中 Information 類的 IsReference 方法,可以確定該變量是用作引用類型還是值類型。如果 Object 變量的內(nèi)容表示引用類型,則 Information.IsReference 返回 True。
你確信只循環(huán)一次嗎?我看不像,在最后添加上一句msgbox jishu1,多半顯示3。
是在第二塊代碼中有問題,你應(yīng)該把chaxun4 = xlsheet.Range("l1").Value + 2分別放到兩個(gè)條件句中初始chaxun4變量。
因?yàn)樯弦粋€(gè)Do Until atmbianhaop = xlsheet.Range("B" chaxun4).Value 循環(huán)退出后,下一個(gè)循環(huán)一開始就符合退出條件了,所以循環(huán)沒有進(jìn)行了。
要弄清楚這兩個(gè)問題,就要明白For循環(huán)語句的語法規(guī)則:
For循環(huán)語句,首先是判斷循環(huán)條件,如果循環(huán)條件不合理,則循環(huán)不執(zhí)行。
那么看第一個(gè)語句,循環(huán)范圍是 i = -3.5 to 5.5,顯然這個(gè)是一個(gè)從-3.5到5.5的遞增范圍,可是后面的Step卻是一個(gè)負(fù)數(shù),表示以0.5的步長遞減。取值范圍要求從小到大,可是步長改變卻是由大變小,顯然這個(gè)循環(huán)條件自相矛盾,所以循環(huán)將不會(huì)執(zhí)行,也就是循環(huán)執(zhí)行的次數(shù)是0次!
如果循環(huán)條件合理,則開始執(zhí)行循環(huán)語句,直到根據(jù)步長變換,下一個(gè)值超出循環(huán)范圍則終止。
For j = 6 to 2 Step -2
Next
完整寫法就是:
For j = 6 to 2 Step -2
Next j
Next j的意思就是下一個(gè)j值。結(jié)合本題,下一個(gè)j值等于6-2=4,這個(gè)時(shí)候,就是循環(huán)語句的第二個(gè)規(guī)則,判斷循環(huán)變量的值是否超出循環(huán)范圍,我們這里的j=4,顯然是在6 to 2這個(gè)范圍之內(nèi),所以循環(huán)繼續(xù),到下一個(gè)j的時(shí)候?yàn)?,依然在循環(huán)范圍內(nèi);到這里,6,4,2我們的循環(huán)執(zhí)行了3次,準(zhǔn)備第4次循環(huán)的時(shí)候j = 2 -2 = 0超過了6 to 2這個(gè)范圍,那么循環(huán)終止。
所以i循環(huán)內(nèi)的每一個(gè)j循環(huán)將執(zhí)行3次。
for它可以一次也不執(zhí)行。
while它可以一次也不執(zhí)行。
do...while它可以至少執(zhí)行一次。