2 dimensionales Array für HTTPSecurityLibrary

  • VB.NET

Es gibt 41 Antworten in diesem Thema. Der letzte Beitrag () ist von eminem.

    2 dimensionales Array für HTTPSecurityLibrary

    Hallo, ich dachte im dem einen Thread hat sich das alles schon erledigt, aber leider ist das nicht so,

    Da ich Probleme habe die einträge der MYSQL die über das HTTPSecurityLibrary also die php ausgegeben werden zu splitten und in einer Datagridview zu sammeln,
    muss ich leider nach fragen, wie ich dies jetzt unsetzen kann.

    Ich habe versucht durch | < Trennzeichen der ausgabe diese zu splitten, klappt auch,
    allerdings kann ich den nächsten absatz nicht mehr auslesen, weil diese methode leider kein Multiline kann, kann ich diese vergessen,

    dann habe ich eine methode gefunden diese den Absatz trent, allerdings habe ich dann alles in einer Spalte, die MYSQL ausgabe setzt sich so zusammen:

    TEXT1|TEXT1|TEXT1
    TEXT2|TEXT2|TEXT2 und so weiter

    Meine frage: wie kann ich diese jetzt anständig auslesen, und in der Datagridview übergeben, also 2x 3 Spalten in diesem fall,
    ich habe im letzten Thread was von 2 dimensionales Array gelesen, allerdings habe ich diese methode nie verwendet, kann mir einer in meinem fall erklären wie ich das dann zusammen setzen muss,

    Da ich erst Splitten muss, also nach Trennzeichen, dann nach Absatz, und dann diese in der DataGridview einfügen muss, bringt mir leider das lesen nicht viel, weil die beispiele nicht zur meinem Fall passen.
    MFG
    LEON
    _______________________________________________
    Entweder man ist Teil der Lösung oder Teil des Problems.
    Kannst du mir ein Codebeispiel geben, ich hab alles versucht, und kämpfe sein Gestern damit, und weiß nicht mehr weiter...

    Ich habe diese beiden codes benutzt:

    Splittet nach |

    VB.NET-Quellcode

    1. Dim splitt_text1() As String
    2. splitt_text1 = Split(TextBox1.Text, "|", , CompareMethod.Text)
    3. Dim i As Integer
    4. For i = 0 To splitt_text1.Length() - 1
    5. Next
    6. DataGridView1.Rows.Add(New String() {splitt_text1(0), splitt_text1(1), splitt_text1(2), splitt_text1(3), splitt_text1(4), splitt_text1(5)})



    und Splittet nach Zeile:

    VB.NET-Quellcode

    1. Dim str As String() = Textbox1.text(New [Char]() {CChar(vbCrLf)})
    2. For Each s As String In str
    3. ListView1.Items.Add(s)
    4. 'Next


    Jetzt muss ich diese beiden Codes zusammen bringen, das ganze muss Dynamisch bleiben, weil ich nicht weiß viele MYSQL einträge es werden.
    MFG
    LEON
    _______________________________________________
    Entweder man ist Teil der Lösung oder Teil des Problems.

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „eminem“ ()

    Schau dir mal folgendes Beispiel an. Hab auch lang gebraucht bis ich wusste wie man ein mehrdimensionales Array erstellt

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. Dim Array()() As String = Nothing
    4. Dim List As New List(Of String())
    5. List.Add(New String() {"1.1", "1.2"})
    6. List.Add(New String() {"2.1", "2.2"})
    7. Array = List.ToArray()
    8. List.Clear()
    9. ' Liest 2.2 aus
    10. MessageBox.Show(Array(1)(1))
    11. End Sub
    12. End Class
    Das sieht echt interesannt aus, nur was ich da jetzt nicht nachvollziehen kann ist: woher kommt der eintrag,
    also bei mir wird ja eine Textbox abgefragt, da blicke ich nicht durch, helf mir bitte mal auf der Sprünge.

    ahh jetzt habe ich das gesehen, du fügst einfach nur das 1.1 und das 1.2 sowie das 2.1 und das 2.2 in einer array ein, aber wie soll ich das bei mir umsetzen?
    MFG
    LEON
    _______________________________________________
    Entweder man ist Teil der Lösung oder Teil des Problems.

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

    singu schrieb:

    Schau dir mal folgendes Beispiel an. Hab auch lang gebraucht bis ich wusste wie man ein mehrdimensionales Array erstellt

    Streng genommen zeigt dein Beispiel aber kein mehrdimensionales Array, sondern ein "jagged" Array

    a(,) = zweidimensionales array
    a()() = array vom typ array

    theoretisch geht sogar:
    a(,)(,) = mehrdimensionales Array von Typ Array

    also

    VB.NET-Quellcode

    1. Dim a(,)(,) As Integer
    2. ReDim a(1, 1)
    3. ReDim a(0, 0)(1, 2)

    Aber das ist dann echt ... weird ;)

    eminem schrieb:

    Das sieht echt interesannt aus, nur was ich da jetzt nicht nachvollziehen kann ist: woher kommt der eintrag,
    also bei mir wird ja eine Textbox abgefragt, da blicke ich nicht durch, helf mir bitte mal auf der Sprünge.

    ahh jetzt habe ich das gesehen, du fügst einfach nur das 1.1 und das 1.2 sowie das 2.1 und das 2.2 in einer array ein, aber wie soll ich das bei mir umsetzen?

    Da wo ich die Zahlen eintrage, trägst du deine Infos ein.

    picoflop schrieb:

    singu schrieb:

    Schau dir mal folgendes Beispiel an. Hab auch lang gebraucht bis ich wusste wie man ein mehrdimensionales Array erstellt

    Streng genommen zeigt dein Beispiel aber kein mehrdimensionales Array, sondern ein "jagged" Array

    a(,) = zweidimensionales array
    a()() = array vom typ array

    theoretisch geht sogar:
    a(,)(,) = mehrdimensionales Array von Typ Array

    also

    VB.NET-Quellcode

    1. Dim a(,)(,) As Integer
    2. ReDim a(1, 1)
    3. ReDim a(0, 0)(1, 2)

    Aber das ist dann echt ... weird ;)

    Ich wollte eigentlich ein mehrdimensionales Array am Anfang erstellen, das man ohne ReDim erweitert. Und am Ende bin ich auf die Idee mit der List gekommen
    Danke, eine Vorgabe der Einträge ist bei meinem Fall schlecht, weil ich ja nie wissen kann welche daten drinne stehen, aber wie soll ich jetzt das so umsetzen, das er erst nach | und dann nach Zeile Sotiert, diese dann Getrennt in einer DataGridView einbaut,

    Also was zusammen gehört ist Beispiel:

    Test|Test|Test| in einer Zeile in der Datagridview, natürlich in 3 Spalten aufgeteilt, und dann immer so weiter, ohne das man eine vorgabe braucht wieviele zeilen es sind, sondern wenn mehr einträge vorhanden sind, soll er diese natürlich in mehreren zeilen eintragen, eine Zeile gehört immer zusammen.
    MFG
    LEON
    _______________________________________________
    Entweder man ist Teil der Lösung oder Teil des Problems.
    Ja sicher, also man muss sich vorstellen, das ich über eine Verschlüsselung die Datenbank abrufe, diese mir leider so angezeit wird:

    Benutzername|Passwort|Email
    Benutzername|Passwort|Email
    Benutzername|Passwort|Email
    Benutzername|Passwort|Email das sind natürlich soviele einträge wie eingetragen sind in der MYSQL Datenbank, ich kann auch , - oder auch # benutzen zum trennen, nur ich habe mich für das | entschieden,

    diese müssen nur wie Sie da stehen in einer DataGridview für eine Zeile in 3 Spalten dann immer so weiter, in diesem fall wären es:

    4 Zeilen und 4x 3 Spalten
    MFG
    LEON
    _______________________________________________
    Entweder man ist Teil der Lösung oder Teil des Problems.
    Hab mal für dich eine Lösung gepostet, die evtl. bei deinem Problem besser ist.

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. Dim List As New List(Of Test)
    4. List.Add(New Test("Benutzername", "Passwort", "Email"))
    5. End Sub
    6. Public Class Test
    7. Private priProp1 As String
    8. Private priProp2 As String
    9. Private priProp3 As String
    10. Public Property Prop1() As String
    11. Get
    12. Return priProp1
    13. End Get
    14. Set(ByVal value As String)
    15. priProp1 = value
    16. End Set
    17. End Property
    18. Public Property Prop2() As String
    19. Get
    20. Return priProp2
    21. End Get
    22. Set(ByVal value As String)
    23. priProp2 = value
    24. End Set
    25. End Property
    26. Public Property Prop3() As String
    27. Get
    28. Return priProp3
    29. End Get
    30. Set(ByVal value As String)
    31. priProp3 = value
    32. End Set
    33. End Property
    34. Public Sub New(ByVal sProp1 As String, ByVal sProp2 As String, ByVal sProp3 As String)
    35. priProp1 = sProp1
    36. priProp2 = sProp2
    37. priProp3 = sProp3
    38. End Sub
    39. End Class
    40. End Class
    Danke dir, da wäre ich in 100 Jahren nicht hintergekommen, problem ist nur, da habe ich mich warscheinlich falsch ausgedrückt, und zwar,
    das mit Benutzername|Passwort|Email meinte ich die einträge der Benutzeraccounts quasi.

    Mir werden diese in einer Textbox angezeigt, und sind Dynamisch, also ich kann nicht festlegen wie ein Benutzer heißt, und den Tabellen Name bekomme ich hier überhaupt nicht angezeigt, sondern nur die inhalte.
    MFG
    LEON
    _______________________________________________
    Entweder man ist Teil der Lösung oder Teil des Problems.
    Ich hab mal ein Screenshot der Textbox gemacht, lass dich nicht verwirren, das Buchstaben und zahlen salat ist eine MD5 Verschlüsselung:



    Es sind jetzt auch mehr einträge wie in meinem vorrigen beispiel, aber so sieht das ganze aus, und muss nach | und Zeile getrennt werden, und diese dann in einer DataGridView Ordentlich eingetragen werden,
    Also der Erste eintrag ist Benutzername, der Zweite das Passwort in MD5, der Dritte Email, der Vierte ein Status in MD5, der Fünfte eine Notiz, das letzte das Datum der Registierung.

    Aber so und nicht anders werden mir diese angezeigt, und da ist ein festlegen leider dich möglich, ich kann da nur Splitten nach | und nach Zeile
    MFG
    LEON
    _______________________________________________
    Entweder man ist Teil der Lösung oder Teil des Problems.
    Ja das ist ja mein Problem, wenn du mir jetzt erklären kannst, wie ich diese | einbaue, und eine Eigendschaft einbinde, dann ist mir geholfen, weil da hänge ich ja schon die ganze zeit fest.
    MFG
    LEON
    _______________________________________________
    Entweder man ist Teil der Lösung oder Teil des Problems.
    So ich hab das jetzt mal geschrieben.


    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. Dim Array() As String = Nothing
    4. Dim Lines() As String = Nothing
    5. Dim Line As String = Nothing
    6. Dim List As New List(Of Test)
    7. Lines = System.IO.File.ReadAllLines("D:\Datei.txt")
    8. For Each Line In Lines
    9. Array = Line.Split(CChar("|"))
    10. List.Add(New Test(Array(0), Array(1), Array(2)))
    11. Next
    12. End Sub
    13. Public Class Test
    14. Private priProp1 As String
    15. Private priProp2 As String
    16. Private priProp3 As String
    17. Public Property Prop1() As String
    18. Get
    19. Return priProp1
    20. End Get
    21. Set(ByVal value As String)
    22. priProp1 = value
    23. End Set
    24. End Property
    25. Public Property Prop2() As String
    26. Get
    27. Return priProp2
    28. End Get
    29. Set(ByVal value As String)
    30. priProp2 = value
    31. End Set
    32. End Property
    33. Public Property Prop3() As String
    34. Get
    35. Return priProp3
    36. End Get
    37. Set(ByVal value As String)
    38. priProp3 = value
    39. End Set
    40. End Property
    41. Public Sub New(ByVal sProp1 As String, ByVal sProp2 As String, ByVal sProp3 As String)
    42. priProp1 = sProp1
    43. priProp2 = sProp2
    44. priProp3 = sProp3
    45. End Sub
    46. End Class
    47. End Class

    Das sieht ja besser aus, Danke für deine mühe, wie ich das sehe, wird jetzt der Text in einer Textdatei ausgelesen, sehe ich das richtig, und ich brauche quasi nur die Textbox einträge in einer textdatei speichern lassen und diese dann wieder auslesen

    Oder ist das falsch?

    Und wie muss ich jetzt den eingelesen Text in einer DataGridview übergeben so das er auch die Spalten und Zeilen korrekt rein setzt?
    MFG
    LEON
    _______________________________________________
    Entweder man ist Teil der Lösung oder Teil des Problems.

    eminem schrieb:

    Das sieht ja besser aus, Danke für deine mühe, wie ich das sehe, wird jetzt der Text in einer Textdatei ausgelesen, sehe ich das richtig, und ich brauche quasi nur die Textbox einträge in einer textdatei speichern lassen und diese dann wieder auslesen

    Oder ist das falsch?

    So kompliziert musst du es nicht machen, einfach der Variable Lines den Inhalt der TextBox zuweisen.
    Also quasi so:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim Array() As String = Nothing
    3. Dim Lines() As String = Nothing
    4. Dim Line As String = Nothing
    5. Dim List As New List(Of Test)
    6. Lines = textbox1.text


    und dann muss ich diese wieder zurück in einer DataGridView bringen,
    wie kann ich das Dynamisch wie möglich machen, also ohne vorzuschreiben wieviele Zeilen es sind.
    MFG
    LEON
    _______________________________________________
    Entweder man ist Teil der Lösung oder Teil des Problems.