2017-04-08 4 views
0

Dieser Code schrieb ermöglicht diese Deklarationen in die ListBox zu gehen, aber leider, wenn es ausgeführt wird, zeigt es nur die Kontonummer und nichts anderes. Ich versuche herauszufinden, was ich falsch gemacht habe, kann es aber nicht herausfinden.Erstellen eines Display-Codes für einen Geldautomaten

Dim Loan As Decimal 
Dim Account_Number, CustomerName, OpeningBalance, CurrentBalance, Loan_Taken, Amount_of_Loan, Amount_Deposited As String 

If OneAccount.LoanTaken Then 
    Loan = OneAccount.CustomerLoan 

    Account_Number = TextBox1.Text 
    CustomerName = TextBox2.Text 
    OpeningBalance = Val(TextBox3.Text) 
    CurrentBalance = Val(TextBox3.Text) - Val(TextBox5.Text) 
    Label8.Text = CurrentBalance 
    If CheckBox1.Checked = True Then 
     Loan_Taken = "Yes" 
    Else 
     Loan_Taken = "No" 
    End If 
    Amount_of_Loan = Format(Loan, "Currency") 
    Amount_Deposited = Label8.Text 
    Amount_Deposited = Amount_Deposited 
    Amount_Deposited = Format(Amount_Deposited, "Currency") 

    ListBox2.Items.Add(String.Format(Account_Number, CustomerName, OpeningBalance, CurrentBalance, Loan_Taken, Amount_of_Loan, Amount_Deposited)) 
End If 
+0

https://ericlippert.com/2014/03/05/how-to-debug-small-programs/ – Jens

Antwort

1

Das Problem ist, mit dieser Linie

ListBox2.Items.Add(String.Format(Account_Number, CustomerName, OpeningBalance, CurrentBalance, Loan_Taken, Amount_of_Loan, Amount_Deposited)) 

Hier wird die Dokumentation für String.Format: https://msdn.microsoft.com/en-us/library/system.string.format(v=vs.110).aspx

ich genau bin nicht sicher, wie Sie es zu formatieren versuchen, aber Sie könnte einfach tun

ListBox2.Items.Add(Account_Number + " " + CustomerName + " " + OpeningBalance + " " + CurrentBalance + " " + Loan_Taken + " " + Amount_of_Loan + " " + Amount_Deposited) 

Das wird alle Elemente in die Listbox mit einem Leerzeichen in b hinzufügen dazwischen.

0

Sie müssen die Zeile ändern, in der Sie das Element in ListBox2 hinzufügen. Ändern Sie den String.Format zu String.Join wie folgt aus:

String.Join(" ", Account_Number, CustomerName, OpeningBalance, CurrentBalance, Loan_Taken, Amount_of_Loan, Amount_Deposited) 

Dies wird kommen alle Werte zusammen mit einem Raum dazwischen.

String.Format() funktioniert nicht, weil es einen String als erstes Argument und alle folgenden Argumente in die erste Zeichenfolge wie folgt eingefügt werden soll stattfinden wird:

String.Format("Name: {0}, Age: {1}", "John", 20) 
' "Name: John, Age: 20" 

So ist es entweder String.Concat() oder String.Join().

String.Concat("Hello", "World", "!) ' "HelloWorld!" 
String.Join(", ", "0", "1", "2", "3") ' "0, 1, 2, 3" 
Verwandte Themen