2013-02-14 4 views
1

평균을 계산하는 프로그램을 만들고 있습니다. 12 TextBox가 있으며 일부 필드를 비워 둘 수있는 가능성을 만들고 싶습니다. 이제는 오류와 프로그램의 충돌 만 있습니다. 그것을 만들 수 있습니까?TextBox를 무시할 수 있습니까?

이 코드의 일부입니다

나는 평균 VB는 '싱글'를 입력 문자열 ""에서 캐스트 유효하지 말한다 계산하기 버튼을 클릭 할 때 내가 빈 TextBox1에두면
ItalianoScritto = (TextBox1.Text) 
MatematicaScritto = (TextBox2.Text) 
IngleseScritto = (TextBox3.Text) 
InformaticaScritto = (TextBox4.Text) 
ScienzeScritto = (TextBox5.Text) 
FisicaScritto = (TextBox6.Text) 
MediaScritto = (ItalianoScritto + MatematicaScritto + IngleseScritto + InformaticaScritto + ScienzeScritto + FisicaScritto)/6 
Label10.Text = Str(MediaScritto) 

및 테 TextBox1에의 바는 노란색이 될

당신은 단지 TextBox이 값을 사용하기 전에 각 하나에 비어 있는지 확인해야
+0

충돌하는 코드는 어떻게 보이며 어떤 식으로 충돌합니까? 또한, 좋은 질문을 작성하는 데 대한 몇 가지 팁 : http://tinyurl.com/sohints –

+0

그것은 말합니다 : "단일"을 입력 문자열 ""에서 유효하지 캐스트. – Simbox97

+0

변수 xxxxxScritto의 데이터 유형은 무엇입니까? 확인하지 않고 잠재적으로 숫자 변수에 문자열 값을 자유롭게 전달합니다. OPTION STRICT ON을 사용합니까? – Steve

답변

0

:

If TextBox7.TextLength <> 0 Then 
    'Use the value inside 
End If 

방법은 코드에 따라 다릅니다. 우리가 더 잘 할 수 있도록 더 많은 정보 (및 코드)를 제공하는 질문 편집을 고려해야합니다.

2

다음을 수행합니다. 텍스트 상자를 반복하고 itteer로 값을 구문 분석 할 수 있는지 확인하십시오. 그렇다면 값 목록에 추가하십시오. 그런 다음 목록에서 모든 값을 더하고 사례 수로 나눕니다. 그것은

dim TBList as new list(of Textbox) 
'add your textboxes to the list here 
TbList.add(Textbox1) 
... 

dim ValList as new List(Of Integer) 
for each elem in Tblist 
    dim value as integer 
    If integer.tryparse(elem.text,value)=True 
    ValList.add(Value) 
    else 
    'report error or do nothing 
    end if 
next 

dim Result as Integer 
Dim MaxVal as Integer =0 
for each elem in ValList 
    Maxval +=elem 
next 

Result = MaxVal/ValList.count 

방금 ​​이중 또는 단일 대신 정수를 선택 소수점 값에 대한 지원이 필요하면 오류에 대한 큰 경우 명령문보다 빠른 탄력입니다. 또한 텍스트 상자의 값이 숫자인지 여부에 관계없이 수행 할 작업. tryparse를 생략하면 누군가가 "A"를 입력하고 앱이 충돌하고 화상을 입습니다.

기타 : 강압 ON!

관련 문제