|
You last visited: Today at 09:58
Advertisement
Listview, text, splitten, einfügen
Discussion on Listview, text, splitten, einfügen within the .NET Languages forum part of the Coders Den category.
05/18/2012, 00:04
|
#1
|
elite*gold: 5
Join Date: May 2011
Posts: 191
Received Thanks: 143
|
Listview, text, splitten, einfügen
hey, ich habe folgendes problem:
In einem listview wird eine textdatei geladen, gelesen, nach jedem ":" getrennt und in die listview eingefügt.
Jetzt würde ich gern das ganze nur etwas andersrum machen, also von der textbox lesen, splitten und eintragen.
mein code um die textdatei zulesen und einzufügen:
Code:
Try
Dim srReader As StreamReader
Dim bla As String
Dim split() As String
Dim X As Integer = 0
Try
srReader = New StreamReader(pfadZuDatei.Text)
Do Until srReader.EndOfStream
bla = srReader.ReadLine ' eine zeile lesen
split = bla.Split(":") ' nach jedem ":" splitten
Listview1.Items.Add(split(0)) ' und einfügen
Listview1.Items(X).SubItems.Add(split(1))
Listview1.Items(X).SubItems.Add(split(2))
Listview1.Items(X).SubItems.Add(split(3))
Listview1.Items(X).SubItems.Add(split(4))
X = X + 1 'das ganze durchlaufen bis es am ende ist
Loop
srReader.Close()
srReader.Dispose()
Catch
End Try
Catch ex As Exception
End Try
für eurer unbestechliches fachwissen bin ich jetzt schon dankbar
so ein format soll es in der textbox haben, damit ich es in die listview hinein bekomme -.- ichbinSpalte0 :ichbinSpalte1 :ichbinSpalte2 :ichbinSpalte3
|
|
|
05/18/2012, 10:12
|
#2
|
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
|
hier, ist c# code aber im netz gibt es C# - VB übersetzter.
PHP Code:
String[] entries =
listView1.Items
.OfType<ListViewItem>()
.Select(item =>
item.SubItems
.OfType<ListViewItem.ListViewSubItem>()
.Aggregate<ListViewItem.ListViewSubItem, String>("", (acc, elem) => (acc + ":" + elem.Text)).Remove(0,1)).ToArray();
StreamWriter sw = new StreamWriter("asdfasdf.txt");
foreach (string s in entries)
sw.WriteLine(s);
|
|
|
05/18/2012, 10:28
|
#3
|
elite*gold: 5
Join Date: May 2011
Posts: 191
Received Thanks: 143
|
danke aber wirft mir nen fehler auf
|
|
|
05/18/2012, 10:39
|
#4
|
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
|
da kann ich nicht helfen wenn ich nicht weis welcher.
|
|
|
05/18/2012, 10:46
|
#5
|
elite*gold: 5
Join Date: May 2011
Posts: 191
Received Thanks: 143
|
Quote:
Originally Posted by nkkk
da kann ich nicht helfen wenn ich nicht weis welcher.
|
Code:
[COLOR="Red"]Dim entries As [String]() = listView1.Items.OfType(Of ListViewItem)().[Select](Function(item) item.SubItems.OfType(Of ListViewItem.ListViewSubItem)().Aggregate(Of ListViewItem.ListViewSubItem, [String])("", Function(acc, elem) (Convert.ToString(acc) & ":" & Convert.ToString(elem.Text))).Remove(0, 1)).ToArray()[/COLOR]
Dim sw As New StreamWriter(TextBox1.Text)
For Each s As String In entries
sw.WriteLine(s)
Next
|
|
|
05/18/2012, 10:51
|
#6
|
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
|
ja das da irgendwo der der fehler ist, ist klar aber was ist die fehlermeldung?
hmm merkwürdiger fehler, liegt glaube ich daran das der C# - VB überetzter nicht alles üverstzen kann.
naja bei diesem code sollte es klappen:
PHP Code:
String[] entries =
listView1.Items
.OfType<System.Windows.Forms.ListViewItem>()
.Select((System.Windows.Forms.ListViewItem item) =>
item.SubItems
.OfType<System.Windows.Forms.ListViewItem.ListViewSubItem>()
.Aggregate("", (String acc, System.Windows.Forms.ListViewItem.ListViewSubItem elem) => (acc + ":" + elem.Text)).Remove(0, 1)).ToArray();
StreamWriter sw = new StreamWriter("asdfasdf.txt");
foreach (string s in entries)
sw.WriteLine(s);
|
|
|
05/18/2012, 21:19
|
#7
|
elite*gold: 5
Join Date: May 2011
Posts: 191
Received Thanks: 143
|
Quote:
Originally Posted by nkkk
ja das da irgendwo der der fehler ist, ist klar aber was ist die fehlermeldung?
hmm merkwürdiger fehler, liegt glaube ich daran das der C# - VB überetzter nicht alles üverstzen kann.
naja bei diesem code sollte es klappen:
PHP Code:
String[] entries = listView1.Items .OfType<System.Windows.Forms.ListViewItem>() .Select((System.Windows.Forms.ListViewItem item) => item.SubItems .OfType<System.Windows.Forms.ListViewItem.ListViewSubItem>() .Aggregate("", (String acc, System.Windows.Forms.ListViewItem.ListViewSubItem elem) => (acc + ":" + elem.Text)).Remove(0, 1)).ToArray(); StreamWriter sw = new StreamWriter("asdfasdf.txt"); foreach (string s in entries) sw.WriteLine(s);
|
danke doch dies funktioniert auch nicht:
Code:
Dim entries As [String]() = listView1.Items.OfType(Of System.Windows.Forms.ListViewItem)().[Select](Function(item As System.Windows.Forms.ListViewItem) item.SubItems.OfType(Of System.Windows.Forms.ListViewItem.ListViewSubItem)().Aggregate("", Function(acc As [String], elem As System.Windows.Forms.ListViewItem.ListViewSubItem) (acc & ":" & elem.Text)).Remove(0, 1)).ToArray()
Dim sw As New StreamWriter("asdfasdf.txt")
For Each s As String In entries
sw.WriteLine(s)
Next
ich denke ich sollte mal klartext reden damit auch du weisst was ich vor habe :S
Also, meine Tool ladet einen verschlüsselten text (AES-128), übergibt dies in textbox1, entschlüsselt dies wiederum in textbox2 und dan erst wird gesplitet und eingefügt.
Code:
Dim entries As [String]() = listView1.Items.OfType(Of System.Windows.Forms.ListViewItem)().[Select](Function(item As System.Windows.Forms.ListViewItem) item.SubItems.OfType(Of System.Windows.Forms.ListViewItem.ListViewSubItem)().Aggregate("", Function(acc As [String], elem As System.Windows.Forms.ListViewItem.ListViewSubItem) (acc & ":" & elem.Text)).Remove(0, 1)).ToArray()
Dim sw As New StreamWriter(textbox2.text) '' <-wird aufjedenfall geändert :P
For Each s As String In entries
sw.WriteLine(s)
Next
so ein stieres problem hatte ich noch nie...
|
|
|
05/18/2012, 22:18
|
#8
|
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
|
Quote:
Originally Posted by SuperOwnBash
danke doch dies funktioniert auch nicht:
Code:
Dim entries As [String]() = listView1.Items.OfType(Of System.Windows.Forms.ListViewItem)().[Select](Function(item As System.Windows.Forms.ListViewItem) item.SubItems.OfType(Of System.Windows.Forms.ListViewItem.ListViewSubItem)().Aggregate("", Function(acc As [String], elem As System.Windows.Forms.ListViewItem.ListViewSubItem) (acc & ":" & elem.Text)).Remove(0, 1)).ToArray()
Dim sw As New StreamWriter("asdfasdf.txt")
For Each s As String In entries
sw.WriteLine(s)
Next
ich denke ich sollte mal klartext reden damit auch du weisst was ich vor habe :S
Also, meine Tool ladet einen verschlüsselten text (AES-128), übergibt dies in textbox1, entschlüsselt dies wiederum in textbox2 und dan erst wird gesplitet und eingefügt.
Code:
Dim entries As [String]() = listView1.Items.OfType(Of System.Windows.Forms.ListViewItem)().[Select](Function(item As System.Windows.Forms.ListViewItem) item.SubItems.OfType(Of System.Windows.Forms.ListViewItem.ListViewSubItem)().Aggregate("", Function(acc As [String], elem As System.Windows.Forms.ListViewItem.ListViewSubItem) (acc & ":" & elem.Text)).Remove(0, 1)).ToArray()
Dim sw As New StreamWriter(textbox2.text) '' <-wird aufjedenfall geändert :P
For Each s As String In entries
sw.WriteLine(s)
Next
so ein stieres problem hatte ich noch nie...
|
was ist denn das problem ?
wenn es das ist das am Ende die datei leer ist, liegt das daran dass man am Ende noch ein sw.Close() einfügen muss.
|
|
|
05/18/2012, 22:54
|
#9
|
elite*gold: 5
Join Date: May 2011
Posts: 191
Received Thanks: 143
|
Quote:
Originally Posted by nkkk
was ist denn das problem ?
wenn es das ist das am Ende die datei leer ist, liegt das daran dass man am Ende noch ein sw.Close() einfügen muss.
|
das problem wird bei textbox1.text ausgegeben, "illegales Zeichen im pfad"
aber ich möchte doch kein Pfad zur datei angeben, denn dan hab ich bereits. kein code kann direkt von textbox1.text spliten
|
|
|
05/18/2012, 23:20
|
#10
|
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
|
achso ich dachte du wolltest einen code der die sachen aus der listbox liest und dann wieder in eine datei schreibt, weil das macht der code.
naja die sachen aus der textbox in die listwiew zu packen ist sehr einfach:
PHP Code:
listView1.Items.Clear();//um die vohherigen einträge zu löschen
foreach (String line in textBox1.Lines)
listView1.Items.Add(new ListViewItem(line.Split(':')));
|
|
|
05/18/2012, 23:23
|
#11
|
elite*gold: 5
Join Date: May 2011
Posts: 191
Received Thanks: 143
|
Quote:
Originally Posted by nkkk
achso ich dachte du wolltest einen code der die sachen aus der listbox liest und dann wieder in eine datei schreibt, weil das macht der code.
naja die sachen aus der textbox in die listwiew zu packen ist sehr einfach:
PHP Code:
listView1.Items.Clear();//um die vohherigen einträge zu löschen
foreach (String line in textBox1.Lines)
listView1.Items.Add(new ListViewItem(line.Split(':')));
|
oh man ich bin dir sehr dankbar
vb code:
HTML Code:
listView1.Items.Clear()
'um die vohherigen einträge zu löschen
For Each line As [String] In textBox1.Lines
listView1.Items.Add(New ListViewItem(line.Split(":"C)))
Next
|
|
|
05/19/2012, 01:32
|
#12
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,908
Received Thanks: 25,409
|
General Coding -> .NET Languages
#moved
|
|
|
 |
Similar Threads
|
[VB]Listview icon neben text?
07/06/2011 - .NET Languages - 9 Replies
habe jetzt ca 30min gesucht aber nichts gefunden.
also sagen wir mal meine listview sieht so aus:
text1
text2
text3
dann soll es so sein
|
VB08 Text/Item in ListView speichern
06/26/2011 - .NET Languages - 13 Replies
Moin zusammen.
Nach langer langer Zeit hatte ich mal wieder Lust etwas mit Visual Basic zu programmieren.
Es sollte eine Art Accountverwalter werden.
Allerdings weiß ich gerade nicht, wie ich den Text (Items und Subitems) in der ListView1 speichern kann und, dass dieser beim nächsten Start wieder aufgerufen wird. Hoffe jemand kann mir ne Lösung sagen ;o
Zurzeit sieht das Programm so aus (Der Text unter "Name/Link Benutzername Passwort Email etc. soll gespeichert werden und beim...
|
SF Text einfügen?
12/25/2010 - General Gaming Discussion - 0 Replies
Hay, Leute diese Nachricht geht an alle Shakes and Fidget zocker. Ich wollte ma fragen ob ma bei S&F einen text kopeiren kann und ihn in einer Privaten Mail wieder einfügen kann. Weil sonst wäre es ziemlich lästig wenn man jeden einzelnt schreiben muss: "Hey... Hättest du interesse in der Gilde ... Beizutreten. Exp,Gold Raids liegen bei ... ;;;" undso weiter.
Wäre nett wenn mir jemand eine lösung geben würde!
PS: Kopieren + Einfügen (strg+c + strg+v) geht nicht!!!
|
VB Eingaben in Text einfügen
10/21/2010 - .NET Languages - 2 Replies
Hallo liebe Coder,
ich habe ein kleines Problem. Ich möchte mir ein Programm schreiben, das für mich automatisch text Dateien erstellt.
Dies sieht folgendermaßen aus:
http://yfrog.com/emdemodj
Mein Code:
|
All times are GMT +1. The time now is 09:59.
|
|