Lấy tham số truyền từ dòng lệnh
VB cung cấp cho ta hàm Command() hay Command$(). Hàm này trả về một String mà bạn truyền vào từ dòng lệnh khi gọi chương trình. Lưu ý: Hàm Command$() mới thực sự trả về một String còn Command() lại trả về một Variant Ví dụ: Hình bên dưới cho thấy ...
VB cung cấp cho ta hàm Command() hay Command$(). Hàm này trả về một String mà bạn truyền vào từ dòng lệnh khi gọi chương trình.
Lưu ý: Hàm Command$() mới thực sự trả về một String còn Command() lại trả về một Variant
Ví dụ: Hình bên dưới cho thấy ta khởi động chương trình MyPad.exe & truyền cho nó một tham số là C:WINDOWSWIN.INI
Bây giờ chúng ta hãy thử lấy tham số đó qua một chương trình viết bằng VB.
Ta sẽ viết một chương trình tên MYPAD, có một form, trên đó có một TextBox. Nếu khi chạy chương trình người dùng không truyền tham số thì để TextBox đó trống (hoặc chứa một thông báo). Còn ngược lại thì kiểm trả xem đó có phải là đường dẫn đến một tập tin hay không (tập tin văn bản), nếu đúng thì hiển thị nội dung file đó vào TextBox.
Đối với TextBox bạn phải đặt thuộc tính Multiline = TRUE. ScrollBars là 2-Vertical hay 3-Both
Double Click lên form để tạo code cho sự kiện FormLoad như sau:
Private Sub Form_Load()
Dim sFile As String
Dim nd As String, dong As String
nd = "" : dong = ""
sFile = Command$()
If Dir$(sFile) <> "" And sFile <> "" Then
Open sFile For Input As #1
Do While Not EOF(1)
Line Input #1, dong
nd = nd + dong + vbCrLf
Loop
Close #1
Text1 = nd
Caption = "MyPad - " & sFile
Else
Text1 = "Tập tin: [" & sFile & "] không tìm thấy." & vbCrLf & "Hoặc không cho đường dẫn file."
End If
End Sub
Để cho Textbox (Text1) lúc nào cũng có kích thước bằng với form, bạn hãy gõ code sau vào sự kiện FormResize.
Private Sub Form_Resize()
Text1.Left = 0 : Text1.Top = 0
Text1.Width = ScaleWidth : Text1.Height = ScaleHeight
End Sub
Bây giờ bạn hãy cho chạy thử chương trình & truyền cho nó một tham số để mở file WIN.INI
Click Start / Run & gõ vào D:MYPADMyPad.exe C:WINDOWSWIN.INI (Giả sử chương trình MyPad của tôi lưu trên D:MYPAD), sau đó click OK. Chương trình MyPad của chúng ta chạy & hiển thị nội dung của WIN.INI trong Textbox.
Nếu bạn cho chạy MYPAD mà không cho tham số hoặc cho sai chương trình sẽ hiển thị như sau:
Vì đây chỉ là một chương trình thí dụ đơn giản minh cho cách nhận tham số từ dòng lệnh, cho nên bạn phải chú ý là file (đường dẫn file) mà bạn truyền cho nó không được có thuộc tính ẩn, nếu không nó sẽ báo là không tìm thấy.