|
Visual Basic 질문을 C++ Builder Q&A에 올리셨네요.
(아래 내용을 보면 툴을 헷갈리는 것 만큼 언어를 잘 모르시는 것 같은데요. 보니, 게임 런처 비슷한 것을 만드시나 봅니다. 그런 시도에는 높은 점수를 드립니다. 간만에 VBA아닌 VB를 보네요...)
Visual Basic에서 Dir()함수는 우리가 흔히 command line mode에서 dir 명령을 입력하는 것과 비슷한 함수입니다.
물론, 언급하신 파일을 찾은 용도로도 사용이 가능합니다.
문제는 리턴값입니다.
파일을 찾아서 있으면 그 파일명을 리턴하고, 없으면 ""을 리턴합니다.
그러니, 아래처럼 동일한 내용을 비교하면 무조건 "참(true)"입니다.
원하시는 대로 파일이 있으면.. 이라는 뜻으로 사용하시려면,
if Dir("....") <> "" then
이렇게 하시면 됩니다.
참고하시기 바랍니다.
윤원 님이 쓰신 글 :
: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
: If Dir("C:\Program Files\plaync\Lineage\Lineage\freejoin1.exe") = Dir("C:\Program Files\plaync\Lineage\Lineage\freejoin1.exe") Then
: Shell("C:\Program Files\plaync\Lineage\Lineage\freejoin1.exe", vbNormalFocus)
:
: ElseIf Dir("C:\Program Files (x86)\plaync\Lineage\Lineage\freejoin2.exe") = Dir("C:\Program Files (x86)\plaync\Lineage\Lineage\freejoin2.exe") Then
: Shell("C:\Program Files (x86)\plaync\Lineage\Lineage\freejoin2.exe", vbNormalFocus)
:
: ElseIf Dir("C:\Program Files (x86)\Lineage\freejoin1.exe") = Dir("C:\Program Files (x86)\Lineage\freejoin1.exe") Then
: Shell("C:\Program Files (x86)\Lineage\freejoin1.exe", vbNormalFocus)
:
: ElseIf Dir("C:\Program Files (x86)\Lineage\freejoin2.exe") = Dir("C:\Program Files (x86)\Lineage\freejoin2.exe") Then
: Shell("C:\Program Files (x86)\Lineage\freejoin2.exe", vbNormalFocus)
:
: ElseIf Dir("C:\Program Files\Lineage\freejoin2.exe") = Dir("C:\Program Files\Lineage\freejoin2.exe") Then
: Shell("C:\Program Files\Lineage\freejoin2.exe", vbNormalFocus)
:
: ElseIf Dir("C:\Program Files\Lineage\freejoin1.exe") = Dir("C:\Program Files\Lineage\freejoin1.exe") Then
: Shell("C:\Program Files\Lineage\freejoin1.exe", vbNormalFocus)
:
: ElseIf Dir("C:\Program Files\plaync\Lineage\Lineage\freejoin1.exe") = Dir("C:\Program Files\plaync\Lineage\Lineage\freejoin1.exe") Then
: Shell("C:\Program Files\plaync\Lineage\Lineage\freejoin1.exe", vbNormalFocus)
:
: ElseIf Dir("C:\Program Files\plaync\Lineage\Lineage\freejoin2.exe") = ("C:\Program Files\plaync\Lineage\Lineage\freejoin2.exe") Then
: Shell("C:\Program Files\plaync\Lineage\Lineage\freejoin2.exe", vbNormalFocus)
: Else
:
: MsgBox("버전이 맞지않습니다")
: End If
: End Sub
:
:
:
: 위에보시면...
:
: If Dir("C:\Program Files\plaync\Lineage\Lineage\freejoin1.exe") = Dir("C:\Program Files\plaync\Lineage\Lineage\freejoin1.exe") Then
: Shell("C:\Program Files\plaync\Lineage\Lineage\freejoin1.exe", vbNormalFocus)
:
: 만약 파일이 맞다면 아래의 파일 실행..
:
: 파일이 없다면
:
: ElseIf Dir("C:\Program Files (x86)\plaync\Lineage\Lineage\freejoin2.exe") = Dir("C:\Program Files (x86)\plaync\Lineage\Lineage\freejoin2.exe") Then
: Shell("C:\Program Files (x86)\plaync\Lineage\Lineage\freejoin2.exe", vbNormalFocus)
:
: 2번째 파일을 찾는건데요..
:
: 첫번째 파일이 없으면 그냥 종료가 되네요..
:
: 어떻게 하면될까요 ㅠ.ㅠ 고수님들..
|