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(); //обновление таблицы }
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); }