VB에서 구조체(Type) 선언하여 사용하기

#VB에서 #구조체를 선언하여 사용하면 아주 편리합니다.

예를 들어보죠. DB의 한 테이블이 있습니다. 열이 약 20개나 되고 각각이 의미하는 정보와 열의 이름이 다른 상태입니다.

여기서 각각의 열에 들어 있는 값들을 VB에서 가져와 변수에 담으려고 합니다. 각 열들의 값을 변수로 받으려면 변수 20개를 만들어서 사용해야 합니다. 20개나 되는 열에 대응하는 각각의 변수명 조차 기억하기 쉽지 않습니다.

하지만 구조체를 만들면 이 작업을 조금더 편하게 할 수 있습니다. 변수에 값을 담기 위해 변수명을 일일이 기억하는게 아니라 구조체 이름을 적고 뒤에 점만 찍으면 그 구조체의 멤버들을 바로 보여주기 때문에 각 멤버에 대응하는 값을들 담아주면 되죠.

뭔소린지 모르겠고 아무튼 알아봅시다.

구조체(Type) 선언 하기

Public Type SecInfo
    ID      as String
    Code        as String
    Name        as String
    TradeDate   as Date
    EffectiveDate   as Date
    SettlementDate  as Date
    UnderlyingID    as String
    ...
End Type

구조체를 모듈에 이런식으로 선언을 합니다. SecInfo 라는 구조체 안에 ID, Code, Name 등등의 멤버들이 포함되어 있다고 알려주는 것이죠. 기본적으로 구조체는 Public 으로 선언되기 때문에 굳이 앞에 Public 을 쓰지 않아도 됩니다.

구조체 사용하기

Dim Sec as SecInfo
With Sec
    .ID = ""
    .Code = ""
    .Name = ""
    .TradeDate = "2017-03-16"
    .EffectiveDate = "2017-03-16"
    .SettlementDate = "2018-03-15"
    .UnderlyingID = "KOSPI200"
    ...
End With

먼저 Sec 라는 이름의 변수를 하나 만들면서 이 변수가 SecInfo 의 구조를 가진다고 선언해줍니다. 그럼 이제 우리는 위와 같이 Sec 라는 변수를 With 문을 이용해 각각의 멤버에게 값을 할당해 줄 수 있는 것이죠.

구조체 각 멤버들의 변수명만 외우지 않아도 상당히 편리함을 느낄수 있습니다.

끝.