Textdokument-Zeilen in eine Listbox einlesen?

03/31/2012 14:02 [PROTOTYPE2]#1
Ich habe ein problem mit meinem programm.

Ich habe in meinem programm ein "Changelog" hinzugefügt(eine listbox), der sich automatisch mit der Changelog.txt auf dem FTP-Server aktualisiert.

problem ist, das alles was im Textdokument drinn ist, eine neue zeile in der listbox bekommt.

So sieht das Textdokument aus (beispiel):

So sieht die listbox im programm aus:

Folgenden code habe ich reingeschrieben:

kann mir jemand bei meinem problem helfen?

Lg
03/31/2012 14:07 Kilinat#2
Musst du das mit einer ListBox machen ?
Ich persönlich fände eine TextBox mit Multiline=true vorteilhafter.

Wenn du es mit einer ListBox machst sollte die Eigentschaft DataSource oder ItemsSource für dich interessant sein. Da musst du dann aber mit dem FileReader arbeiten und jede Zeile einzeln auslesen.
03/31/2012 14:35 qickly#3
Und dann mit der each Funktion jede Zeile auslesen , verbinde das mit einer Try Funktion und der einer Expection Ausnahme Exit Try und du müsstest alle ausgelesen haben...
03/31/2012 14:42 [PROTOTYPE2]#4
Leute. ich bin noch ein anfänger in sachen vb...
mit der Multiline-Textbox hab ich auch schon versucht, kommt das gleiche raus ._.

kann mir nicht jemand den Code posten?
wäre nett, danke (:

Lg
03/31/2012 15:04 irrenhaus#5
Code:
//benötigt wirs außerdem using System.IO;
using(StreamReader read = new StreamReader(@"C:\MVS-Version\MVS-Changelog.txt"))//StreamReader mit deiner Datei erstellen
{
string line = ""; //Momentane Zeile als String-Variable
while((line = read.ReadLine()) != null) //Solange die Zeile, die man liest nicht dem Wert null entspricht
{
listBox1.Items.Add(line); //Die momentane Zeile in die ListBox einfügen
}
}
meinst du sowas?
03/31/2012 15:06 Kraizy​#6
Laut dem TE ist die Textdatei auf einem FTP-Server, somit musst du den Text erstmal runterladen bevor du den StreamReader benutzt.
03/31/2012 15:16 qickly#7
Wie war mit einem Thanks?
TextBox2.Text = TextBox1.Lines(2) '// get line 3
Zeile 1 ist 0 Zeile 2 ist Lines(1) usw.
Zuvor musst du in Textbox 1 die Datei laden...
03/31/2012 15:20 [PROTOTYPE2]#8
Quote:
Originally Posted by Ha ru View Post
Code:
//benötigt wirs außerdem using System.IO;
using(StreamReader read = new StreamReader(@"C:\MVS-Version\MVS-Changelog.txt"))//StreamReader mit deiner Datei erstellen
{
string line = ""; //Momentane Zeile als String-Variable
while((line = read.ReadLine()) != null) //Solange die Zeile, die man liest nicht dem Wert null entspricht
{
listBox1.Items.Add(line); //Die momentane Zeile in die ListBox einfügen
}
}
meinst du sowas?
Es kommt eine Reihe an Fehlermeldungen D: Ich habe "Imports Sysem.IO" ganz oben eingefügt:


Quote:
Originally Posted by xKraizy View Post
Laut dem TE ist die Textdatei auf einem FTP-Server, somit musst du den Text erstmal runterladen bevor du den StreamReader benutzt.
Ich hab es schon eingestellt, das es runtergeladen werden muss, und es lädt auch runter. Ich muss es dann ja nur einfügen, und das will nicht so wie ich es will...

Lg
03/31/2012 15:27 Encrypt'#9
Quote:
Originally Posted by [PROTOTYPE2] View Post
Es kommt eine Reihe an Fehlermeldungen D: Ich habe "Imports Sysem.IO" ganz oben eingefügt:

Lg
Scheint auch ein C++ Source zu sein ;o
03/31/2012 15:41 [PROTOTYPE2]#10
Quote:
Originally Posted by qickly View Post
Wie war mit einem Thanks?
TextBox2.Text = TextBox1.Lines(2) '// get line 3
Zeile 1 ist 0 Zeile 2 ist Lines(1) usw.
Zuvor musst du in Textbox 1 die Datei laden...
Was meinst du damit?


Quote:
Originally Posted by Encrypt' View Post
Scheint auch ein C++ Source zu sein ;o
Was macht eine C++ Source in einem VB-Thread? Ich kann die sprachen nicht so gut unterscheiden...

€dit:


Quote:
Originally Posted by Ha ru View Post
Ops sorry dachte C#

Code:
Imports System.IO

Dim read As StreamReader = New StreamReader(@"C:\MVS-Version\MVS-Changelog.txt")
Dim line As String
Do
     line = read.ReadLine()
     listBox1.Items.Add(line)
Loop Until line Is Nothing
read.Close()
Fehler...
03/31/2012 16:33 Kraizy​#11
PHP Code:
dim s as string "dein runtergeladener text mit mehreren zeilen"

with new io.stringreader(s)
while .
peek <> -1
listbox
.items.add(.readline)
end while
end with 
ziemlicher mist aber sollte dir ja wohl ausreichen..
wenn du deinen text irgendwo in ner textdatei auf deinem pc hast, dann benutz nen streamreader
btw, man setzt kein "@" zeichen in vb.net
03/31/2012 16:47 [PROTOTYPE2]#12
Quote:
Originally Posted by xKraizy View Post
PHP Code:
dim s as string "dein runtergeladener text mit mehreren zeilen"

with new io.stringreader(s)
while .
peek <> -1
listbox
.items.add(.readline)
end while
end with 
ziemlicher mist aber sollte dir ja wohl ausreichen..
wenn du deinen text irgendwo in ner textdatei auf deinem pc hast, dann benutz nen streamreader
btw, man setzt kein "@" zeichen in vb.net
kein fehler <3
sobald ich aber das programm debugge kommt das:
03/31/2012 16:48 Kraizy​#13
dann lies dir doch mal die fehlermeldung durch..benutz delegates
03/31/2012 20:04 [PROTOTYPE2]#14
Quote:
Originally Posted by xKraizy View Post
dann lies dir doch mal die fehlermeldung durch..benutz delegates
ich hab jetzt ca. 2 stunden gesucht und verschiedenes probiert..
habe nichts gefunden, ich bin immernoch bei meiner anfangsfrage..
03/31/2012 22:07 Al Kappaccino#15
Code:
                 string[] stack = File.ReadAllLines("Pfad zur textdatei");
                foreach(string s in stack)
                {
                    listBox1.Items.Add(s);
                }
Ist wohl die einfachste Methode.

Damit du den code nicht wieder einfach nur kopierst und dich dann (komischerweise) wunderst, warum er nicht geht... Das ist C#, ich nehme dir mal nicht die Arbeit ab das umzuschreiben.

C# und VB.Net sind sich bis auf wenige Syntaxe sehr ähnlich und wenn du es dennoch nicht schaffst, nimm einen converter ;)

MfG

Jake