티스토리 뷰

반응형


vb로 개발을 하다보면

string 문자열을 받아서

포맷을 변환해야 할 일이 종종 생긴다.

예를 들어 winsock을 이용해서

바이트 단위로 전문 데이터를 주고받는다면

보내는 전문을 작성할 때

그리고 전문을 받아서 해석할 때

mid를 어떻게 써야하는지, midb는 어떻게 써야하는지

문자열은 어떻게 변환해야 하는지에 대해서 한번쯤 고민해 봐야 할 것이다.

(애초에 언어를 만든게 코쟁이들이기 때문에 알파벳과 한글의 byte수 차이는 감수해야....흙..)




그래서 이번에는

실무에서 빈번하게 사용되는 함수인 StrConv함수와 인자값에 대해서 정리해 보고자 한다.



우선 StrConv 함수는

Function StrConv(String, Conversion As VbStrConv, [LocaleID As Long])

이런식으로 미리 정의되어 있는 함수다.

VBA.Strings 구성원이며 "변환된 문자열을 반환합니다."라고 설명되어 있다.

함수의 인자값으로는


1. String

  변환하고자 하는 문자열

2. Conversion As VbStrConv

  이 부분은 변환하고자 하는 형식을 지정한다.
 
  Conversion 다음에 As VbStrConv라고 되어있는데 VbStrConv형으로 미리 선언되어 있단 뜻이다.

  VbStrConv는 VB자체에서 이미 정의되어 있는 상수이며 그 종류는 다음과 같다.


상수명 상수값 설명 
Const vbFromUnicode 128 (&H80) 유니코드에서 기본코드로 변환
Const vbHiragana 32 (&H20) Katakana를 Hirakana로 변환(일본만 해당)
Const vbKatakana 16 (&H10) Hirakana를 Katakana로 변환(일본만 해당)
Const vbLowerCase 2 문자열을 소문자로 변환
Const vbNarrow 8 2바이트 문자를 1바이트로 변환
Const vbProperCase 3 문자열내 첫글자를 대문자로 변환
Const vbUnicode 64 (&H40) 기본코드에서 유니코드로 변환
Const vbUpperCase 1 문자열을 대문자로 변환
Const vbWide 4 1바이트 문자를 2바이트로 변환
(표. StrConv 함수의 VbStrConv 상수값과 설명)





StrConv 함수를 확인하는 방법은 간단하다.

폼을 하나 만들어서 텍스트 박스와 버튼을 하나 만들고

버튼 클릭 이벤트에서 텍스트박스내의 문자열이 어떻게 변환되는지를 확인하면 된다.


예)

Private Sub Command1_Click()
    MsgBox StrConv(Text1.Text, vbFromUnicode)
    ''MsgBox StrConv(Text1.Text, vbHiragana) ''// 기본코드가 일본어가 아닐 경우 에러
    ''MsgBox StrConv(Text1.Text, vbKatakana) ''// 기본코드가 일본어가 아닐 경우 에러
    MsgBox StrConv(Text1.Text, vbLowerCase)
    MsgBox StrConv(Text1.Text, vbNarrow)
    MsgBox StrConv(Text1.Text, vbProperCase)
    MsgBox StrConv(Text1.Text, vbUnicode)
    MsgBox StrConv(Text1.Text, vbUpperCase)
    MsgBox StrConv(Text1.Text, vbWide)
End Sub






블로그코리아에 블UP하기
반응형
댓글
반응형
12-05 08:33
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함