Toon posts:

[C#]Een regel uit een .txt bestand verwijderen gaat mis

Pagina: 1
Acties:
  • 237 views

  • ObiTewodros
  • Registratie: April 2011
  • Laatst online: 07-06 09:05
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:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
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");
  


        }



    }
}

  • RobIII
  • Registratie: December 2001
  • Laatst online: 12:41

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

RobIII in "\[C#]: Programma raakt niet uit de lus al..."
MueR in "Devschuur® Beleid"

En als je code post, beperk die code dan tot relevante(!) delen. We zijn geen persoonlijke, gratis, debugservice...

[Voor 51% gewijzigd door RobIII op 02-07-2011 19:30]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


Dit topic is gesloten.


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee