PDA

View Full Version : [Q] Help me !!! Tham số dòng lệnh !



trungnt88
13-04-2003, 09:37
các bác ơi làm sao mà trong VB thiết lập cho Prog nhận thông số dòng lệnh Ex:


chạy : "aaa.exe acd.kdf"

thì kết quả : chạy prog "aaa.exe" và prog nhận được tham số "acd.kdf" để rồi có thể xử li nó tuỳ ý ! :exclaim: :exclaim: :exclaim: Nhanh nha các bác !!!

KEM_WALL
13-04-2003, 11:03
bạn tạo 1 module ( normal ). sau đó trong sub main bạn đặt vào các param. sau đó vào project property compile, sửa command line thành các param mà bạn cần. ;)

subzero
13-04-2003, 21:37
Hàm Command$ cho phép bạn nhận được tham số.
VD : Đặt vào Form_Load
S = Command$ lúc đó S là giá trị tham số sau exe.

trungnt88
14-04-2003, 07:32
Nè Sub Zero tui hông làm được ! Code nè :




Private Sub Form_Load()
Dim s
s = Command$
Select Case s
Case 1
MsgBox "tham số 1"
Case 2
MsgBox "tham số 2"
Case 3
MsgBox "tham số 3"
End Select
End Sub

Why ???:question: :question: :question:

subzero
14-04-2003, 11:20
Sao U lại viết là Case 1, Case 2 ????, S này là giá trị String mà. Mà U đã dịch ra exe chưa?
Này nhé, cho vào Form_load
S=Command$
Msgbox S
Sau đó dịch ra exe là aaa.exe. Sau đó, run aaa.exe xyz... thì S sẽ nhận giá trị xyz... từ đó U có thể tuỳ ý xử lý biến S.

trungnt88
14-04-2003, 18:11
Sơ xuất , sơ xuất . Hì hì Tui nhầm to Xin lũi nha ! xấu hổ wá:o
Thanh củi nha !

trungnt88
15-04-2003, 08:17
Nè ! Zẫn không chạy !

Code nha


Private Sub Form_Load()
Call CheckCmd
End Sub
‘---------------------------------------------------
Public Sub CheckCmd()
Dim cmd As String
cmd = Command$
If cmd <> "" Then 'str empty
loaddocwfile (cmd)
End If
End Sub
‘------------------------------------------------------
Public Sub loaddocwfile(file As String)
Dim str As String
Dim save As Integer
With frmMain
If ((file = "") Or (InStr(1, ".win", file) = 0) Or (InStr(1, ".rtf", file) = 0)) Then
Exit Sub
End If
If (InStr(1, ".win", file) <> 0) Then
'If Right(filename, 4) = ".win" Then
Open (file) For Input As 1
Input #1, str
Close #1
str = Encrypt(1, str, 10)
.rtfMain.TextRTF = str
' End If
'If Right(filename, 4) = ".rtf" Then
End If
If (InStr(1, ".rtf", file) <> 0) Then
frmMain.rtfMain.LoadFile (file)
End If
.sbrMain.Panels(1).Text = file
End With
saved = True
End Sub

‘----------------------------------

‘ nội dung file a.bat (tập tin lô của dos)
win.exe e:\test.win
'tui có một file là test.win ở ổ E:\

kính mong các bác "heo" iem zới

subzero
15-04-2003, 20:24
Tôi chưa thử Code của U nhưng xem qua tôi thấy U sai ở hàm Instr
InStr(1, ".win", file) --> InStr(1, file,".win") mới đúng, U thử sửa lại rồi chạy lại xem sao?

trungnt88
16-04-2003, 19:49
Okie để tui thử Nha !

Nicky
17-04-2003, 19:08
Để cái câu lệnh Command$ đó trong Sub main() trong module ấy.

trungnt88
17-04-2003, 21:23
Uh trungnt88 thử lại đã nha!

trungnt88
18-04-2003, 18:08
Thanh x củi ! Tất cả đề Okie !