Allereerst wat er fout gaat:
1: Doormiddel van vak opslaan heb ik 3 vakken toegevoegd:
De inhoud van de listboxVakken wordt ook in een .txt opgeslagen:
2: Doormidel van vak opslaan een nieuwe vak "Biologie" toegevoegd, dit gaat prima:
3: Doormidel van verwijderen heb ik Wiskunde verwijderd
4: Als ik nu doormiddel van vak opslaan een nieuwe vak "CKV " toevoeg, krijg ik dit als output:
Zoals u ziet, wordt er van CKV alleen maar de C weergegeven in de listBoxVakken, en in de .txt bestand wordt er na iedere letter een spatie toegevoegd.
Ik ben hier de hele dag mee bezig, maar kom maar niet mee uit. Waar gaat het fout?
probleem is waarschijnlijk dat er spaties tussen de letters komen, maar als ik in mijn code kijk, dan zie ik dat echt nergens in terug komen.
Kan iemand mij vertellen waar de fout zit?
Alvast bedankt,
Mijn code:
1: Doormiddel van vak opslaan heb ik 3 vakken toegevoegd:

De inhoud van de listboxVakken wordt ook in een .txt opgeslagen:

2: Doormidel van vak opslaan een nieuwe vak "Biologie" toegevoegd, dit gaat prima:


3: Doormidel van verwijderen heb ik Wiskunde verwijderd


4: Als ik nu doormiddel van vak opslaan een nieuwe vak "CKV " toevoeg, krijg ik dit als output:


Zoals u ziet, wordt er van CKV alleen maar de C weergegeven in de listBoxVakken, en in de .txt bestand wordt er na iedere letter een spatie toegevoegd.
Ik ben hier de hele dag mee bezig, maar kom maar niet mee uit. Waar gaat het fout?
probleem is waarschijnlijk dat er spaties tussen de letters komen, maar als ik in mijn code kijk, dan zie ik dat echt nergens in terug komen.
Kan iemand mij vertellen waar de fout zit?
Alvast bedankt,
Mijn code:
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System;
using System.Text.RegularExpressions;
namespace CijfersV4
{
public partial class Form1 : Form
{
bool bestaat;
string line, linee;//lijnen voor vakken en cijfers;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
lezen();
lezenCijfers();
StreamWriter sw = new StreamWriter("Vakken.txt", true, Encoding.Unicode);
StreamWriter sw2 = new StreamWriter("Cijfers.txt", true, Encoding.Unicode);
sw.Write("");
sw2.Write("");
sw.Close();
sw2.Close();
}
//Opslaan Vakken!!!
private void opslaan_Click(object sender, EventArgs e)
{
checkBestaat();
listBoxLegenVak();
try
{
StreamWriter sw = new StreamWriter("Vakken.txt", true, Encoding.Unicode);
if (textBoxVak.Text == "")
{
label7.Text = "Geen vak ingevoerd!";
sw.Close();
}
else if (bestaat == true)
{
label7.Text = "Deze vak bestaat al";
sw.Close();
}
else if (bestaat == false)
{
string vak = textBoxVak.Text;
sw.WriteLine(vak);
sw.Close();
}
lezen();
}
catch (Exception ee)
{
label7.Text = "Exception: " + ee.Message;
Console.WriteLine("Exception: " + ee.Message);
}
}
//Opslaan cijfer
private void CijferOpslaan_Click(object sender, EventArgs e)
{
listBoxLegenCijf();//eerst listbox legen
string vak = "";
if (listBoxVakken.SelectedItem != null)
{
vak = listBoxVakken.SelectedItem.ToString();// geselecteerde vak voor cijfer plakken
}
try
{
StreamWriter sw = new StreamWriter("Cijfers.txt", true, Encoding.Unicode);
if (textBoxCijf.Text == "")
{
label7.Text = "Geen cijfer ingevoerd!";
sw.Close();
}
else if (vak == "" && textBoxVak.Text == "")
{
label7.Text = "Selecteer eerst een vak uit de vakken lijst, of vul een nieuwe vak in bij vak";
sw.Close();
}
else if (textBoxVak.Text != "")
{
label7.Text = "";
sw.WriteLine(textBoxVak.Text + " " + textBoxCijf.Text);
textBoxVak.Text = "";
textBoxCijf.Text = "";
sw.Close();
}
else
{
label7.Text = "";
sw.WriteLine(vak + " " + textBoxCijf.Text);
textBoxCijf.Text = "";
sw.Close();
}
sw.Close();
lezenCijfers();
}
catch (Exception ee)
{
label7.Text = "Exception: " + ee.Message;
Console.WriteLine("Exception: " + ee.Message);
}
}
//Vakken lezen!!!
public void lezen()
{
try
{
TextReader sr = new StreamReader("Vakken.txt");
line = sr.ReadLine();
while (line != null)
{
listBoxVakken.Items.Add(line);
line = sr.ReadLine();
}
sr.Close();
}
catch (Exception ee)
{
Console.WriteLine("fout");
}
}
public void lezenCijfers()
{
try
{
TextReader sr2 = new StreamReader("Cijfers.txt");
linee = sr2.ReadLine();
while (linee != null)
{
listBoxCijfers.Items.Add(linee);
linee = sr2.ReadLine();
}
sr2.Close();
}
catch (Exception ee)
{
Console.WriteLine("fout");
}
}
public void listBoxLegenVak()
{
listBoxVakken.Items.Clear();
}
public void listBoxLegenCijf()
{
listBoxCijfers.Items.Clear();
}
public bool checkBestaat()
{
try
{
TextReader sr = new StreamReader("Vakken.txt");
TextReader sr2 = new StreamReader("Cijfers.txt");
line = sr.ReadLine();
linee = sr2.ReadLine();
while (line != null)
{
if (line != textBoxVak.Text)
{
bestaat = false;
}
else
{
bestaat = true;
break;
}
line = sr.ReadLine();
linee = sr2.ReadLine();
}
sr.Close();
sr2.Close();
}
catch (Exception ee)
{
Console.WriteLine("fout");
}
return bestaat;
}
private void verwijderButton_Click(object sender, EventArgs e)//Verwijderen van geselecteerde vak
{
string list = "";
if (listBoxVakken.SelectedIndex != -1)
{
list = listBoxVakken.SelectedItem.ToString();
listBoxVakken.Items.RemoveAt(listBoxVakken.SelectedIndex);//Verwijderen uit de listBoxVakken
}
string tempFile = Path.GetTempFileName();
StreamReader sr = new StreamReader("Vakken.txt");
StreamWriter sw = new StreamWriter(tempFile);
string line = sr.ReadLine();
while (line != null)
{
if (line != list)//list de te verwijderen vak
sw.WriteLine(line);
line = sr.ReadLine();
}
sr.Close();
sw.Close();
File.Delete("Vakken.txt");
File.Move(tempFile, "Vakken.txt");
}
}
}
Laatst bewerkt: