這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 下次修改 | 前次修改 | ||
visual_basic_dot_net [2024/04/15 08:38] don [程式斷行與註解] |
visual_basic_dot_net [2024/04/15 09:13] (目前版本) don [String 字串] |
||
---|---|---|---|
行 135: | 行 135: | ||
===== String 字串 ===== | ===== String 字串 ===== | ||
Integer HEX 轉成字串 | Integer HEX 轉成字串 | ||
+ | < | ||
Dim val As String | Dim val As String | ||
val = " | val = " | ||
行 144: | 行 145: | ||
Dim commandList(50) As Byte | Dim commandList(50) As Byte | ||
Dim command As String | Dim command As String | ||
+ | </ | ||
- | + | 字串是String資料型態的變數或字串值,字串是0或多個依序的Char資料型態的字元,\\ | |
- | + | 以雙引號括起的文字內容,如下所示: | |
- | 字串是String資料型態的變數或字串值,字串是0或多個依序的Char資料型態的字元,以雙引號括起的文字內容,如下所示: | + | < |
- | Dim str As String =" | + | |
或 | 或 | ||
- | Dim str1 As String | + | < |
+ | Dim str1 As String | ||
str1 = " | str1 = " | ||
- | 字串長度與大小寫轉換 | + | </ |
- | 函數可以取得字串長度、進行英文字母大小寫轉換和刪除頭尾的空白字元,如下表所示: | + | |
- | 函數 說明 | + | 字串長度與大小寫轉換 \\ |
- | Len(Stmt) 傳回整數的字串長度,擁有多少個字元或中文字 | + | 函數可以取得字串長度、進行英文字母大小寫轉換和刪除頭尾的空白字元,如下表所示:\\ |
- | UCase(Stmt) 將參數字串或字元的英文字母轉換成大寫 | + | |
- | LCase(Stmt) 將參數字串或字元的英文字母轉換成小寫 | + | |
- | LTrim(Stmt) 刪除字串開頭的空白字元 | + | |
- | RTrim(Stmt) 刪除字串結尾的空白字元 | + | |
- | Trim(Stmt) 刪除頭尾兩端的空白字元 | + | |
- | Space(num) 傳回參數num個空白字元的字串 | + | |
- | Asc(Stmt) 傳回參數Stmt字串第1個字元的ASCII碼,例如:Asc(" | + | |
- | 取出子字串與字串反轉 | + | |
- | 函數 說明 | + | ^函數 ^說明 |
- | Mid(Stmt, start[ , length]) 從參數Stmt字串的start位置(從1開始)取出長度length的子字串,如果沒有length參數,就是從start位置到字串結尾的所有字元 | + | |Len(Stmt) |傳回整數的字串長度,擁有多少個字元或中文字| |
- | Left(Stmt, length) 從參數Stmt字串從開頭起算共length長度的字元,如果為0傳回空字串,如果大於字串長度,傳回整個字串 | + | |UCase(Stmt) |將參數字串或字元的英文字母轉換成大寫| |
- | Right(Stmt, length) 從參數Stmt字串從右邊回頭起算共length長度的字元,如果為0傳回空字串,如果大於字串長度,傳回整個字串 | + | |LCase(Stmt) |將參數字串或字元的英文字母轉換成小寫| |
- | StrReverse(Stmt) 將參數的Stmt字串反轉,例如:Visual Basic成為cisaB lausiV | + | |LTrim(Stmt) |刪除字串開頭的空白字元| |
+ | |RTrim(Stmt) |刪除字串結尾的空白字元| | ||
+ | |Trim(Stmt) |刪除頭尾兩端的空白字元| | ||
+ | |Space(num) |傳回參數num個空白字元的字串| | ||
+ | |Asc(Stmt) |傳回參數Stmt字串第1個字元的ASCII碼,例如:Asc(" | ||
+ | |||
+ | 取出子字串與字串反轉\\ | ||
+ | |||
+ | ^函數 ^說明 ^ | ||
+ | |Mid(Stmt, start[ , length]) |從參數Stmt字串的start位置(從1開始)取出長度length的子字串,如果沒有length參數,就是從start位置到字串結尾的所有字元| | ||
+ | |Left(Stmt, length) |從參數Stmt字串從開頭起算共length長度的字元,如果為0傳回空字串,如果大於字串長度,傳回整個字串| | ||
+ | |Right(Stmt, length) |從參數Stmt字串從右邊回頭起算共length長度的字元,如果為0傳回空字串,如果大於字串長度,傳回整個字串| | ||
+ | |StrReverse(Stmt) |將參數的Stmt字串反轉,例如:Visual Basic成為cisaB lausiV| | ||
- | 範例練習 : | + | 範例練習 :\\ |
+ | < | ||
Dim a, b, c As String | Dim a, b, c As String | ||
- | | + | a = " |
- | | + | b = " |
- | + | ||
- | MsgBox(" | + | |
- | MsgBox(" | + | |
- | MsgBox(" | + | |
- | MsgBox(" | + | |
+ | MsgBox(" | ||
+ | MsgBox(" | ||
+ | MsgBox(" | ||
+ | MsgBox(" | ||
+ | </ | ||
- | InStr函數,傳回在某字串中一字串的最先出現位置,傳回0表示沒有找到,我們可以利用它來判斷字串中是否有關鍵字存在。 | + | InStr函數,傳回在某字串中一字串的最先出現位置,傳回0表示沒有找到,我們可以利用它來判斷字串中是否有關鍵字存在。\\ |
+ | < | ||
Dim str1 As String, str2 As String | Dim str1 As String, str2 As String | ||
str1 = "1 3 2 abc " | str1 = "1 3 2 abc " | ||
行 196: | 行 203: | ||
Original.Length=10 | Original.Length=10 | ||
x 找不到字串則為0 | x 找不到字串則為0 | ||
+ | </ | ||
+ | < | ||
常用VB字串處理函數 | 常用VB字串處理函數 | ||
使用內建函數: | 使用內建函數: | ||
行 212: | 行 220: | ||
結果:Ta | 結果:Ta | ||
- | |||
Right:將字串由右側擷取固定長度。 | Right:將字串由右側擷取固定長度。 | ||
範例:str=Right(" | 範例:str=Right(" | ||
行 220: | 行 227: | ||
範例:str=Lcase(" | 範例:str=Lcase(" | ||
結果:taiwan | 結果:taiwan | ||
- | |||
Ucase:將字串中的小寫字母變成大寫。 | Ucase:將字串中的小寫字母變成大寫。 | ||
行 234: | 行 240: | ||
結果:Taiwan | 結果:Taiwan | ||
- | Rtrim:刪字串右側的空白 | + | Rtrim:刪字串右側的空白\\ |
範例:str=Rtrim(" | 範例:str=Rtrim(" | ||
結果: Taiwan | 結果: Taiwan | ||
行 267: | 行 273: | ||
str(0)=" | str(0)=" | ||
str(1)=" | str(1)=" | ||
- | .NET Framework:比較字串 | + | </ |
- | http:// | + | |
- | String.Compare:比較兩個字串的值。傳回整數值。 | + | .NET Framework:比較字串\\ |
- | String.CompareOrdinal:比較兩個字串,不管本地文化特性。傳回整數值。 | + | [[http:// |
- | String.CompareTo:將目前的字串物件與另一個字串加以比較。傳回整數值。 | + | String.Compare:比較兩個字串的值。傳回整數值。\\ |
- | String.StartsWith:判斷字串的開頭是否為傳入的字串。傳回布林值。 | + | String.CompareOrdinal:比較兩個字串,不管本地文化特性。傳回整數值。\\ |
- | String.EndsWith:判斷字串的結尾是否為傳入的字串。傳回布林值。 | + | String.CompareTo:將目前的字串物件與另一個字串加以比較。傳回整數值。\\ |
- | String.Equals:判斷兩個字串是否相同。傳回布林值。 | + | String.StartsWith:判斷字串的開頭是否為傳入的字串。傳回布林值。\\ |
- | String.IndexOf:從您正在檢查的字串開頭開始,傳回字元或字串的索引位置。傳回整數值。 | + | String.EndsWith:判斷字串的結尾是否為傳入的字串。傳回布林值。\\ |
- | String.LastIndexOf:從您正在檢查的字串結尾開始,傳回字元或字串的索引位置。傳回整數值。 | + | String.Equals:判斷兩個字串是否相同。傳回布林值。\\ |
- | 字串處理範例: | + | String.IndexOf:從您正在檢查的字串開頭開始,傳回字元或字串的索引位置。傳回整數值。\\ |
- | http:// | + | String.LastIndexOf:從您正在檢查的字串結尾開始,傳回字元或字串的索引位置。傳回整數值。\\ |
- | 常用C# | + | |
- | http:// | + | |
- | 名稱 說明 | + | ^名稱 ^說明 |
- | Clone 傳回對 String 這個執行個體的參考。 | + | |Clone |傳回對 String 這個執行個體的參考。| |
- | Compare 多載。 比較兩個指定的 String 物件。 | + | |Compare |多載。 比較兩個指定的 String 物件。| |
- | CompareOrdinal 多載。 藉由評估每個字串中對應的 Char 物件之數字值,比較兩個 String 物件。 | + | |CompareOrdinal |多載。 藉由評估每個字串中對應的 Char 物件之數字值,比較兩個 String 物件。| |
- | CompareTo 多載。 將這個執行個體與指定的物件或 String 相比較,並傳回它們的相對值指示。 | + | |CompareTo |多載。 將這個執行個體與指定的物件或 String 相比較,並傳回它們的相對值指示。| |
- | Concat 多載。 串連一個或多個 String 的執行個體,或者一個或多個 Object 執行個體值的 String 表示。 | + | |Concat |多載。 串連一個或多個 String 的執行個體,或者一個或多個 Object 執行個體值的 String 表示。| |
- | Contains 傳回值,指出指定的 String 物件是否會出現在這個字串內。 | + | |Contains |傳回值,指出指定的 String 物件是否會出現在這個字串內。| |
- | Copy 使用與指定的 String 相同的值,建立 String 的新執行個體。 | + | |Copy |使用與指定的 String 相同的值,建立 String 的新執行個體。| |
- | CopyTo 將字元的指定數目從這個執行個體的指定位置,複製到 Unicode 字元陣列的指定位置。 | + | |CopyTo |將字元的指定數目從這個執行個體的指定位置,複製到 Unicode 字元陣列的指定位置。| |
- | EndsWith 多載。 判斷 String 執行個體的結尾是否符合指定之字串。 | + | |EndsWith |多載。 判斷 String 執行個體的結尾是否符合指定之字串。| |
- | Equals 多載。 覆寫。 判斷兩個 String 物件是否具有相同的值。 | + | |Equals |多載。 覆寫。 判斷兩個 String 物件是否具有相同的值。| |
- | Format 多載。 以與對應物件值相等的文字,取代指定 String 中的每個格式項目。 | + | |Format |多載。 以與對應物件值相等的文字,取代指定 String 中的每個格式項目。| |
- | GetEnumerator 擷取可以逐一查看這個字串中個別字元的物件。 | + | |GetEnumerator |擷取可以逐一查看這個字串中個別字元的物件。| |
- | GetHashCode 覆寫。 傳回這個字串的雜湊程式碼。 | + | |GetHashCode |覆寫。 傳回這個字串的雜湊程式碼。| |
- | GetType 取得目前執行個體的 Type。 (繼承自 Object)。 | + | |GetType |取得目前執行個體的 Type。 (繼承自 Object)。| |
- | GetTypeCode 傳回類別 String 的 TypeCode。 | + | |GetTypeCode |傳回類別 String 的 TypeCode。| |
- | IndexOf 多載。 報告這個字串中 String 或一或多個字元之第一個符合項目的索引。 | + | |IndexOf |多載。 報告這個字串中 String 或一或多個字元之第一個符合項目的索引。| |
- | IndexOfAny 多載。 報告指定 Unicode 字元陣列中的任何字元於這個執行個體中第一個符合項目的索引。 | + | |IndexOfAny |多載。 報告指定 Unicode 字元陣列中的任何字元於這個執行個體中第一個符合項目的索引。| |
- | Insert 在這個執行個體的指定索引位置,插入 String 的指定執行個體。 | + | |Insert |在這個執行個體的指定索引位置,插入 String 的指定執行個體。| |
- | Intern 擷取指定的 String 的系統參考。 | + | |Intern |擷取指定的 String 的系統參考。| |
- | IsInterned 擷取對指定 String 的參考。 | + | |IsInterned |擷取對指定 String 的參考。| |
- | IsNormalized 多載。 指出這個字串是否為特定的 Unicode 正規化格式。 | + | |IsNormalized |多載。 指出這個字串是否為特定的 Unicode 正規化格式。| |
- | IsNullOrEmpty 指出指定的 String 物件是否為 Null 參照 (即 Visual Basic 中的 Nothing) 或 Empty 字串。 | + | |IsNullOrEmpty |指出指定的 String 物件是否為 Null 參照 (即 Visual Basic 中的 Nothing) 或 Empty 字串。| |
- | Join 多載。 將指定 String 陣列每個元素之間的指定分隔符號 String 串連,產生單一的串連字串。 | + | |Join |多載。 將指定 String 陣列每個元素之間的指定分隔符號 String 串連,產生單一的串連字串。| |
- | LastIndexOf 多載。 報告這個執行個體中指定 Unicode 字元或 String 最後項目的索引位置。 | + | |LastIndexOf |多載。 報告這個執行個體中指定 Unicode 字元或 String 最後項目的索引位置。| |
- | LastIndexOfAny 多載。 報告 Unicode 陣列中的一個或多個指定字元在這個執行個體中最後項目的索引位置。 | + | |LastIndexOfAny |多載。 報告 Unicode 陣列中的一個或多個指定字元在這個執行個體中最後項目的索引位置。| |
- | Normalize 多載。 傳回新的字串,其二進位表示為特定的 Unicode 正規化格式。 | + | |Normalize |多載。 傳回新的字串,其二進位表示為特定的 Unicode 正規化格式。| |
- | op_Equality 判斷兩個指定的 String 物件是否具有相同的值。 | + | |op_Equality |判斷兩個指定的 String 物件是否具有相同的值。| |
- | op_Inequality 判斷兩個指定的 String 物件是否具有不同的值。 | + | |op_Inequality |判斷兩個指定的 String 物件是否具有不同的值。| |
- | PadLeft 多載。 將這個執行個體中的字元靠右對齊,以空格或指定的 Unicode 字元在左側填補至指定的總長度。 | + | |PadLeft |多載。 將這個執行個體中的字元靠右對齊,以空格或指定的 Unicode 字元在左側填補至指定的總長度。| |
- | PadRight 多載。 將這個字串中的字元靠左對齊,以空格或指定的 Unicode 字元在右側填補至指定的總長度。 | + | |PadRight |多載。 將這個字串中的字元靠左對齊,以空格或指定的 Unicode 字元在右側填補至指定的總長度。| |
- | ReferenceEquals 判斷指定的 Object 執行個體是否為相同的執行個體。 (繼承自Object)。 | + | |ReferenceEquals |判斷指定的 Object 執行個體是否為相同的執行個體。 (繼承自Object)。| |
- | Remove 多載。 從這個執行個體中刪除指定數目的字元。 | + | |Remove |多載。 從這個執行個體中刪除指定數目的字元。| |
- | Replace 多載。 以另一個指定的 Unicode 字元或 String,取代這個執行個體中指定的 Unicode 字元或 String 的所有項目。 | + | |Replace |多載。 以另一個指定的 Unicode 字元或 String,取代這個執行個體中指定的 Unicode 字元或 String 的所有項目。| |
- | Split 多載。 傳回 String 陣列,其中包含這個執行個體中由指定的 Char或 String 陣列之元素所分隔的子字串。 | + | |Split |多載。 傳回 String 陣列,其中包含這個執行個體中由指定的 Char或 String 陣列之元素所分隔的子字串。| |
- | StartsWith 多載。 判斷 String 執行個體的開頭是否符合指定之字串。 | + | |StartsWith |多載。 判斷 String 執行個體的開頭是否符合指定之字串。| |
- | Substring 多載。 從這個執行個體擷取子字串。 | + | |Substring |多載。 從這個執行個體擷取子字串。| |
- | ToCharArray 多載。 將這個執行個體中的字元複製到 Unicode 字元陣列中。 | + | |ToCharArray |多載。 將這個執行個體中的字元複製到 Unicode 字元陣列中。| |
- | ToLower 多載。 傳回轉換成小寫的這個 String 複本。 | + | |ToLower |多載。 傳回轉換成小寫的這個 String 複本。| |
- | ToLowerInvariant 傳回轉換成小寫的這個 String 物件之複本,透過的方式是使用不因文化特性而異的大小寫規則。 | + | |ToLowerInvariant |傳回轉換成小寫的這個 String 物件之複本,透過的方式是使用不因文化特性而異的大小寫規則。| |
- | ToString 多載。 覆寫。 將這個執行個體的值轉換為 String。 | + | |ToString |多載。 覆寫。 將這個執行個體的值轉換為 String。| |
- | ToUpper 多載。 傳回轉換成大寫的這個 String 複本。 | + | |ToUpper |多載。 傳回轉換成大寫的這個 String 複本。| |
- | ToUpperInvariant 傳回轉換成大寫的這個 String 物件之複本,透過的方式是使用不因文化特性而異的大小寫規則。 | + | |ToUpperInvariant |傳回轉換成大寫的這個 String 物件之複本,透過的方式是使用不因文化特性而異的大小寫規則。| |
- | Trim 多載。 將指定字元集的所有項目從這個執行個體的開頭和結尾移除。 | + | |Trim |多載。 將指定字元集的所有項目從這個執行個體的開頭和結尾移除。| |
- | TrimEnd 將陣列中指定的字元集之所有項目從這個執行個體的結尾移除。 | + | |TrimEnd |將陣列中指定的字元集之所有項目從這個執行個體的結尾移除。| |
- | TrimStart 將陣列中指定的字元集之所有項目從這個執行個體的開頭移除。 | + | |TrimStart |將陣列中指定的字元集之所有項目從這個執行個體的開頭移除。| |
+ | < | ||
String.Substring( ):從指定的字元位置開始截取字串 | String.Substring( ):從指定的字元位置開始截取字串 | ||
語法:字串變數.Substring(左起始位數 , 取幾位) | 語法:字串變數.Substring(左起始位數 , 取幾位) | ||
行 348: | 行 354: | ||
String.TrimStart():刪除字串開頭的空白字元 | String.TrimStart():刪除字串開頭的空白字元 | ||
String.PadLeft(2," | String.PadLeft(2," | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== 副程序 ===== | ||
+ | Sub 程序 : 此種程序不會傳回值\\ | ||
+ | Function 程序 : 此種程序會傳回值,Function 也可稱為函式\\ | ||
+ | Event 程序 : 此種程序不會傳回值。\\ | ||
+ | Property 程序 : 此種程序用來傳回和設定物件的屬性。\\ | ||
+ | |||
+ | < | ||
+ | [Private | Public] Sub 程序名稱 ([引數串列]) | ||
+ | [程式區段] | ||
+ | [Exit Sub] | ||
+ | [Return] | ||
+ | End Sub | ||
+ | </ | ||
+ | |||
+ | 如何呼叫\\ | ||
+ | Call 程序名稱([引數串列]) or \\ | ||
+ | 程序名稱([引數串列])\\ | ||
+ | |||
+ | < | ||
+ | [Private | Public] Function函式名稱 ([引數串列]) [As 資料型別] | ||
+ | [程式區段] | ||
+ | 函式名稱 = 運算式 或 (Return 運算式) | ||
+ | [Exit Function] | ||
+ | End Function | ||
+ | </ | ||
+ | |||
+ | 返回參數\\ | ||
+ | 函式名稱 = username | ||
+ | |||
+ | 如何呼叫\\ | ||
+ | 變數名稱 = 函式名稱 ([引數串列])\\ | ||
+ | |||
+ | 參數\\ | ||
+ | < | ||
+ | GetWelcome(ByVal username As String , ByVal ismale As Boolean) As String | ||
+ | GetWelcome(ByRef username As String , ByRef ismale As Boolean) As String | ||
+ | </ | ||
+ | |||
+ | 程序引數可選擇性\\ | ||
+ | Sub 程序名稱 (…………, | ||
+ | |||
+ | < | ||
+ | Function mult(ByVal x1 As Integer, ByVal x2 As Integer, Optional ByVal x3 As Integer=0) As Integer | ||
+ | </ | ||
+ | 如果沒有傳遞第三個引數則以0替代\\ | ||
+ | |||
+ | 傳遞陣列\\ | ||
+ | 呼叫敘述 inverse(arrayname1) | ||
+ | 被呼叫程序 Sub inverse(ByVal arrayname2() As Integer) | ||
+ | |||
+ | 如果想要到整個程式結束變數才被釋放 則可以使用靜態變數\\ | ||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | 程序引數可選擇性\\ | ||
+ | < | ||
+ | Sub 程序名稱(………, | ||
+ | 程式區段 | ||
+ | End Sub | ||
+ | </ | ||
+ | 若傳遞引數具有選擇性,可使用 Optional 來宣告,被宣告成選擇性的引數,\\ | ||
+ | 必須指定資料型別及預設值,而且其後的引數也必須為選擇性參數。\\ | ||