Visual Basic 2010 Listview

03/03/2012 23:47 dragonheart11#1
Hallo E*Pvp,
Ich habe ein problem und zwar möchte ich eine Textdatei in einem Listview anzeigen lassen.
Um genauer zu sein die Textdatei sollte so aussehen :

Code:
Item Nr	Item Id	Item Name
Das sollte die Listview so lesen das "Item Nr" in der 1. Spalte steht, Item Id in der 2. Spalte steht und Item Name in der 3. Spalte steht.
Hoffe man kann mir helfen da ich auch gegoogelt hab aber nie richtig verstanden hab was dort diskutiert wurde.
03/04/2012 02:20 Al Kappaccino#2
Nächste mal wirklich Google usen.

Naja egal, wenn du die Textdatei nach diesem Schema gliederst:

Quote:
1;34;Baseball
2;98;Schuh
3;23;Loeffel
Einfach alle Zeilen auslesen und in ein String array speichern. Dieses dann Zeile für Zeile mit einem beliebigen Tennungszeichen splitten lassen und der listview adden.

Code:
            
OpenFileDialog OpnFileDialog = new OpenFileDialog();
            OpnFileDialog.Filter = ("Text Files|*txt");
            if (OpnFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                string[] stack = File.ReadAllLines(OpnFileDialog.FileName);
                foreach (string s in stack)
                {
                    string[] str = s.Split(new Char[] { ';' });
                    ListViewItem item = new ListViewItem(str);
                    listView1.Items.Add(item);
                }
            }
Sieht dann so aus:

[Only registered and activated users can see links. Click Here To Register...]
03/04/2012 11:28 dragonheart11#3
ich danke dir für die antwort aber ich versteh nicht wie genau dieser code bei dir funktionieren konnte das dieser nur fehler enthält also alles wird blau unterstrichen ich kann mit dem code garnichts anfangen sorry :/
03/04/2012 11:57 BlackWu#4
Quote:
Originally Posted by dragonheart11 View Post
ich danke dir für die antwort aber ich versteh nicht wie genau dieser code bei dir funktionieren konnte das dieser nur fehler enthält also alles wird blau unterstrichen ich kann mit dem code garnichts anfangen sorry :/
Ist ja auch C#...
03/04/2012 11:59 dragonheart11#5
Kanns mir einer in vb aufschreiben mit erklärung wenns geht wäre sehr nett ich bin noch nicht allzu fit in sachen programmieren
03/04/2012 12:15 Deathy#6
Das sollte dann in etwa so aussehen.. (code ist nicht getestet..)
Und das Imports System.IO nicht vergessen.

Code:
    
Sub asdf()
        Dim OpnFileDialog = New OpenFileDialog()
        OpnFileDialog.Filter = ("Text Files|*txt")
        If OpnFileDialog.ShowDialog() = System.Windows.Forms.DialogResult.OK Then

            Dim stack = File.ReadAllLines(OpnFileDialog.FileName)
            For Each s In stack
                Dim str = s.Split(";")
                Dim item = New ListViewItem(Str)
                listView1.Items.Add(item)
            Next
        End If

    End Sub
03/04/2012 12:19 dragonheart11#7
Es funktioniert danke :D! Aber wie mach ich das das wenn man auf eine zeile klickt, in textbox1 = Item Nr, Item Id und Item name steht? wäre nett wenn du mir nochmals antworten könntest, danke
03/04/2012 13:47 Kraizy​#8
PHP Code:
sub lv_selectedindexchanged (...)
   
tb.text string.format("{0}, {1}, {2}"lv.focuseditem.textlv.focuseditem.subitems(1).textlv.focuseditem.subitems(2).text)
end sub 
03/04/2012 14:20 dragonheart11#9
Danke erstmal, aber wenn ich eine zeile anklicke funktioniert es wenn ich aber ein 2. mal eine zeile anklicke dann bringt er diesen fehler :
"Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."
Hoffe du kannst mir helfen :/.
03/04/2012 14:34 Kraizy​#10
Dann hat die eine Zeile vllt. keine 3 Einträge? Das kann ich ja so ohne weiteres nicht wissen..
03/04/2012 14:43 dragonheart11#11
Geschafft mit einem Try befehl kA warum das geht aber es geht xd
03/04/2012 15:45 Kraizy​#12
Du ignorierst dabei bloß die Fehlermeldung, die durch besseres Programmieren gar nicht erst kommen würde..
03/04/2012 16:46 Al Kappaccino#13
Quote:
Originally Posted by dragonheart11 View Post
ich danke dir für die antwort aber ich versteh nicht wie genau dieser code bei dir funktionieren konnte das dieser nur fehler enthält also alles wird blau unterstrichen ich kann mit dem code garnichts anfangen sorry :/
Der Code war auch nicht für c&p gedacht. C# und VB sind sich verdammt ähnlich, also sollte es nicht schwer sein dass einfach bisschen anzupassen, außerdem gibts ja immernoch c# zu vb konverter im Internet falls man es doch nicht schafft. VB hab ich nichtma installed lawl.

Quote:
Originally Posted by dragonheart11 View Post
Geschafft mit einem Try befehl kA warum das geht aber es geht xd
Wie der Name es schon sagt: "Try = Versuch". Ohne den Try Block zwingst du ihn quasi den Befehl auszuführen, wenn dort aber etwas schief läuft kann er es nicht ohne weiteres Ignorieren, da das Programm sonst möglicherweise fehlerhaft läuft oder crashed. Wenn du ihm sagst er soll es versuchen, dann tut er es eben und ignoriert den Befehl einfach wenn ein Fehler ensteht