Laden...

Forenbeiträge von DearNobody Ingesamt 8 Beiträge

09.06.2012 - 17:37 Uhr

Danke vielmals für all die Hilfe, habs nun geschafft alle Datensätze zu korrigieren =).

Aber ich Post mal lieber nicht den Code, der sieht jetzt echt wild aus, habs nämlich noch ohne dem RegEx gemacht. (Werd den Code aber, wenn ich mal mehr Zeit habe, überarbeiten und RegEx verwenden). Danke nochmals =).

lg DN

09.06.2012 - 15:17 Uhr

Danke für die info. Ich hab mir das ganze so angeschaut und gesehen, dass das Datumsfeld ja fix 10 Stellen hat und das darauffolgende (mit den ganzen Zahlen) immer 33 Stellen hat, somit kann ich schonmal fix sagen ob in dem Passwortfeld 1 oder mehrere # drinnen sind.

Wenn er dann dieses Feld richtig ausgibt, dann muss das letzte Feld (Spalte 8) dann das letzte sein, wenn es also 9+ Strings in dem Array gibt, dann ist im KommentarFeld eine oder mehrere # zuviel.

Damit sollte ich eigentlich den kompletten Datensatz korrigieren können. Danke für die Hilfe!

Noch ne Frage, gibt es eine schönere Möglichkeit den Split zu verhindern als:

Ihn zulassen und anschließend wieder zusammenzubauen? also durchaus das Passwortfeld splitten lassen und dann bei der Überprüfung, sofern erforderlich, wieder zu einem String zusammen zu bauen?

09.06.2012 - 13:27 Uhr

Ich denke ich komme mit folgendem Code zum richtigen Ergebnis, vielleicht nicht ne sonderlich schöne Variante, aber es müsste gehen.

Werde noch den Tipp von Chilic beherzigen und versuchen die Datensätze selber zu korrigieren, das Problem ist ja leider, dass in 2 Spalten die # reingeschrieben werden kann und da die Zuordnung dann finden wird glaub ich nicht möglich sein

                split1 = dData.Split(new Char[] { '\n' });

                for(int n = 0; n <= split1.Count()-1; n++)
                {
                    split = split1[n].Split(new Char[] { '#'});
                    
                    foreach (string u in split)
                    {
                        count += 1;
                    }
                    if (count > 8)
                    {
                        falseList.Add(n);
                        count = 0;
                    }
                    count = 0;
                }

die Werte die in die "falseList" geschrieben werden sind Datensätze die öfter als 8 mal gesplittet werden (pro Zeile) und somit ist irgendwo eine # zu viel.

Der Index dieser Zeile wird in die besagte falseList geschrieben und diese überprüfe ich anschließend beim einlesen meiner Daten in meine List of Lists und die werden in der anschließenden Excel Datei ganz unten mit etwas Abstand ausgegeben zur händischen Kontrolle.

Hoffe das funktioniert so ^^

09.06.2012 - 12:46 Uhr

Hi und Hallo,

komme bei der Behandlung eines Split Befehls nicht weiter.

Ich lese folgenden String ein:

AT-GER#1#0151223#2010-01-02#555555555555555555555555555555554#527677882774#233233233233#No Statement!

Soweit so gut, dieser wird bei der # und bei einem Zeilenumbruch gesplittet. Funktioniert auch alles.

Jetzt hab ich allerdings das Problem, dass ich die Fehler einer mangelhaften Programmierung ausbügeln muss. Der 3. Wert "0151223" (nach der 2. #) ist ein Passwort welches der Benutzer, der diesen Datensatz erstellt, selber wählen kann. Viele werden jetzt schon das Problem kommen sehen...

Die Ersteller des Web-Fragebogens haben es irgendwie versäumt die # in diesem Feld zu verbieten und natürlich gibt es jetzt Benutzer die eine # in ihrem Passwort verwenden.

Das würde dann so aussehen:

AT-GER#1#0151#223#2010-01-02#555555555555555555555555555555554#527677882774#233233233233#No Statement!

Jetzt Splittet natürlich mein Programm 1 x zuviel und bringt somit alles durcheinander.

Die Frage: Hat jemand eine Idee wie ich diese Ausnahme im Passwort irgendwie abfangen kann? z.B. in dem ich die # Zeichen zähle die vorkommen bevor das erste mal mit dem Zeilenumbruch "\n" gesplittet wird?

Rein theoretisch könnte in dem Passwortfeld beliebig viele # Zeichen verwendet werden und sogar im letzten Feld "No Statement!" (Kommentarfeld) könnten # Zeichen vorkommen.

Es ist jetzt nicht wichtig diesen Datensatz zu korrigieren, ich müsste ihn nur irgendwie gesondert ausweisen (zur händischen Kontrolle z.B.), es müsste dafür aber der Gesamte Datensatz aus dem gesplitteten String rausgenommen werden.

Ich bin hierbei echt überfragt.

Jemand eine Idee? =)

lg DN

02.05.2007 - 18:13 Uhr

oh damn, ich depp ... ich dachte das gilt für die gesamte Anzahl an Einträgen ... jetzt weiß ich auch warum es bei mir mit der Bildschirmhöhe nicht ausgegangen ist, weil 100 Einträge einfach zu viel für meine Bildschirmhöhe sind.

Danke für deine schnellen Antworten!

02.05.2007 - 18:05 Uhr

also wenn man bei MaxDropDownItems versucht mehr als 100 einzugeben gibt das Visual Studio einen Error aus. Wenn man es bei den 100 belässt aber trotzdem mehr einliest, dann verschwindet die anzeige unten am Bildschirm, sodass man nicht alle eingelesenen Items sehen kann.

02.05.2007 - 17:58 Uhr

Windows.Forms: Also es ist eine ComboBox mit dem "DropDown" als DropDownStyle

Sorry, dass ich mich nicht klar ausgedrückt habe

02.05.2007 - 17:51 Uhr

Schönen Abend an die Community,

hab folgendes Problem: ich hab ein DropDown-Feld und möchte in dieses sehr viele Daten einlesen (über 100) und die maximale Anzahl ist aber 100, gibt es eine Möglichkeit dies zu umgehen?

Auch wenn es unübersichtlich wird wenn man so viele Daten einlest, es ist in meinem Fall erforderlich, ein großer Teil meines Prorammes müsste sonst umgeschrieben werden.

Ich hoffe ihr könnt mir helfen!

mfg DearNobody