Beispiel #1
0
        private void FormMain_Load(object sender, EventArgs e)
        {
            if (loadData()) //проверка наличия файла с данными базы
            {
            }
            else //если подходящий файл не найден, вызвать форму создания новой базы
            {
                this.Hide();
                Form enterForm = new FormEnter();
                enterForm.ShowDialog();
                int spaceCounter = cardList.Count;

                while (cardList.Count < spaceAmount) //заполнение таблицы пустыми полями, которые в дальнейшем можно будет заполнить
                {
                    AccountCard emptyCard = AccountCard.CreateEmpty(spaceCounter + 1);
                    cardList.Add(emptyCard);
                    spaceCounter++;
                }
            }
            updateTable(); //обновление таблицы
        }
Beispiel #2
0
        public bool loadData()  //загрузка данных из файла
        {
            FileStream   fileStream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read);
            BinaryReader reader     = new BinaryReader(fileStream);

            //если невозможно считать, останавливаем выполнение метода
            try
            {
                password = reader.ReadString();
            }
            catch
            {
                reader.Close();
                fileStream.Close();
                return(false);
            }

            if (password == null || !FormEnter.isPassword(password))
            {
                reader.Close();
                fileStream.Close();
                return(false);
            }

            //дальнейшее считывание
            spaceAmount = reader.ReadInt32();
            cardList    = new List <AccountCard>(spaceAmount);
            int i = 0;

            while (fileStream.CanRead && i < spaceAmount)
            {
                cardList.Add(AccountCard.readFromFile(reader));
                i++;
            }

            reader.Close();
            fileStream.Close();

            return(true);
        }