2014-10-09 23 views
1

編輯:所以我設法讓GetData函數出現在列表中但不是ComputeBalance條目。我無法弄清楚我做錯了什麼。我不確定如何從這些計算中獲取數據以顯示在列表框中。子過程數據不顯示在列表框中

'Get Users Data via Textbox Input' 
Private Sub GetData(ByRef parCreditCard As String, ByRef parBalance As Double, ByRef parPurchases As Double, ByRef parPayment As Double) 

    parCreditCard = txtCreditCard.Text 
    parBalance = txtBalance.Text 
    parPurchases = txtPurchases.Text 
    parPayment = txtPayment.Text 

End Sub 
'Compute Balance' 
Private Sub ComputeBalance(ByVal parBalance, ByVal parPurchases, ByVal parPayment) 
    Dim financeCharge, endBalance, minPayment As Double 


    financeCharge = parBalance * 0.015 
    endBalance = ((financeCharge) + (parBalance) + (parPurchases)) - (parPayment) 

    If parBalance <= 10 Then 
     minPayment = endBalance 
    Else 
     minPayment = (endBalance * 0.05) 
    End If 
End Sub 
'Display Items to list' 
Private Sub DisplayStatement(ByVal parCreditCard, ByVal parBalance, ByVal parPurchases, ByVal parPayment, ByVal financeCharge, ByVal endBalance, ByVal minPayment) 
    lstStatement.Items.Clear() 
    lstStatement.Items.Add("Credit Card Number:" & vbTab & parCreditCard & vbTab) 
    lstStatement.Items.Add("Beginning Balance:" & vbTab & parBalance & vbTab) 
    lstStatement.Items.Add("Total Purchases:" & vbTab & parPurchases & vbTab) 
    lstStatement.Items.Add("Total Payments:" & vbTab & parPayment & vbTab) 
    lstStatement.Items.Add("Finance Charges:" & vbTab & financeCharge & vbTab) 
    lstStatement.Items.Add("End of Month Balance:" & vbTab & endBalance & vbTab) 
    lstStatement.Items.Add("Minimum Payment:" & vbTab & minPayment & vbTab) 

End Sub 
Private Sub btnCalculate_Click(sender As System.Object, e As System.EventArgs) Handles btnCalculate.Click 
    Dim parBalance, parPurchases, parPayment, financeCharge, endBalance, minPayment As Double 
    Dim parCreditCard As String 
    GetData(parCreditCard, parBalance, parPurchases, parPayment) 
    ComputeBalance(endBalance, minPayment, financeCharge) 
    DisplayStatement(parCreditCard, parBalance, parPurchases, parPayment, financeCharge, endBalance, minPayment) 

End Sub 

Private Sub txtCreditCardNumber_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtCreditCard.TextChanged 

End Sub 

Private Sub txtFirstBalance_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtBalance.TextChanged 

End Sub 
End Class 

編輯2:嗯,我設法得到它的工作,但我相信我也能以更簡單的方式做的方式,但這裏是我使用的代碼:

Public Class Lab4 
'Get Users Data via Textbox Input' 
Public Sub GetData(ByRef parCreditCard As String, ByRef parBalance As Double, ByRef parPurchases As Double, ByRef parPayment As Double) 
    parCreditCard = txtCreditCard.Text 
    parBalance = txtBalance.Text 
    parPurchases = txtPurchases.Text 
    parPayment = txtPayment.Text 

End Sub 

'Compute Balance' 
Private Sub ComputeBalance(ByRef parBalance As Double, ByRef parPurchases As Double, ByRef parPayment As Double) 
    Dim financeCharge, endBalance, minPayment As String 
    parBalance = txtBalance.Text 
    parPayment = txtPayment.Text 
    parPurchases = txtPurchases.Text 
    financeCharge = parBalance * 0.015 
    endBalance = ((financeCharge) + (parBalance) + (parPurchases)) - (parPayment) 
    If parBalance <= 10 Then 
     minPayment = endBalance 
    Else 
     minPayment = (endBalance * 0.05) 
    End If 
    txtFinance.Text = financeCharge 
    txtEndBalance.Text = endBalance 
    txtMinPayment.Text = minPayment 
End Sub 

'Display Items to list' 
Private Sub DisplayStatement(ByVal parCreditCard, ByVal parBalance, ByVal parPurchases, ByVal parPayment, ByVal financeCharge, ByVal endBalance, ByVal minPayment) 
    financeCharge = txtFinance.Text 
    endBalance = txtEndBalance.Text 
    minPayment = txtMinPayment.Text 
    lstStatement.Items.Clear() 
    lstStatement.Items.Add("Credit Card Number:" & vbTab & parCreditCard & vbTab) 
    lstStatement.Items.Add("Beginning Balance:" & vbTab & parBalance & vbTab) 
    lstStatement.Items.Add("Total Purchases:" & vbTab & parPurchases & vbTab) 
    lstStatement.Items.Add("Total Payments:" & vbTab & parPayment & vbTab) 
    lstStatement.Items.Add("Finance Charges:" & vbTab & financeCharge & vbTab) 
    lstStatement.Items.Add("Month End Balance:" & vbTab & endBalance & vbTab) 
    lstStatement.Items.Add("Minimum Payment:" & vbTab & minPayment & vbTab) 
End Sub 

Private Sub btnCalculate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCalculate.Click 
    Dim parBalance, parPurchases, parPayment, financeCharge, endBalance, minPayment As Double 
    Dim parCreditCard As String 
    GetData(parCreditCard, parBalance, parPurchases, parPayment) 
    ComputeBalance(parBalance, parPurchases, parPayment) 
    DisplayStatement(parCreditCard, parBalance, parPurchases, parPayment, financeCharge, endBalance, minPayment) 
End Sub 

Private Sub txtCreditCardNumber_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCreditCard.TextChanged 
End Sub 

Private Sub txtFirstBalance_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtBalance.TextChanged 
End Sub 

Private Sub lstStatement_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstStatement.SelectedIndexChanged 

End Sub 

Private Sub Lab4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
End Sub 
End Class 
+2

我很確定這是VB.NET,而不是VB6。 – jac 2014-10-10 01:04:42

回答

0

首先,financeCharge,endBalanceminPayment被聲明爲局部變量Sub ComputeBalance。其次,您實際上在Sub btnCalculate_Click中聲明瞭一組名爲financeCharge,endBalanceminPayment的變量作爲局部變量。您可能意思是爲整個Form聲明變量(在模塊級別)。

+0

那麼我怎麼修復它,以便這些項目將顯示在列表框中? – aknifeguy84 2014-10-09 22:38:57