반응형
* Redim Preserve 및 배열 크기 조절 예제...
전체 소스 코드
Form1.vb
Public Class Form1
Dim strTmp(2) As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
strTmp(0) = "Test 1"
strTmp(1) = "Test 2"
End Sub
Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
'TextBox 값이 빈 값이면...
If txtNumber.Text = "" Then
MessageBox.Show("배열 수 값이 빈 텍스트 일 순 없습니다.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
Return
End If
'TextBox 값이 숫자가 아닐 경우...
If IsInt(txtNumber.Text) = 0 Then
MessageBox.Show("숫자만 입력 해 주세요.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
txtNumber.Text = ""
txtNumber.Focus()
Return
End If
'기본 배열 갯수 보다 이상 으로 숫자 입력 받음...
If Convert.ToInt32(txtNumber.Text) <= 3 Then
MessageBox.Show("3 이상 숫자를 입력 해 주세요.", "확 인", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
txtNumber.Text = ""
txtNumber.Focus()
Return
End If
'배열 인덱스 가르킬 변수...
Dim iIndex As Integer = 2
txtMsg.Text = ""
txtMsg.Text += strTmp(0) + System.Environment.NewLine
txtMsg.Text += strTmp(1) + System.Environment.NewLine
'두번째 방법 Redim 문 사용 VB6 처럼
'txtNumber 수 만큼 배열 크기 늘리기
'기존 2 개 선언 했던 값 포함 됨 Test 1 과 Test 2 값.
'ReDim Preserve strTmp(Convert.ToInt32(txtNumber.Text))
For iCount As Integer = 3 To Convert.ToInt32(txtNumber.Text)
'첫번째 방법 C# 과 같이 Array 클래스 사용
'배열 갯수 증가...
Array.Resize(strTmp, iCount)
strTmp(iIndex) = "Test " + iCount.ToString()
txtMsg.Text += strTmp(iIndex) + System.Environment.NewLine
iIndex += 1
Next
End Sub
Private Function IsInt(ByVal ob As Object) As Integer
If ob Is Nothing Then Return 0
Dim i As Integer
'int 형 변환
Dim b As Boolean = Integer.TryParse(ob.ToString(), i)
If Not b Then Return 0
Return i
End Function
End Class
* 예제 결과 화면
결과 화면에서 보듯이 예제를 따라 완성 해보면 배열 사이즈를 줄였다 늘렸다 할 수 있습니다.
https://kdsoft-zeros.tistory.com/77
반응형
'VB.NET Programming' 카테고리의 다른 글
[VBNET] Json File Write & Read 예제... (0) | 2019.12.07 |
---|---|
[VBNET] 반올림 Math.Round() 예제 (0) | 2019.11.28 |
[VBNET] 폼 (Form) 사이즈 고정(Size fix) (0) | 2019.11.23 |
[VBNET] 32bit, 64bit 운영체제 체크 하기 (0) | 2019.11.22 |
[VBNET] 폴더 락 설정 및 해제 (Folder Lock) - 폴더권한설정 및 해제 (0) | 2019.11.19 |