• 검색 결과가 없습니다.

 타이머 컨트롤

N/A
N/A
Protected

Academic year: 2022

Share " 타이머 컨트롤 "

Copied!
35
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

5장 비주얼베이직을 이용한

기본 프로그래밍 Ⅱ

(2)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

Timer

보통 일정한 시간만큼을 지연시킨 후 어떤 작업을 하려고 할 때 사용되는 컨트롤

Timer 이벤트 프로시저에 하려고 하는 작업의 내용을 기술

Interval 속성에 지정된 일정한 시간만큼을 기다렸다가 Timer 이벤트 프로 시져의 내용을 수행

일단 시작되면 프로그램에 다른 기능들이 작동하더라도 독립적이고 영속 적으로 계속 수행(즉, 멀티태스킹 작업을 한다)

실습 5-1

다음 이미지를 타이머에 설정해놓은 시간만큼 지연시킨 후 일정한 위치로 이동시키는 프로그램을 실습

(3)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-1

실행 방법

프로그램이 실행되면 이미지는 좌측 상단에 위치

타이머에 지정된 시간이 될 때마다 일정한 위치만큼씩 이미지가 이동

(4)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-1

실행 방법

이미지가 폼의 오른쪽 끝까지 이동하면 다시 폼의 왼쪽 상단에 위치

(5)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-1

“TIMER”프로그램에 사용된 컨트롤

(6)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-1

속성표

컨트롤 이름 컨트롤 종류 사용된 속성

frmTimer 폼 (Name) = frmTimer

Caption = TIMER

imgPlane 이미지 (Name) = imgPlane

Picture = (아이콘)

trmPlane 타이머 (Name) = trmPlane

Interval = 100

(7)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-1

코드 프로시져 작성

폼이 로드될 때

타이머가 가동될 때

Private Sub Form_Load()

'이미지를 폼의 좌측 상단에 위치 시킴 imgPlane.Left = 0

imgPlane.Top = 0 End Sub

Private Sub tmrPlane_Timer()

'이미지를 오른쪽으로 100, 아래쪽으로 50 트윕 씩 이동 imgPlane.Left = imgPlane.Left + 100

(8)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-1

코드 프로시져 작성

타이머가 가동될 때

imgPlane.Top = imgPlane.Top + 50

'만일 이미지가 폼의 맨 아래쪽에 오면

If imgPlane.Top > frmTimer.ScaleHeight Then

'이미지를 폼의 좌측 상단에 위치 시킴 imgPlane.Left = 0

imgPlane.Top = 0 End If

End Sub

(9)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-2

타이머 컨트롤을 이용해서 현재의 날짜와 시간을 표시하는 기능을 하는 프로그램을 실습

“시계” 프로그램에 사용된 컨트롤

(10)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-2

속성표

컨트롤 이름 컨트롤 종류 사용된 속성 frmClock 폼 (Name) = frmClock

Caption = 시계

lblClock 라벨

(Name) = lblClock

Alignment = 2 - 가운데 맞춤 BackColor = 짙은 파랑

Caption = ""

Font = 굵게, 20 ForeColor = 노랑 tmrClock 타이머 (Name) = tmrClock

Interval = 1

(11)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-2

코드 프로시져 작성

타이머가 가동될 때

Private Sub tmrClock_Timer()

'라벨에 년,월,일 그리고 시간을 표시

lblClock.Caption = Format(Now, “yyyy년 m월 d일 AMPM h:mm:ss”) End Sub

(12)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-3

다음의 그래픽 처리된 옵션 버튼을 선택하여 스톱워치를 작동시키는 프로 그램을 실습

시 분 초 1/10초

(13)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-3

실행 방법

프로그램이 실행되면 “STOP” 그림의 옵션버튼이 선택된 상태로 시간은 표시 되지 않는다.

“타이머” 그림의 옵션 버튼을 선택하면 스톱워치가 작동한다.

(14)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-3

실행 방법

“STOP” 그림의 옵션 버튼을 선택하면 스톱워치는 더 이상 시간이 증가하지 않 고 멈춘다.

“타이머” 그림의 옵션 버튼을 선택하면 스톱워치가 다시 시작된다.

(15)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-3

“STOP WATCH”프로그램에 사용된 컨트롤

(16)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-3

속성표

컨트롤 이름 컨트롤 종류 사용된 속성

frmStopWatch 폼 (Name) = frmStopWatch Caption = STOP WATCH

optStart 옵션 버튼

(Name) = optStart Caption = “”

Style = 1 - 그래픽 Picture = Timer01.ICO

oprStop 옵션 버튼

(Name) = optStop Caption = “”

Style = 1 - 그래픽 Picture = Trffc14.ICO TabIndex = 0

Label1 라벨 Caption = “”

Font(Size) = 28 Timer1 타이머 Interval = 100

(17)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-3

속성표

옵션 버튼에 그림을 삽입하려면 Style 속성을 “1-그래픽”으로 설정하고 삽입 하려는 그림의 경로를 Picture 속성에 설정

설정된 옵션 버튼은 명령 버튼과 유사한 모양을 가짐

프로그램이 시작될 때는 하나의 옵션 버튼이 선택된 상태로 표시되는데 이때 특정 옵션 버튼을 선택된 상태로 시작하고 싶을 때는 그 옵션 버튼의 TabIndex 속성을 옵션 버튼들 중에서 가장 적은 숫자로 설정

(18)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-3

코드 프로시저 작성

일반 선언부

“타이머” 그림의 옵션 버튼을 선택했을 때 '스톱워치의 작동 유무를 설정하는 변수 Dim start As Integer

'시, 분, 초, 1/10 초 각 단위의 값을 저장 Dim msec As Integer

Dim sec As Integer Dim min As Integer Dim hour As Integer

Private Sub optStart_Click()

'스톱워치를 작동 start = 1

End Sub

(19)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-3

코드 프로시저 작성

타이머가 가동될 때 Private Sub Timer1_Timer()

'시작 옵션 버튼이 선택되면 If start = 1 Then

'1/10초 단위의 값을 증가 msec = msec + 1

'만약 1초가 되면 1/10초 단위의 값은 다시 0으로 설정하고 _ 초 단위의 값을 1 증가 If msec = 10 Then

msec = 0 sec = sec + 1

End If '만약 1분이 되면 초 단위의 값은 0으로 설정하고 분단위의 값을 1증가 If sec = 60 Then

sec = 0

min = min + 1 End If

(20)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-3

코드 프로시저 작성

타이머가 가동될 때

'만약 1시간이 되면 분 단위의 값은 0으로 설정하고 시 단위의 값을 1증가 If min = 60 Then

min = 0

hour = hour + 1 End If

'00:00:00:0의 서식으로 출력하기 위해 분 단위와 초 단위를 두 자리로 설정 frmsec = Format(sec, "00")

frmmin = Format(min, "00")

'현재 가지는 각 단위의 값들을 하나의 문자열로 조합 times = Str(hour) + frmmin + frmsec + Str(msec)

'조합된 문자열을 숫자형으로 변환한 후 서식을 설정하여 표시 Label1.Caption = Format(Val(times), "00:00:00:0")

End If

End Sub

(21)

5-1 응용 컨트롤(Control)

 타이머 컨트롤

도형

실습 5-3

코드 프로시저 작성

“STOP” 그림의 옵션 버튼을 선택했을 때 Private Sub optStop_Click()

'스톱워치의 작동을 멈추고 시간을 0으로 초기화 start = 0

msec = 0 sec = 0 min = 0 hour = 0 End Sub

(22)

5-1 응용 컨트롤(Control)

 파일 시스템 관련 컨트롤

새로운 드라이브를 선택하거나 디렉토리를 표시하거나 파일의 목 록을 보기 위해 파일 시스템 컨트롤을 사용

파일 시스템 컨트롤은 기본 컨트롤으로 크게 DriveListBox, DirListBox, FileListBox 세 가지

DriveListBox는 드라이브를 선택할 수 있는 컨트롤이며 DirListBox

는 Directory를, FileListBox는 파일 목록을 보여주는 컨트롤

(23)

5-1 응용 컨트롤(Control)

 파일 시스템 관련 컨트롤

컨트롤의 속성

DriveListBox의 속성

주로 이름에 drv를 붙임

가장 중요한 속성은 Drive 속성(현재 DriveListBox 컨트롤에서 선 택되어 있는 현재 드라이브를 가짐)

DirListBox의 속성

주로 이름에 dir를 붙임

가장 중요한 속성은 Path 속성(현재 DriveListBox 컨트롤에서 선 택되어 있는 현재 디렉토리를 가짐)

FileListBox의 속성

주로 이름에 fil을 붙임

가장 중요한 속성은 Pattern, Path, FileName

(24)

5-1 응용 컨트롤(Control)

 파일 시스템 관련 컨트롤

컨트롤의 속성

Pattern 속성

FileListBox에 어떤 파일들을 보여줄 것인지 결정

도스에서 사용했던 와일드카드 문자를 지원하며 *, ? 가 있음

여러 개의 Pattern을 등록하고 싶을 경우에는 세미콜론(;)으로 구 분가능

Pattern 속성에 다음과 같이 입력하면 FileListBox는 jpg와 gif 확 장자를 가진 모든 파일을 출력함

WildCard 문자

* 여러 문자를 의미하는 와일드카드이다. 예를 들면 a*z.jpg라는 와일 드카드를 사용하면 a로 시작하여 z로 끝나는 jpg 확장자를 가진 모 든 파일을 의미한다.

? 한 글자를 의미하는 와일드 카드이다. 예를 들면 a?z.jpg라는 와일 드 카드를 사용하면 a로 시작하여 z로 끝나는 jpg 확장자를 가진 파 일 중에서 가운데 한 글자가 포함된 모든 파일을 의미한다.

*.jpg; *.gif

(25)

5-1 응용 컨트롤(Control)

 파일 시스템 관련 컨트롤

컨트롤의 속성

Path 속성

파일 리스트를 보여주고자 하는 디렉토리를 갖고 있음

Path 속성에 정확한 디렉토리를 설정하면 FileListBox는 해당 디 렉토리안의 파일 목록을 출력

FileName 속성

FileListBox에서 파일이 선택되었을 때, 파일 이름을 갖고 있음

다음은 파일에 관련된 세 개의 컨트롤들이 차지하는 영역을 도식

화하여 나타낸 그림

(26)

5-1 응용 컨트롤(Control)

 파일 시스템 관련 컨트롤

실습 5-4

파일 리스트 박스를 선택해서 비트맵 파일과 아이콘 파일을 오

른쪽 이미지에 로드시키며, 그 파일의 경로를 하단의 텍스트 박

스에 출력시켜는 프로그램을 실습

(27)

5-1 응용 컨트롤(Control)

 파일 시스템 관련 컨트롤

실습 5-4

실행방법

프로그램이 실행되면 현재의 드라이브와 디렉토리 경로를 줌

(28)

5-1 응용 컨트롤(Control)

 파일 시스템 관련 컨트롤

실습 5-4

실행방법

드라이브 리스트 박스에서는 드라이브를 변경할 수 있으며 디렉토

리 리스트 박스에서는 선택된 드라이브안의 디렉토리를 변경가능

(29)

5-1 응용 컨트롤(Control)

 파일 시스템 관련 컨트롤

실습 5-4

실행방법

드라이브 변경시 만약 드라이브가 준비되지 않았을 경우에는 에러 메시지를 표시

(30)

5-1 응용 컨트롤(Control)

 파일 시스템 관련 컨트롤

실습 5-4

실행방법

디렉토리 리스트 박스에서 비트맵이나 아이콘 파일이 들어있는 디 렉토리를 선택하면 그 파일 리스트를 파일 리스트 박스에 나타냄

(31)

5-1 응용 컨트롤(Control)

 파일 시스템 관련 컨트롤

실습 5-4

실행방법

파일 리스트 박스에서 나타난 그림파일을 선택하면 그림이 오른쪽 이미지에 로드되며 하단의 텍스트 박스엔 선택된 파일의 경로를 표시

(32)

5-1 응용 컨트롤(Control)

 파일 시스템 관련 컨트롤

실습 5-4

FILE 프로그램에 사용된 컨트롤

그림 삽입 해야함!!!

(33)

5-1 응용 컨트롤(Control)

파일 시스템 관련 컨트롤

실습 5-4

속성표

파일 리스트 박스의 Pattern 속성은 디렉토리안의 파일 리스트를 나타낼 때 이 속성에 설정된 패턴의 파일 리스트만을 표시한다

예로 “*.EXE”로 설정하면 확장자가 “EXE”인 파일만을 표시하고, 세미콜 론으로 분리해서 여러 가지의 패턴을 설정할 수도 있다.

컨트롤 이름 컨트롤 종류 사용된 속성

frmFile 폼 (Name) = frmFile Caption = FILE drvFile 드라이브 리스트 박스 (Name) = drvFile dirFile 디렉토리 리스트 박스 (Name) = dirFile filFile 파일 리스트 박스 (Name) = filFile

Pattern = *.ico;*.bmp

imgFile 이미지

(Name) = imgFile

BorderStyle = 1 - 단일고정 stretch = True

txtFile 텍스트 박스 (Name) = txtFile Text =“”

(34)

5-1 응용 컨트롤(Control)

 파일 시스템 관련 컨트롤

실습 5-4

코드 프로시저 작성

드라이브가 변경되었을 때

Private Sub drvFile_Change()

'만일 드라이브가 준비되지 않았으면 Err로 분기 On Error GoTo Err

'드라이브를 변경함 ChDrive drvFile.Drive

'변경된 드라이브의 디렉토리를 표시 dirFile.Path = drvFile.Drive

'에러없이 성공적으로 드라이브가 변경되면 Exit Sub

'에러가 발생했을 경우 Err:

MsgBox ”드라이브가 준비되지 않았습니다.”, vbExclamation, “오류”

drvFile.Drive = dirFile.Path End Sub

(35)

5-1 응용 컨트롤(Control)

 파일 시스템 관련 컨트롤

실습 5-4

코드 프로시저 작성

디렉토리가 변경되었을 때

파일을 선택했을 때

Private Sub dirFile_Change()

'변경된 디렉토리의 파일 리스트를 표시 filFile.Path = dirFile.Path

End Sub

Private Sub filFile_Click()

'파일 이름을 포함하지 않은 경로를 넘김 DirPath = filFile.Path

'파일 이름까지 포함한 경로를 넘김

FilePath = DirPath & "\" & filFile.filename

'그림파일을 실행함

imgFile.Picture = LoadPicture(FilePath) '그 파일의 전체경로를 텍스트 박스에 표시 txtFile.Text = FilePath

End Sub

참조

관련 문서

학과 사무실

학과 사무실

같은 폴더 밑에 같은 아이디로 앞에 dds 만 덧붙여서 새로운 파일 을 만든다....

ios_base::beg 파일의 처음 위치를 기준으로 새로운 위치로 이동 ios_base::cur 파일의 현재 위치를 기준으로 새로운 위치로 이동 ios_base::end 파일의

안드로이드 운영체제는 자체 백업 기능과 데이터 공유기능을 통해 파일 또는 컨텐츠 단위 수집이 가능 1.. 임베디드 시스템 증거

토요타는 상용시장에 집중하기 위해 연료 전지 핵심부품 판매 전략으로 전환.. EU의 에너지 시스템 통합.. II. EU 에너지 시스템 통합 내에서의 수소 전략.. 유럽연합의

• 파일 열기를 선택하면 그림과 같이 실행되고 VI를 찾기 위한 열(open) 파일 선택 대화상자가 화면에 나타난다. VI를 선택한 후

그 다음 프로그램을 실행할 때부터는 관리자의 생일을 물어 정확하게 알면 GOOD이라고 출력하고 틀리면 다시 묻는 프 로그램을