[ shocknp @ 26.12.2016. 22:22 ] @
Zdravo svima, Imam problem sa delom koda gde trebam da proverim da li je projekcija uneta,tj. da li naziv filma koji unosim u textbox-u "txtNazivFilma" postoji u fajlu projekcija.txt,ali ne znam zbog cega.Bio bih vam zahvalan ako bi mi pomogli,jer vec neko vreme ne mogu da otkrijem sta je u pitanju. Evo klase gde mi izbacuje gresku(greska je oznacena je sa *****) : Code: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; using System.Runtime.Serialization.Formatters.Binary; namespace zeljko_nrt_7514 { public partial class AProjekcije : Form { List<Sala> listaSala; List<Film> listaFilmova; List<Projekcija> listaProjekcija; Sala sala; Film film; int idProjekcije; string putanjaSala; string putanjaFilm; string putanjaProjekcija; public AProjekcije() { InitializeComponent(); listaProjekcija = new List<Projekcija>(); listaSala = new List<Sala>(); listaFilmova = new List<Film>(); putanjaSala = "sale.txt"; putanjaFilm = "filmovi2.txt"; putanjaProjekcija = "projekcije.txt"; } private void btnUnesi_Click(object sender, EventArgs e) { bool postojiFilm = false, postojiSala = false, postojiProjekcija = false; if (!File.Exists(putanjaFilm) || new FileInfo(putanjaFilm).Length == 0 || !File.Exists(putanjaSala) || new FileInfo(putanjaSala).Length == 0) { MessageBox.Show("Azurirajte film i salu."); return; } //de sala BinaryFormatter bf1 = new BinaryFormatter(); FileStream fs1 = File.OpenRead(putanjaSala); listaSala = bf1.Deserialize(fs1) as List<Sala>; fs1.Dispose(); //de film BinaryFormatter bf2 = new BinaryFormatter(); FileStream fs2 = File.OpenRead(putanjaFilm); listaFilmova = bf2.Deserialize(fs2) as List<Film>; fs2.Dispose(); //uzimanje filma iz liste foreach(Film f in listaFilmova) { if(txtNazivFilma.Text.Equals(f.naziv)) { film = f; postojiFilm = true; break; } } //uzimanje sale iz liste foreach (Sala s in listaSala) { if (txtSala.Text.Equals(s.naziv)) { sala = s; postojiSala = true; break; } } //ako postoje film i sala obavesti if (postojiFilm == false) { MessageBox.Show("Uneti film ne postoji."); return; } if (postojiSala == false) { MessageBox.Show("Uneta sala ne postoji."); return; } //de i sr projekcije ako postoji putanja-------------------------------------------------- if (File.Exists(putanjaProjekcija) && new FileInfo(putanjaProjekcija).Length > 0) { int id; BinaryFormatter bf = new BinaryFormatter(); FileStream fs = File.OpenRead(putanjaProjekcija); listaProjekcija = bf.Deserialize(fs) as List<Projekcija>; fs.Dispose(); listBox1.DataSource = listaProjekcija; id = listaProjekcija.Count + 1; MessageBox.Show("Uspesno ocitavanje"); foreach (Projekcija p in listaProjekcija) { *************if (txtNazivFilma.Text.Equals(p.film.naziv))********************* { postojiProjekcija = true; break; } } if (postojiProjekcija == true) { MessageBox.Show("Projekcija je vec uneta."); return; } BinaryFormatter bf3 = new BinaryFormatter(); FileStream fs3 = File.OpenWrite(putanjaProjekcija); listaProjekcija.Add(new Projekcija(id, film, sala, txtVreme.Text)); bf3.Serialize(fs3, listaProjekcija); fs3.Dispose(); MessageBox.Show("Uspesno upisivanje"); } else { //sr projekcije ako nema putanje BinaryFormatter bf4 = new BinaryFormatter(); FileStream fs4 = File.OpenWrite(putanjaProjekcija); listaProjekcija.Add(new Projekcija(1, film, sala, txtVreme.Text)); bf4.Serialize(fs4, listaProjekcija); fs4.Dispose(); MessageBox.Show("Uspesno upisivanje"); } } } } A evo i klase Projekcija.cs Code: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace zeljko_nrt_7514 { [Serializable] class Projekcija { public int id; public Film film; public Sala sala; public string vreme; public Projekcija(int id, Film film, Sala sala, string vreme) { this.id = id; this.film = film; this.sala = sala; this.vreme = vreme; } public override string ToString() { return id + " -" + film + "- " + sala + " -" + vreme; } } } Evo i slike gde izbacuje gresku: Slika Hvala unapred. [Ovu poruku je menjao shocknp dana 26.12.2016. u 23:33 GMT+1] |