2015年5月24日 星期日

VB.NET 應用篇


2018/05/12
參考資料:自訂數值格式字串
當我的資料是9.50,要格式化為9.5,可以使用String.Format來作,方法如下。
'記得要Imports System.Globalization
String.Format(CultureInfo.InvariantCulture, "{0:0.0}",CDbl("9.50").ToString))

2017/10/14
假設今天資料庫的資料某個欄位值與某家公司所規定的值不一樣,但你希望資料庫的資料可以跟某家公司所規定的值一樣,舉個例子,如下:
我的資料庫值1、2、3
1 代表 身心障礙人士子女(重度、極重度)
2 代表 身心障礙人士子女(中度)
3 代表 身心障礙人士子女(輕度)

某家公司規定的值A1、A2、A3
A1 代表 極重度/重度身心障礙人士子女
A2 代表 中度身心障礙人士子女
A3 代表 輕度身心障礙人士子女

如果我要把我的值1、2、3,替換成A1、A2、A3,我們可以這樣作,如下:
Dim DType = New Dictionary(Of String, String)
DType.Add("1", "A1")
DType.Add("2", "A2")
DType.Add("3", "A3")

MsgBox(DType("1") & vbNewLine & DType("2") & vbNewLine & DType("3"))
'顯示出來的結果會是A1、A2、A3

2017/08/27
1.四捨五入
Dim d1 As Decimal = 4.69
Response.Write("d1=" & d1 & "<br/>")
Response.Write("d1/100=" & (d1 / 100) & "<br/>")
Response.Write("d1四捨五入到小數點第一位=" & Math.Round(d1, 1, MidpointRounding.AwayFromZero) & "<br/>")
Response.Write("d1四捨五入=" & Math.Round(d1, MidpointRounding.AwayFromZero) & "<br/>")
2.取得圖片高度、寬度
Dim b As System.Drawing.Bitmap = New System.Drawing.Bitmap(Server.MapPath("~/img/test.jpg"))
Response.write("Width=" & b.Width & " Height=" & b.Height)
b.Dispose()

2017/07/19
參考資料:Optional (Visual Basic)
有時候我會把一些常用到的程式碼寫成方法,要用的時候可以去呼叫它,呼叫方法時常需要給它很多參數資料,有些參數我不見得要給它值,希望它可以使用預設值,那我就可以在ByVal前面加上Optional,代表這個參數可有可無不見得要給它參數值,但是必須定義一個預設值給它,如下:
Sub fun1(ByVal a1 As Integer,Optional ByVal s1 As String = "s1", Optional ByVal s2 As String = "s2",Optional ByVal us_a1 As UShort = 0)
...
End Sub
如果在呼叫的過程中,我只想給s2這個參數給它一個值,那我可以這樣子給s2值,如下:
'方法1
fun1(100,s2:="Hello")
'方法2
fun1(100, ,"Hello")
我個人比較喜歡方法1,比較明確。

2017/06/27
判斷日期是否有效,例如:2017/06/27。
Dim str_date As String="2017/06/27"
If (IsDate(str_date)) = False Or (IsDate(str_date) = True And (str_date.Length < 10 Or str_date.Length > 10)) Then
'錯誤
Else
'符合2017/06/27
End If

2016/02/22
判斷IP是否有效。
  If Net.IPAddress.TryParse("140.130.192.3", Nothing) Then
    '有效
  Else
    '無效
  End If

2016/01/31
CheckBoxList項目存不存在
  If CheckBoxList1.Items.FindByValue("A") IsNot Nothing Then
    '存在
  Else
    '不存在
  End If

2015/12/13
VB.NET Winform 使用MoveDirectory(移動目錄)
  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    '將Directory1目錄(包含裡面的檔案)搬移到Directory2目錄
    '補充:如果你想要搬移資料夾且修改資料夾的名稱,你可以將C:\Directory2\Directory1改為C:\Directory2\ABC
    My.Computer.FileSystem.MoveDirectory("C:\Directory1", "C:\Directory2\Directory1")
  End Sub

2015/06/29
參考:規則運算式語言-快速參考Regex.IsMatch 方法
用正規表示式判斷是否為數字
     If Regex.IsMatch("123", "^\d+$") = False Then '數字會回傳true
        '不是數字
     Else
        '是數字
     End If

2015/05/25
1.取得星期幾
        Dim objd1 As Date = New Date()
        objd1 = "2014-12-01 08:52"
        Response.Write("objd1=" & objd1.ToString("yyyy/MM/dd HH:mm:ss") & "<br/>")
        'Weekday方法 會回傳 1是星期日 2是星期一 3星期是二 4是星期三 5是星期四 6是星期五 7是星期六
        Dim int_weekday As Integer = Weekday(objd1)
        int_weekday = int_weekday - 1 '減1後 0星期日 1星期一 2星期二
        If Not (int_weekday = 0 Or int_weekday = 6) Then
            Response.Write("不是,星期日或星期六")
        Else
            Response.Write("是,星期日或星期六")
        End If

沒有留言:

張貼留言