[Hilfe] Listbox 4
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 33 Antworten in diesem Thema. Der letzte Beitrag () ist von welt.
-
-
WhatFalls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
@welt
@RodFromGermany hat schon recht.
Du musst deine Vorstellung sauber formulieren.
Und dann aber auch deine eigenen Versuche bzw. Ansätze mit rein-bringen.
Zerlege dein Problem in Teilprobleme.
1. Vorletzte Zahl finden.
Normale sollte man das nicht tun, denn ich vergewaltige ein Item zu einem Integer. Jedoch sollte ich GUI von Daten trennen.
Eigentlich solltest du parallel eineList(of Integer)
laufen lassen, damit rechnen, und die ListBox nur als Anzeige benutzen.
2. Die Zahl soll eine 1 sein ? Kein Problem. If-Befehl. Lernt man im Programmierkindergarten.
3. Leider kann ich wie Rod auch nicht hellsehen und kann nur ahnen was du zusammenzählen willst -
jo, und du hast Recht und Unrecht. Recht hast du mit
LaMiy schrieb:
Du musst deine Vorstellung sauber formulieren. -
Hallo
Ich versuch es nochmal für euch verständlich zu vormulieren.
Ich habe in allen ListboxItems einen Text wie diesen(ähnlich)
10.10.11 16:31:18;00;046;05;1
das Lehrzeichen danach ist zu beachten. So jetzt zur Frage ich möchte alle Listbox Items die als vorletze Zahl (wegen dem Lehrzeichen)
eine 1 haben ein Label um 1 höher werden lassen (das mit Label höher werden lassen weiß ich). -
Stimmt eine der beiden Varianten?
Variante 1:
Spoiler anzeigen
Nehmen wir an wir haben:
10.10.11 16:31:18;00;046;01;1
Dann sollte folgendes gemacht werden:
10.10.11 16:31:18;00;046;02;1
Variante 2:
Spoiler anzeigen
Nehmen wir an wir haben:
10.10.11 16:31:18;00;046;05;1
Dann sollte folgendes gemacht werden:
10.10.11 16:31:18;00;046;05;2
Und das bei jedem EIntrag in der ListBox?
Grüsse
DancgerMESS WITH THE BEST, DIE LIKE THE REST!
-
@welt: Mach mal eine Vorher-Nachher-Tabelle mit signifikanten Beispielen.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
ich weiß nicht was du meinst
Ich die Items sollen gezählt werden die als vorletzte Zahl eine 1 haben und die Anzahl soll in einem Label ausgegeben werden.
vorletzte Zahl wegen dem Lehrzeichen
an der Item soll nichts verändert werden
Beispiel als Items:
10.10.11 16:31:52;00;048;06;1
10.10.11 16:31:54;00;048;03;0
10.10.11 16:31:59;00;052;04;1
So in dem Fall haben 2 Items als vorletzte Zahl eine 1
Also soll ein Label auf 2 gesetzt werden weil 2 Items als vorletzte zahl eine 1 haben -
Häh?????,
ich seh 2 String wo die letzte Zahl ´ne 1 ist. Der mittlere String weist nur eine 1 weniger auf als die anderen.
Falls es dir um die Zahl hinter´m letzten Simikolon geht gugge dir dies an:
Da baust du noch eine If abfrage ein und erhöhst eine Integer um 1 im Fall von True. Nach der Schleife setzt du dann den Label.Text.
mfg
Derfuhr -
-
Derfuhr schrieb:
Da baust du noch eine If abfrage ein und erhöhst eine Integer um 1 im Fall von True. Nach der Schleife setzt du dann den Label.Text.
in der schleife
If s = "1" Then
'integer um 1 erhöhen
End If
nach der Schleife:
Label.Text setzten der den Wert der jeweils erhöhten Integer beinhaltet.
EDIT: @welt:: Also nur wenn 4;1???? oder immer bei ;1?????
drücke dich bitte etwas DEUTLICHER aus.Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Derfuhr“ ()
-
welt schrieb:
ich weiß nicht was du meinst
Vorher ==> Nachher
1 ==> 2
11 ==> 21
111 ==> 121
oder so was in der Art.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
-
welt schrieb:
wie kann man das mit deiner Methode machen.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
anstatt von MessageBox.Show erhöhe eine Integer um 1(die du vor der Schleife mit = 0 deklarierst) nach der Schleife ist der Wert der Integer = die anzahl der erfüllten Bedigungen. Den Wert dieser Integer kann du dann im Label.Text mit einbeziehen. -
wenn ich das jetzt ausführe sagt mir das Programm ich hätte ArgumentOutOfRangeException nicht behandelt wie macht man das
Edit by Manschula: Was machst du richtig, was alle anderen falsch machen? Richtig, keinen VB-Tag verwenden! --> VB-Tag eingefügt
Bei mir hat sich das auf eine eine Lage Zeile verschoben deswegen habe ich das nicht gemacht
Edit by Manschula #2: Und noch zwei Hinweise: a) die Farbe Rot ist der Moderation vorbehalten! b) Anleitung VB-Tag richtig verwendenDieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Manschula“ ()
-
Mal ernsthaft(ohne dir ans Bein pinkeln zu wollen),
hast du dich schon mal richtig mit den Grundlagen beschäftigt?Auf mich wirkt es das es nicht so ist. Man rechnet einfach nicht mit Label-Texten dafür gibt es Single, Double, Long, Short, Integer und alle nochma alle mit U davor.
hier nun ein korrektes Beispiel:
VB.NET-Quellcode
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Dim anzahl_der_Treffer As Integer = 0
- For i As Integer = 0 To ListBox1.Items.Count - 1
- Dim s As String = ListBox1.Items(i).ToString
- s = s.Substring(s.LastIndexOf(";"c) + 1, 1)
- If s = "1" Then
- anzahl_der_Treffer += 1
- End If
- Next
- Label11.Text = anzahl_der_Treffer.ToString
- End Sub
Ich empfehle dir: Wenn du als Progger/Hobby-Progger weiterkommen willst lese dir diese zwei Bücher durchzulesen:
1. Visual Basic 2005 - Das Entwicklerbuch
2. Visual Basic 2008 - Das Entwicklerbuch
gibt es kostenlos als PDF zum download. Vor allem das 2005´er da werden die Grundlagen etwas besser behandelt:
mfG
Derfuhr -
-
welt schrieb:
da steht wenn ich das Programm ausführe ArgumentOutOfRangeException wurde nicht behandelt
In welcher Zeile tritt der Fehler denn auf?
Hab leider keine hellseherischen Fähigkeiten. Code + Fehlerzeile sind immer sinnvoll zu posten. -
-
Ähnliche Themen
-
Horst68 - - Sonstige Problemstellungen
-
TheGameSiders - - Sonstige Problemstellungen
-
5 Benutzer haben hier geschrieben
- Gast (27)
- RodFromGermany (4)
- LaMiy (1)
- ErfinderDesRades (1)
- Dancger (1)