hi
ich hoffe mir kann jemand helfen
habe nach paar jahren wieder angefangen mich in vb einzuarbeiten
Ich habe das problem dass ich die werte einer aus einer for schleife mit doppelter if abfrage in arrays speichern und in listbox darstellen möchte.
Bei Listbox 12 bis 16 funktioniert alles nur bei 17 (Zeile 66) kommt der Fehler ArgumentNullException ich kann mir nur erklären dass es mit dem dim string zusammenhängen kann.
Ich finde leider in meinen alten Unterlagen nichts was mir weiterhilft
Ach und das alles wird durch einen Button gestartet.
In der Listbox sollte es am Ende so aussehen wobei die Reihenfolge jetzt frei gewählt ist:
Metallmine 13
Kristallmine 12
Plasmatechnik 5
...
Schonmal Danke für die Hilfe
D@niel
ich hoffe mir kann jemand helfen
habe nach paar jahren wieder angefangen mich in vb einzuarbeiten
Ich habe das problem dass ich die werte einer aus einer for schleife mit doppelter if abfrage in arrays speichern und in listbox darstellen möchte.
Bei Listbox 12 bis 16 funktioniert alles nur bei 17 (Zeile 66) kommt der Fehler ArgumentNullException ich kann mir nur erklären dass es mit dem dim string zusammenhängen kann.
Ich finde leider in meinen alten Unterlagen nichts was mir weiterhilft
Ach und das alles wird durch einen Button gestartet.
In der Listbox sollte es am Ende so aussehen wobei die Reihenfolge jetzt frei gewählt ist:
Metallmine 13
Kristallmine 12
Plasmatechnik 5
...
Schonmal Danke für die Hilfe
D@niel
VB.NET-Quellcode
- Dim ASchritte As Integer
- Dim i12 As Integer
- Dim IMetmine As Integer
- Dim IKrismine As Integer
- Dim IDeutmine As Integer
- Dim IPlasma As Integer
- Dim IMSEMG As Double
- Dim ListBau(NumericUpDown1.Value - 1) As Double
- Dim ListMet(NumericUpDown1.Value - 1) As Double
- Dim ListKris(NumericUpDown1.Value - 1) As Double
- Dim ListDeut(NumericUpDown1.Value - 1) As Double
- Dim ListPlasma(NumericUpDown1.Value - 1) As Double
- Dim Listmine(NumericUpDown1.Value - 1) As String
- IMetmine = MetmineA
- IKrismine = KrismineA
- IDeutmine = DeutmineA
- IPlasma = plasma
- IMSEMG = KostenMSEA
- For ASchritte = 1 To NumericUpDown1.Value
- If List9(IMetmine) < List10(IKrismine) And List9(IMetmine) < List11(IDeutmine) And List9(IMetmine) < ((Fix(1000 * (2 ^ (IPlasma + 1))) + Fix(2000 * (2 ^ (IPlasma + 1))) * Metkurs / Kriskurs + Fix(500 * (2 ^ (IPlasma + 1))) * Metkurs / Deutkurs) / (Fix((30 * IMetmine * 1.1 ^ IMetmine * (Geologe + 1 * (IPlasma + 1) / 100)) * Unispeed - (30 * IMetmine * 1.1 ^ IMetmine * (Geologe + 1 * (IPlasma) / 100)) * Unispeed) + Fix((20 * IKrismine * 1.1 ^ IKrismine * (Geologe + 0.66 * (IPlasma + 1) / 100)) * Unispeed - (20 * IKrismine * 1.1 ^ IKrismine * (Geologe + 0.66 * (IPlasma) / 100)) * Unispeed) * Metkurs / Kriskurs)) Then
- IMSEMG = IMSEMG - List1(IMetmine) * planizahl
- If IMSEMG >= 0 Then
- IMetmine = IMetmine + 1
- Listmine(ASchritte - 1) = "Metallmine " & IMetmine - 1
- Else : Exit For
- End If
- ElseIf List10(IKrismine) < List9(IMetmine) And List10(IKrismine) < List11(IDeutmine) And List10(IKrismine) < ((Fix(1000 * (2 ^ (IPlasma + 1))) + Fix(2000 * (2 ^ (IPlasma + 1))) * Metkurs / Kriskurs + Fix(500 * (2 ^ (IPlasma + 1))) * Metkurs / Deutkurs) / (Fix((30 * IMetmine * 1.1 ^ IMetmine * (Geologe + 1 * (IPlasma + 1) / 100)) * Unispeed - (30 * IMetmine * 1.1 ^ IMetmine * (Geologe + 1 * (IPlasma) / 100)) * Unispeed) + Fix((20 * IKrismine * 1.1 ^ IKrismine * (Geologe + 0.66 * (IPlasma + 1) / 100)) * Unispeed - (20 * IKrismine * 1.1 ^ IKrismine * (Geologe + 0.66 * (IPlasma) / 100)) * Unispeed) * Metkurs / Kriskurs)) Then
- IMSEMG = IMSEMG - List2(IKrismine) * planizahl
- If IMSEMG >= 0 Then
- IKrismine = IKrismine + 1
- Listmine(ASchritte - 1) = "Kristallmine " & IKrismine - 1
- Else : Exit For
- End If
- ElseIf List11(IDeutmine) < List9(IMetmine) And List10(IKrismine) And List11(IDeutmine) < ((Fix(1000 * (2 ^ (IPlasma + 1))) + Fix(2000 * (2 ^ (IPlasma + 1))) * Metkurs / Kriskurs + Fix(500 * (2 ^ (IPlasma + 1))) * Metkurs / Deutkurs) / (Fix((30 * IMetmine * 1.1 ^ IMetmine * (Geologe + 1 * (IPlasma + 1) / 100)) * Unispeed - (30 * IMetmine * 1.1 ^ IMetmine * (Geologe + 1 * (IPlasma) / 100)) * Unispeed) + Fix((20 * IKrismine * 1.1 ^ IKrismine * (Geologe + 0.66 * (IPlasma + 1) / 100)) * Unispeed - (20 * IKrismine * 1.1 ^ IKrismine * (Geologe + 0.66 * (IPlasma) / 100)) * Unispeed) * Metkurs / Kriskurs)) Then
- IMSEMG = IMSEMG - List3(IDeutmine) * planizahl
- If IMSEMG >= 0 Then
- IDeutmine = IDeutmine + 1
- Listmine(ASchritte - 1) = "Deuteriummine " & IDeutmine - 1
- Else : Exit For
- End If
- ElseIf ((Fix(1000 * (2 ^ (IPlasma + 1))) + Fix(2000 * (2 ^ (IPlasma + 1))) * Metkurs / Kriskurs + Fix(500 * (2 ^ (IPlasma + 1))) * Metkurs / Deutkurs) / (Fix((30 * IMetmine * 1.1 ^ IMetmine * (Geologe + 1 * (IPlasma + 1) / 100)) * Unispeed - (30 * IMetmine * 1.1 ^ IMetmine * (Geologe + 1 * (IPlasma) / 100)) * Unispeed) + Fix((20 * IKrismine * 1.1 ^ IKrismine * (Geologe + 0.66 * (IPlasma + 1) / 100)) * Unispeed - (20 * IKrismine * 1.1 ^ IKrismine * (Geologe + 0.66 * (IPlasma) / 100)) * Unispeed) * Metkurs / Kriskurs)) < List9(IMetmine) And ((Fix((30 * IMetmine * 1.1 ^ IMetmine * (Geologe + 1 * (IPlasma + 1) / 100)) * Unispeed - (30 * IMetmine * 1.1 ^ IMetmine * (Geologe + 1 * (IPlasma) / 100)) * Unispeed) + Fix((20 * IKrismine * 1.1 ^ IKrismine * (Geologe + 0.66 * (IPlasma + 1) / 100)) * Unispeed - (20 * IKrismine * 1.1 ^ IKrismine * (Geologe + 0.66 * (IPlasma) / 100)) * Unispeed) * Metkurs / Kriskurs) / (Fix(1000 * (2 ^ (IPlasma + 1))) + Fix(2000 * (2 ^ (IPlasma + 1))) * Metkurs / Kriskurs + Fix(500 * (2 ^ (IPlasma + 1))) * Metkurs / Deutkurs)) < List10(IKrismine) And ((Fix((30 * IMetmine * 1.1 ^ IMetmine * (Geologe + 1 * (IPlasma + 1) / 100)) * Unispeed - (30 * IMetmine * 1.1 ^ IMetmine * (Geologe + 1 * (IPlasma) / 100)) * Unispeed) + Fix((20 * IKrismine * 1.1 ^ IKrismine * (Geologe + 0.66 * (IPlasma + 1) / 100)) * Unispeed - (20 * IKrismine * 1.1 ^ IKrismine * (Geologe + 0.66 * (IPlasma) / 100)) * Unispeed) * Metkurs / Kriskurs) / (Fix(1000 * (2 ^ (IPlasma + 1))) + Fix(2000 * (2 ^ (IPlasma + 1))) * Metkurs / Kriskurs + Fix(500 * (2 ^ (IPlasma + 1))) * Metkurs / Deutkurs)) < List11(IDeutmine) Then
- IMSEMG = IMSEMG - (Fix(1000 * (2 ^ IPlasma)) + Fix(2000 * (2 ^ IPlasma)) * Metkurs / Kriskurs + Fix(500 * (2 ^ IPlasma)) * Metkurs / Deutkurs)
- If IMSEMG >= 0 Then
- IPlasma = IPlasma + 1
- Listmine(ASchritte - 1) = "Plasmatechnik " & IPlasma - 1
- Else : Exit For
- End If
- End If
- ListBau(ASchritte - 1) = IMSEMG
- ListMet(ASchritte - 1) = IMetmine
- ListKris(ASchritte - 1) = IKrismine
- ListDeut(ASchritte - 1) = IDeutmine
- ListPlasma(ASchritte - 1) = IPlasma
- Next ASchritte
- For i12 = 0 To NumericUpDown1.Value - 1
- ListBox12.Items.Add(ListBau(0 + i12))
- ListBox13.Items.Add(ListMet(0 + i12))
- ListBox14.Items.Add(ListKris(0 + i12))
- ListBox15.Items.Add(ListDeut(0 + i12))
- ListBox16.Items.Add(ListPlasma(0 + i12))
- ListBox17.Items.Add(Listmine(0 + i12))
- Next i12