Gateway_man Geschrieben 28. Januar 2009 Teilen Geschrieben 28. Januar 2009 Hi, vorab es handelt sich hier um die Programmiersprache Visual Basic 2005. Ich habe folgendes vor: -Zwei Textboxen die 2 Strings in eine Textdatei anfügen. Die Strings sind nur ~ getrennt und nach jedem Stringsatz wird in der Textzeile ein Zeilenumbruch mit vbclf gemacht. Sieht folgendermaßen aus: Dim Eingabe1 As String Dim Eingabe2 As String Eingabe1 = TextBox1.Text Eingabe2 = TextBox2.Text Dim inputString As String = Eingabe1 & "~" & Eingabe2 & vbCrLf My.Computer.FileSystem.WriteAllText _ ("C:\WINDOWS\system32\reg2.txt", inputString, True) So jetzt will ich folgende Stringsatz wieder auslesen und die 2 Eingaben der Textboxen trennen. Das Problem: -einlesen der Texdatei -erstes Spliten in Stringsätze (damit ich die 2 Strings schonmal als ganzes habe) Userdaten = regreader.ReadToEnd Usersatz = Split(Userdaten, vbCrLf) So jetzt zum eigentlichen Problem: Wenn ich dann den String gesplitet habe in Userdaten, welche nochmals das ~ als Trennzeichen haben und ich diese nocheinmal spliten will sagt er mir das ich ein eindimmensionales Array nicht spliten kann. Was klar ist, jedoch fällt mir dazu jetzt keine passende lösung ein :-( Sofern mir jemand folgen konnte in meiner doch recht wirren beschreibung wäre ich über postive vorschläge sehr froh. lg simon Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gateway_man Geschrieben 28. Januar 2009 Autor Teilen Geschrieben 28. Januar 2009 Kleines Upadate die User kann ich schon trennen sieht wie folgt aus: Dim regreader As New StreamReader("C:\WINDOWS\system32\reg2.txt") Do While Not regreader.EndOfStream Userdaten = regreader.ReadLine user = Split(Userdaten, "~") Loop allerdings hab ich keine ahnung wie ich den Teil nach dem ~ Zeichen ausgelesen bekomme. Entweder er ließt mir beide strings oder nur den user String raus. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pointerman Geschrieben 28. Januar 2009 Teilen Geschrieben 28. Januar 2009 Moin! Ich bin mir nicht ganz sicher, ob ich alles verstanden habe, was Du da so geschrieben hast, daher versuche ich mal es mit eigenen Worten wiederzugeben. 1. Du setzt einen String aus den Texten zweier Editfelder zusammen, die durch das Zeichen "~" getrennt sind. Bsp.: Edit1 "Hallo" Edit2 "Welt" Zusammengesetzer und gespeicherter String "Hallo~Welt" 2. Du liest den String wieder ein und trennst ihn mit der Methode Split Dadurch solltest Du ein Array mit Strings zurueckbekommen. In Deinem Fall muesste also user[0] "Hallo" und user[1] "Welt" enthalten Liege ich da falsch oder habe ich etwas falsch verstanden? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
LadyPreis Geschrieben 28. Januar 2009 Teilen Geschrieben 28. Januar 2009 Hab jetzt leider keine Editor zur Hand, aber ich probiers trotzdem mal zu erklären. Du kannst innerhalb eines Strings die Position eines bestimmten Zeichens abfragen; in deinem Fall "~". dann liest du mit der Methode substring vom anfang des zusammengesetzten strings bis (Position des Zeichens -1) und speicherst den zurückgegebenen Wert in einem String. Als nächstes leist du mit substring von (Position des Zeichens +1) bis zum Ende des zusammengesetzten Strings und speicherst das Ergebniss in einem weiteren String. Schon hast du beide Textfelder wieder zusammen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gateway_man Geschrieben 28. Januar 2009 Autor Teilen Geschrieben 28. Januar 2009 also nochmal das Grundprinzip. Ich will ein registrierungspannel machen welches 2 Texboxen hat wo Benutzernamen und Passwort reingehören. Diese werden dann in einer Textdatei gespeichert und zwar folgendermaßen: "Username"~"Passwort" vbcrlf das Zeichen ~ dient als delimiter zum spliten. vbcrlf ist für den Zeilenumbruch da. jetzt habe ich bereits den Text Zeile für Zeile eingelesen. Das passiert so: Do While Not regreader.EndOfStream Userdaten = regreader.ReadLine Loop Und da ich das vbcrlf nutze benötige dafür keinen split. Jetzt muss ich jedoch noch Username und Passwort voneinander spliten und jedem einen eigenen string zuweisen, damit ich dies später in der If abfrage verwenden kann. Jedoch hab ich schon gesagt sobald ich Userdaten splite in user, welches mir dann den Usernamen schon einmal alleine anzeigt: user = Split(Userdaten, "~") kann ich diesen String nicht nocheinmal spliten da er schon gesplitet ist und ich somit nich an mein dazugehöriges Passwort rankomme. LadyPreis deine Beschreibung ist für mich noch nicht ganz verständlich. Trotzdem danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gateway_man Geschrieben 28. Januar 2009 Autor Teilen Geschrieben 28. Januar 2009 Eventuell versteht mans besser wenn ich den ganzen prozess mal reinposte: Imports System.Text Imports System Imports System.IO Imports System.Collections Public Class Form1 Dim user() As String Dim Passwort() As String Dim Userdaten As String Dim Usersatz() As String Dim lin_val() As String Dim recordsatz() As String Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim regreader As New StreamReader("C:\WINDOWS\system32\reg2.txt") Do While Not regreader.EndOfStream Userdaten = regreader.ReadLine user = Split(Userdaten, "~") Loop End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim Eingabe1 As String Dim Eingabe2 As String Eingabe1 = TextBox1.Text Eingabe2 = TextBox2.Text Dim inputString As String = Eingabe1 & "~" & Eingabe2 & vbCrLf My.Computer.FileSystem.WriteAllText _ ("C:\WINDOWS\system32\reg2.txt", inputString, True) End Sub Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged End Sub Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged End Sub End Class Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.