(12) 내장 함수
ㆍ내장 함수
: 자주 사용되는 기능의 명령어들을
하나의 함수(Function)로 만들어 제공한다.
<함수의 선언문>
Function 함수명([인수, 인수, ...]) As 자료형
<의미>
0개 이상의 인수(들)를 입력 받아 함수명의
기능을 수행하여 자료형의 결과값을
반환한다.
ㆍVB에 미리 정의된 함수
● 수치 함수
Int, Fix, Abs, Sqr, Sgn, Rnd
● 문자열 함수
Lcase, Ucase, Left, Right, Mid, Len, String, Chr
Ltrim, Rtrim, Trim, Space, Val, Str, Instr, Asc
● 날짜 시간 함수
Date, DateAdd, DateDiff, DateValue, Day, Month, Year
WeekDay, Now, Time, Hour, Minute, Second
● 그래픽 관련 함수
QBColor, RGB
ㆍ수학 함수
: 산술적인 계산과 관련된
기능을 수행하는 한다.
Int(x)
x를 정수로 변환하는 함수.
x보다 크지 않은 최대의 정수를 반환
EX) Int(4.5) ☞ 4
Int(-4.6) ☞ -5
Fix(x)
x를 정수로 변환하는 함수.
x의 소숫점 이하의 값을 없앤 정수 값을 반환
EX) Fix(4.5) ☞ 4
Fix(-4.6) ☞ -4
Abs(x)
x의 절댓값을 반환
EX) Abs(4.5) ☞ 4.5
Abs(-4.6) ☞ 4.6
Sqr(x)
x의 제곱근(루트)을 반환
EX) Sqr(4) ☞ 2
Sqr(-4.6) ☞ Error
Sgn(x)
x의 부호값을 반환하는 함수
x가 양수일 때, 1 반환
x가 음수일 때, -1 반환
x가 0일 때, 0 반환
EX) Sgn(4.5) ☞ 1
Sgn(-4.6) ☞ -1
Sgn(0) ☞ 0
Round(x, n)
x를 소수점 n+1자리에서 반올림하여
소수점 n자리까지 표현 한 수를 반환
Rnd()
0~1 사이의 난수값을 반환
※ 정수형 난수값 발생 수식
: Int(((상한값-하한값+1)*Rnd)+하한값)
※ Randimize문
: 실행 시 마다 다른 난수를 얻을 때 사용
ㆍ문자열 함수
: 문자열 조작 및 추출 등의 기능을 한다.
Lcase(문자열)
문자열을 소문자로 변환
EX) LCase("Visual Basic")
☞ "Visual Basic"
LCase("KOREA")
☞ "korea"
Ucase(문자열)
문자열을 대문자로 변환
EX) UCase("Visual Basic")
☞ "VISUAL BASIC"
UCase("abcdefg")
☞ "ABCDEFG"
Len(문자열)
문자열의 길이를 반환
EX) Len("Visual Basic")
☞ 12
Chr(숫자)
지정된 아스키 코드 값에 대응하는
문자를 반환
EX) Chr(37)
☞ "%"
ASC(문자열)
문자열의 첫 글자에 해당하는
아스키 코드 값을 반환
EX) Asc("Visual")
☞ 86
Val(문자열)
문자열 내의 문자열을
숫자로 변환
EX) Val("04650")
☞ 4650
Str(숫자)
숫자를 문자열로 변환
EX) Str(15+8)
☞ "23"
Left(문자열, n)
왼쪽에서 n개의 문자를 추출하여 반환
EX) Left("Visual Basic", 6)
☞ "Visual"
Right(문자열, n)
오른쪽에서 n개의 문자를 추출하여 반환
EX) Right("Visual Basic", 5)
☞ "Basic"
Mid(문자열, n, m)
왼쪽에서 n번째부터 m개의 문자를
추출하여 반환
EX) Mid("Visual Basic", 8, 2)
☞ "Ba"
Ltrim(문자열)
문자열의 왼쪽에 있는
공백을 없앰
EX) LTrim("Visual ")
☞ "Visual"
Rtrim(문자열)
문자열의 오른쪽에 있는
공백을 없앰
EX) RTrim(" Visual ")
☞ " Visual"
Trim(문자열)
문자열의 왼쪽, 오른쪽
공백을 없앰
EX) Trim(" Visual ")
☞ "Visual"
Space(n)
문자열의 길이를 구하는 함수
EX) Space(5)
☞ " "
Instr([n], 문자열1, 문자열2)
문자열1의 n번째 문자 이후에
문자열2가 있는 위치 반환
※ N(시작 인덱스)는 생략 가능
EX) Instr(5, "Visual Basic", "5")
☞ 10
String(n, 문자)
주어진 문자를 반복 출력
EX) String(5, "*")
☞ "*****"
ㆍ날짜 시간 함수
Date
시스템이 발생하는 현재의 날짜 반환
EX) Date ☞ 2018-06-10
DateAdd("{년|월|일}",n,"yyyy-mm-dd")
or DateAdd("{시|분|초}",n,"00:00:00")
지정된 날짜 또는 시간의 원하는
구성요소에 간격 n을 더한 날짜(시간)을
반환
EX) DateAdd("m",3,"2018-06-10")
☞ 2018-06-10
DateAdd("s",40,"12:00:00")
☞ 오후 12:00:40
※ 년-y, 월-m, 일-d, 시-h, 분-n, 초-s
DateDiff("{년|월|일}", 날짜1, 날짜2)
or DateDiff("{시|분|초}", 시간1, 시간2)
두 날짜(시간) 사이의 간격 수를 반환
EX) DateDiff("m","2018-06-10", "2020-08-10"
☞ 26
DateDiff("s","8:00:00", "10:00:00")
☞ 7200
DateValue("yyyy-mm-dd")
문자열을 날짜로 변환
EX) DateValue("yyyy-mm-dd")
☞ 2018-06-10
Day("yyyy-mm-dd")
문자열이나 수에 해당하는 일(day)을 반환
EX) Day("2018-06-10")
☞ 10
Month("yyyy-mm-dd")
문자열이나 수에 해당하는 월(month)을 반환
EX) Month("2018-06-10")
☞ 06
Year("yyyy-mm-dd")
문자열이나 수에 해당하는 연도(year)을 반환
EX) Year("2018-06-10")
☞ 2018
WeekDay("yyyy-mm-dd")
날짜에 해당하는 요일을 숫자로 반환
(일-1,월-2,화-3,수-4,목-5,금-6,토-7)
EX) WeekDay("2018-06-10")
☞ 1
Now
현재의 시간과 날짜를 반환
(yyyy-mm-dd {오전/오후} 00;00;00)
EX) Now
☞ 2018-06-10 오후 7:00:00
Time
시스템이 발생하는 현재의 시간을 반환
({오전/오후} hh:mm:ss)
EX) Time
☞ 오후 7:00:30
Hour
시간을 나타내며, 0~23사이의 수를 반환
EX) Hour("19:20:40")
☞ 19
Minute
분을 나타내며, 0~59 사이의 수를 반환
EX) minute("19:20:40")
☞ 20
Second
초를 나타내며, 0~59 사이의 수를 반환
EX) Second("19:20:40")
☞ 40
ㆍVB의 색상
: 폼과 컨트롤의 속성은
속성창에서 16진수로 표시하거나
색상 팔레트 대화창을 이용하여 설정
* 색상과 관련된 속성
● BackColor
: 폼과 컨트롤의 바탕색을 지정
● BorderColor
: 컨트롤의 테두리 색을 지정
● ForeColor
: 폼/컨트롤 위에 그려지는
그래픽/텍스트의 색 지정
● FillColor
: 사각형/원의 내부를 채우는
색 지정
ㆍRGB 함수
: 프로그램 수행 시 오브젝트 색상을
결정하는 색상 번호를 반환한다.
EX) RGB함수, QBColor 함수
<형식>
RGB(Red, Green, Blue)
각 파라미터의 값 : 0 ~ 255
* 0 : 색상이 없다.
* 255 : 해당 색상의 최대 명암도
<예>
Black = RGB(0, 0, 0)
Red = RGB(255, 0, 0)
Yellow = RGB(255, 255, 0)
White = RGB(255, 255, 255)
ㆍ형변환 함수
: 데이터의 자료형을 변환한다.
CBool(식)
식을 Boolean형으로 변환
CByte(식)
식을 Byte형으로 변환
CInt(식)
식을 Int형으로 변환
CSng(식)
식을 Single혀으로 변환
CLng(식)
식을 Long형으로 변환
CDble(식)
식을 Double형으로 변환
CStr(식)
식을 String형으로 변환
CDec(식)
식을 Decimal형으로 변환
CCur(식)
식을 통화형으로 변환
CDate(식)
식을 날짜형으로 변환
CVar(식)
식을 가변형으로 변환
ㆍ입ㆍ출력 함수
MsgBox 함수 : 사용자에게 메시지 전달
Input 함수 : 사용자로부터 데이터를 입력받음
Print 함수 : 프로그램의 결과 값을 사용자에게 출력
[MsgBox]
<형식>
MsgBox 메시지, [버튼과 아이콘의 종류],[제목표시줄 내용]
*메시지는 사용자에게 알리고자 하는 내용을
문자열로 작성하는 인수.
*[버튼과 아이콘의 종류]는 선택적 인수로
생략하면 [확인] 버튼(0-VbOkOnly)으로 설정.
*[제목표시줄 내용]은 생략하면
응용프로그램의 이름으로 표시됨.
<구성>
● 버튼의 종류
VbOkOnly
상수 = 0, 확인 버튼
VbOkCancel
상수 = 1, 확인ㆍ취소 버튼
VbAbortRetryIgnore
상수 = 2, 중단ㆍ다시시도ㆍ무시 버튼
VbYesNoCancel
상수 = 3, 예ㆍ아니오ㆍ취소 버튼
VbYesNo
상수 = 4, 예ㆍ아니오 버튼
VbRetryCancel
상수 = 5, 다시시도ㆍ취소 버튼
● 아이콘의 종류
VbCritical
상수 = 16, 치명적 에러 메시지
VbQuestion
상수 = 32, 질의 메시지
VbExclamation
상수 = 48, 경고 메시지
VbInformation
상수 = 64, 정보 메시지
● 반환 값
: 사용자가 버튼을 눌렀을 때
사용자의 응답에 따라 처리를
달리 하고 싶다면 아래와 같은
형식으로 MsgBox함수를
사용해 반환 값을 받는다.
변수 = MsgBox(메시지,[버튼과 아이콘의 종류],[제목표시줄 내용])
○ 리턴 값
VbOk
상수 = 1, 확인 버튼 클릭 시
VbCancel
상수 = 2, 취소 버튼 클릭 시
VbAbort
상수 = 3, 중단 버튼 클릭 시
VbRetry
상수 = 4, 다시 시도 버튼 클릭 시
VbIgnore
상수 = 5, 무시 버튼 클릭 시
VbYes
상수 = 6, 예 버튼 클릭 시
VbNo
상수 = 7, 아니오 버튼 클릭 시
[INPUT 함수]
: 프로그램 실행 중에 사용자에게서 데이터를
입력 받기 위해 사용한다.
<형식>
InputBox 메시지,[제목표시줄 내용],[기본값]
변수=InputBox(메시지,[제목표시줄 내용],[기본값])
<구성>
[제목표시줄의 내용]은 제목표시줄에 나올 내용.
[기본값]은 입력 필드에 나오는 내용.
[Print 함수]
: 간단하게 데이터를 출력할 때 사용한다.
<형식>
Print 데이터1 [,데이터2,데이터3,ㆍㆍㆍ]
Print 자료1, 자료2, 자료3
Print 자료1; 자료2; 자료3
<구성>
Print 함수의 사용 형식에서
데이터1과 데이터2 사이에 있는
콤마(,) 대신 세미콜론(;)을 사용할 수 있다.
출력할 데이터 사이에 콤마를 사용할 경우
일정한 간격을 띄우고 데이터를 출력하고,
세미콜론을 사용할 경우에는 붙여서 출력한다.
<Print문과 함께 쓰이는 것들>
Tab(N)
화면의 가장 좌측에서 N번째 칸에 출력
Spc(N)
이전에 출력된 문자열 다음부터 N개의
공백을 출력