예제 #1
0
        private void otwórzToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DialogResult result;

            result = openFileDialog1.ShowDialog();      //otwiera okno wczytania pliku

            if (result == DialogResult.OK)              // wczytanie pliku tylko wtedy gdy użytkownik liknie ok
            {
                string name = openFileDialog1.FileName; // zmienna będąca nazwa wybranego pliku
                string oneLine;                         //jedna linia wczytanego tekstu z pliku .txt


                try
                {
                    StreamReader data = new StreamReader(name);

                    while (data.EndOfStream == false) //pętla wykonuje się aż nie dojdziemy do końca pliku
                    {
                        oneLine = data.ReadLine();

                        //teraz trzeba się zajać podzieleniem stringa i wpakowaniem poszczególnych elementów w tablicę

                        if (oneLine.Contains("|"))
                        {
                            Cost cost = new Cost();
                            cost = SplitThis(oneLine);  //dzielenie stringa i tworzenie obiektu typu Cost
                            costsList.Add(cost);        // dodawanie kosztu do listy kosztów
                            PassCost(cost);             // przekazywanie kosztu do listy wydatków
                        }
                        else if (oneLine.Contains("<")) //pobieranie wielkości salda
                        {
                            string[] balance = oneLine.Split('<');

                            account1.Balance = Convert.ToDecimal(balance[1]); // ustalanie wysokości salda
                            ShowBalance(account1);                            // wyświetlanie wysokości salda

                            //po załadowaniu danych dodających do konta środki, opcja utworzenia konta zostaje usunięta

                            if (account1.Balance != 0)
                            {
                                toolStripMenuItem1.Enabled = false;
                            }
                        }
                        else if (oneLine.Contains(">"))
                        {
                            string[] openBalance = oneLine.Split('>');
                            account.Acc = Convert.ToDecimal(openBalance[1]);
                        }
                    }

                    lblBalanceValue.BackColor = Color.White;

                    if (btnAdd.Enabled == false)
                    {
                        btnAdd.Enabled = true;
                    }

                    data.Close();
                }
                catch (IOException exception)
                {
                    MessageBox.Show("Wystąpił błąd" + exception.Message, "bład", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }