C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[67714] Re:고수님들 부탁드립니다 if문인데요 이렇게하니까 안되네요..
신성기 [barmi] 3754 읽음    2012-07-11 09:55
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번째 파일을 찾는건데요..
:
: 첫번째 파일이 없으면 그냥 종료가 되네요..
:
: 어떻게 하면될까요 ㅠ.ㅠ 고수님들..

+ -

관련 글 리스트
67709 고수님들 부탁드립니다 if문인데요 이렇게하니까 안되네요.. 윤원 1436 2012/07/11
67714     Re:고수님들 부탁드립니다 if문인데요 이렇게하니까 안되네요.. 신성기 3754 2012/07/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.