Stringvariable

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Error.

    Stringvariable

    Hallo,

    ich hab folgendes Problem bei dem ich nicht wirklich einen Ansatz hab aber vielleicht jemand von euch.

    Also:

    Ich lese eine Textdatei aus.

    Splite sie in Arrays die durch chr(9) (tabulator) getrennt sind.

    Im achten Array ist der Benutzername drin, ich weiß nur wann wo er anfängt aber das ende (aufgrund von verschiedenen benutzernamen) ist immer anders.

    Jetzt muss ich aber genau diesen Benutzernamen auslesen.

    'Zeile ist hier der Filestream und wird gesplitet
    Dim array() As String = Split(zeile, Chr(9))

    'Vergleicht substring mit vorgegebenen Namen
    array(8).Substring(12, 5) = "jeweiliger Benutzername"

    ich müsste jetzt wie gesagt aus dem Array den Benutzernamen auslesen ohne zu wissen wie lang er ist, er fängt halt beim 12 zeichen an.

    Danke schon mal

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Error“ ()

    Hallo,

    danke für die schnelle Antwort.

    Aber ich hab es jetzt herausgefunden.

    Und zwar habe ich das 8. Array noch mal gesplitet.

    das 8. Array sieht vor dem Spliten z.b. so aus:

    "Benutzer ""HMeiser"" wurde der Zugriff verweigert.

    "Benutzer ""GSchroeder"" wurde der Zugriff verweigert.

    jetzt habe ich es noch mal mit einem Leerzeichen gesplitet:

    Dim userarray() As String = Split(array( 8 ), " ")

    ListBox2.Items.Add(userarray(1))

    jetzt steht in der listbox nur noch ""GSchroeder"".

    Damit habe ich das erste Problem gelöst.

    Ich muss nur noch die Anführungszeichen weg kriegen u. dann kann ich weiter damit arbeiten.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Error“ ()

    axo...

    du hättest auch einfach die gesammtlänge des string herholen können und 8 zeichen abziehen und schon hättest du die "benötigte" länge. Mehr kann ich dir nicht helfen, da ich mich mit .net nit wirklich auskenne ;)

    Bei deiner Lösung gibt es einen hacken:
    Im benutzernamen kann kein SPACE sein!!
    Ich hab zwar keine Ahnung, ob das stört oder nicht.
    Hi,

    danke auch noch mal für die Antwort. Aber meine Lösung funktioniert.

    ich habe es Mit den Arrays gemacht weil ich den benutzernamen in eine Listbox schreibe u. dann den Ausgewählten namen als Variable nutze um dann Datum, Zeit und häufigkeit des Zugriffs vom User in eine anderen Listbox auszugeben.

    Das Datum u. die Zeit u. der Server sind die ersten Arrays
    das einzigste Problem bei dem Benutzernamen war das er nicht alleine im letzen Array stand sondern mitten im Text und das auch noch so beschissen.

    Also habe ich den letzten Array noch mal in ein Array mit einem Leerschritt geteilt.

    Das musste ich machen, weil die Namen unterschiedlich lang sind. d.h. ich kann nicht fest angeben wann er abschneiden soll aber ich kann sagen das er das Array mit leerzeichen trennen soll u. dann die "" abschneiden soll (geht ziemlich einfach mit string.trim(char). Dadurch ist es ein wenig "dynamisch" ;).

    Die Namen haben keine Leerzeichen, ich hab die beispiele bewusst gewählt ;).


    Genug geredet hier etwas code:

    dim array() as string = split(zeile,chr(9))
    dim userarray() as sting = split(array( 8 ), " ")

    dim mychar as char{""""}

    listbox1.items.add(userarray( 8 ).trim(mychar))

    und er gibt dann bei diesem string:

    "Benutzer ""HMeiser"" wurde der Zugriff verweigert.

    den Namen so aus:

    HMeiser

    Bzw.:

    dim array() as string = split(zeile,chr(9))
    dim userarray() as sting = split(array( 8 ), " ")

    dim mychar as char{""""}

    listbox1.items.add(userarray( 1 ).trim(mychar) & chr(9) Userarray(4) & chr(9) & userarray(5))

    Dann gibt er ja das aus:

    HMeiser Zugriff verweigert

    Ok jetzt mal anders rum. Wenn jemand fragen hat kann er es ruhig machen ;).