차례:
비디오: ※비주얼 베이직 닷넷 2010 강의[1.개요와기본문법-vb.net설치와 개요-net의 개념과 vb.net설치 강좌] 2024
VB에 적용됩니다. NET 프로그램은 미국이 주, 카운티 및 도시로 나뉘듯이 영역으로 세분됩니다. 법 집행 요원이 관할 구역의 크기가 다른 것처럼 (시 경찰, 주범 기병 및 FBI, 어느 곳에서나 갈 수 있음), VB. NET 프로그래밍 라인에는 영향을 미치는 범위가 있습니다. 범위, 라고하는이 영향 범위는 대부분 변수에 적용됩니다 (그러나 프로 시저 (서브 클래스와 함수) 및 전체 클래스에도 적용 할 수 있음).
변수 액세스
변수의 값을 쿼리하거나 변경하려는 경우가 종종 있지만 해당 변수에 액세스 할 수 있는지 여부는 범위에 따라 다릅니다. 예를 들어 동일한 프로 시저 (함수, 서브 루틴 및 이벤트는 모든 프로 시저) 내에서 항상 변수에 액세스 할 수 있습니다.
이 작업 방법을 보려면 코드 모듈에 다음을 입력하십시오.
Private Sub Form1_Load (ByVal 보낸 사람은 시스템 개체, ByVal e는 시스템. EventArgs)는 MyBase를 처리합니다. 로드
Dim N As String = "This"
MsgBox (N)
End Sub
-F5를 누르고 MsgBox에 변수 N의 값을 표시하는 데 문제가 없음을 확인하십시오.
This가 표시됩니다. 이제 코드 창에 Form1_Load 하위 바로 아래에 다른 하위를 입력하십시오.
Public Sub TryIt ()
MsgBox (N)
End Sub
변수 N 아래에 톱니 모양 선이 있습니다. TryIt sub. 톱니 모양 선과 VB 위에 마우스 포인터를 올려 놓습니다. NET에서 Name 'N'이 선언되지 않았다는 오류 메시지를 표시합니다.
Dim이 가장 일반적으로 사용되지만 정적, 공개, 보호됨, 친구, 공유, 보호 된 친구 및 비공개의 7 가지 추가 선언 명령을 사용할 수 있습니다. 이러한 추가 명령은 범위를 지정합니다 (프로그램에서 변수에 액세스 할 수있는 위치).프로 시저 내에서 변수를 선언 할 때 변수는 해당 프로 시저에서만 작동합니다. 프로그램이 프로 시저 (또는 이벤트)를 실행하면 End Sub 라인이 실행 되 자마자 변수가 실행되고 그 일을 수행 한 다음 죽습니다 (사라짐).
변수가 로컬 인 경우
단일 프로 시저에서만 존재하는 변수를
로컬 변수라고합니다. 지역 변수는 암기해야 할 두 가지 자질을 가지고 있습니다: 자신의 프로 시저 밖에 프로그래밍 할 수 없으며, 값을 읽거나 값을 변경하기 위해 프로그래밍과 상호 작용할 수 없습니다.
- 그들의 범위는 그들 만의 절차에 국한된다. VB가 상주하는 프로 시저 실행을 마치면 값은 증발합니다. 이 프로 시저가 두 x 째 실행될 경우, 일단 로컬 변수에 들어 있던 값은 더 이상 존재하지 않습니다. 프로 시저의 실행은 수명입니다. 지역 변수의 값을 보존하려는 경우가 있습니다. 이러한 경우 Dim 명령 대신 Static 명령을 사용합니다.
- Private Sub Form1_Load (ByVal 보낸 사람 시스템 개체, ByVal e As System..::. EventArgs) MyBase를 처리합니다. Load Dim n As Integer 정적 x As Integer
End Sub
이 예에서 End Sub를 실행하면 변수 n의 값이 손실됩니다. 그러나 변수 x는 프로그램이 종료 될 때까지 해당 값을 유지합니다. 이것을 넣는 또 다른 방법은 다음과 같습니다. Static 명령을 로컬 변수와 함께 사용하면 해당 변수의 값이 응용 프로그램의 수명 동안 보존됩니다. (평생이란 프로그램에서 무언가가 존재하는 기간을 의미합니다.)
두 개의 명령 단추를 폼에 놓은 다음 프로그램을 실행하고 Command1을 먼저 클릭 한 다음 Command2를 클릭하면 어떻게 될 것이라고 생각하십니까? 이 다음 프로그램?
Private Sub Button1_Click (System..::. Object로 시스템에서 ByVal 보낸 사람. EventArgs) Button1을 처리합니다.
Dim X As Integer
X = 12
X = X + 5
End Sub
전용 하위 Button2_Click (ByVal 보낸 사람으로 시스템 개체, 이벤트로 EventArgs) Button2를 처리합니다..
Dim X As Integer
MsgBox (X)
End Sub
메시지 상자에는 아무 것도 표시되지 않습니다. Command1의 Click 이벤트에서 변수 X는 Command2의 Click 이벤트에서 X와 완전히 다른 변수입니다. 그들은 지역적이며 서로 관계가 없기 때문에 브롱크스에서 살면서 결코 만나는 사람이 아닌 마이크라는 이름의 이방인 만 있습니다.
하지만이 두 절차 모두에서 동일한 변수에 액세스하고 조작 할 수있게하려면 어떻게해야할까요? 이렇게하려면 프로 시저 밖에서 변수를 정의합니다. 시도 해봐. 코드 창에서 첫 번째 프로 시저 바로 위에있는 (Private Sub Form1_Load 줄 위)를 클릭하여 삽입 커서를 이동하십시오.
다음과 같이 입력하십시오:
Dim x As Integer
여기서 양식 범위 전체에 부여 할 변수를 넣으려고합니다. 즉, 해당 형식의 모든 프로 시저를 허용하려면 (Form1,이 경우) 변수를 읽고 수정할 수 있습니다. (VB.NET 이전에 일반 선언 영역이라고 불렀던 폼 전체 변수를 두는 영역)
이제 X 변수가 모든 하위 및 다른 프로 시저의 위 (외부)에서 흐려지면서 동일한 프로그램을 실행하고 Command1을 클릭 한 다음 Command2를 클릭하면 보려는 결과 (숫자 17)가 표시됩니다. X를 범위에서 전체 양식으로 선언하면 두 단추가 해당 변수 X에 액세스 할 수 있습니다.이전에이 두 Button 이벤트에서 X를 선언 한 두 개의 Dim 문을 삭제합니다. 이제 X = X + 5와 MsgBox (X)는 모두 X라는 동일한 변수를 참조합니다.
변수에 전체 양식 범위가 있으면 해당 양식의 모든 프로 시저에서 변수를 사용할 수 있습니다. 그러나 프로젝트의 다른 모든 절차의 절차에는 사용할 수 없습니다.