C# Får inte texten i en fil till listboxen (windows form)
Det problem jag har är att när jag startar programmet och ska koppla det till centraldatorn så vill jag se böckerna som finns i text.filen i min listbox men inget kommer fram.
Just nu så har jag en knapp(button) till dessa kodstycken och även en listbox såklart men jag kan inte få dit filens innehåll till den.
btnConnect.Enabled = false;
btnSendObj.Enabled = true;
btnSendAllObj.Enabled = true;
btnExport.Enabled = true;
//BtnExportToFile.Enabled = true;
Så jag undrar vart i min kod som jag skulle ha skrivit fel
Den här raderna är hur filen ser ut och det som jag ska få ut på listboxen.(visar inte allt innehåll men alla ser likadana ut)
Travronden Nr.8###Utg.Joakim Svensson###Tidskrift###false
Skärkarlsliv###August Strindberg###Novellsamling###true
Ett fat amontillado###Edgar Allan Poe###Novellsamling###true
P.S. Jag hade kollat igenom kraven på programmet och behövde inte skicka extra text till filen så den biten ska tas bort där av /* */ biten
public partial class Form1 : Form
{
TcpClient Klient = new TcpClient();
int port = 12345;
List<Bok> bookList = new List<Bok>();
List<string> itemsaver = new List<string>();
String[] vektor;
public Form1()
{
InitializeComponent();
Klient.NoDelay = true;
string item = "";
List<string[]> strVektor = new List<string[]>();
if (File.Exists("texter.txt"))
{
StreamReader reader = new StreamReader("texter.txt", Encoding.Default, true);
while ((item = reader.ReadLine()) != null)
itemsaver.Add(item);
foreach (string S in itemsaver)
{
vektor = S.Split(new string[] { "###" }, StringSplitOptions.None);
strVektor.Add(vektor);
Bok newBook = new Bok();
bookList.Add(newBook);
newBook.Titel = vektor[0];
newBook.Författare = vektor[1];
newBook.Typ = vektor[2];
}
reader.Dispose();
}
}
public async void StartReciver()
{
try
{
IPAddress adress = IPAddress.Parse("127.0.0.1");
await Klient.ConnectAsync(adress, port);
btnConnect.Enabled = false;
}
catch (Exception error) { MessageBox.Show(error.Message, Text); return; }
}
public async void StartReader(string message)
{
byte[] outData = Encoding.Unicode.GetBytes(message);
try
{
await Klient.GetStream().WriteAsync(outData, 0, outData.Length);
}
catch (Exception error)
{
MessageBox.Show(error.Message, this.Text);
return;
}
}
private void btnLoadList_click(object sender, EventArgs e)
{
listBox1.Items.AddRange(bookList.ToArray());
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
btnSendObj.Enabled = true;
btnSendAllObj.Enabled = true;
btnExport.Enabled = true;
// BtnExportToFile.Enabled = true;
}
private void btnSendAllObj_Click(object sender, EventArgs e)
{
for (int i = 0; i < listBox1.Items.Count; i++)
{
StartReader(listBox1.Items[i].ToString());
Thread.Sleep(50);
}
}
private void btnSendObj_Click(object sender, EventArgs e)
{
if (listBox1.SelectedItems.Count == 1)
{
StartReader(listBox1.Text.ToString());
bookList.RemoveAt(listBox1.SelectedIndex);
listBox1.Items.RemoveAt(listBox1.SelectedIndex);
}
}
private void btnConnect_Click(object sender, EventArgs e)
{
if (!Klient.Connected) StartReciver();
}
private void btnClear_Click(object sender, EventArgs e)
{
if (listBox1.SelectedItems.Count == 1)
listBox1.Items.RemoveAt(listBox1.SelectedIndex);
else
listBox1.Items.Clear();
}
private void btnExport_Click(object sender, EventArgs e)
{
if (Klient.Connected)
{
byte[] meddelande = Encoding.Unicode.GetBytes(TbRichTextfile.Text);
StartExport(meddelande);
}
}
private async void StartExport(byte[] meddelande)
{
try
{
await Klient.GetStream().WriteAsync(meddelande, 0, meddelande.Length);
}
catch (Exception error)
{
MessageBox.Show(error.Message, this.Text);
}
}
/*private void BtnExportToFile_Click(object sender, EventArgs e)
{
if (File.Exists("texter.txt"))
{
FileStream outStream = new FileStream("texter.txt", FileMode.Append, FileAccess.Write);
StreamWriter writer = new StreamWriter(outStream);
writer.Write(TbRichTextfile.Text);
outStream.Dispose();
}
}*/
public class Bok
{
public string Titel { get; set; }
public string Författare { get; set; }
public string Typ { get; set; }
public override string ToString()
{
return Titel + " " + "(" + Typ + ")" + " av " + Författare;
}
}
}