public void Inserisci(Opera o) { //Apre il file FileStream fs = new FileStream("file.txt", FileMode.Append); BinaryWriter bw = new BinaryWriter(fs); //Inserisce i dati, spazia autorore e titolo di 50. bw.Write(o.Codice); bw.Write(o.Autore.PadRight(50, ' ')); bw.Write(o.Titolo.PadRight(50, ' ')); bw.Write(o.Anno); bw.Write(o.Tipo); bw.Close(); fs.Close(); }
public bool Modifica(int c, Opera o) { try { FileStream fs = new FileStream("file.txt", FileMode.Open, FileAccess.ReadWrite); BinaryReader br = new BinaryReader(fs); BinaryWriter bw = new BinaryWriter(fs); long posizione; while (br.PeekChar() != -1) { posizione = fs.Position; if (br.ReadInt32() == c) { //Se viene trovata l'opera col codice corretto, viene modificata. fs.Position = posizione; bw.Write(o.Codice); bw.Write(o.Autore.PadRight(50, ' ')); bw.Write(o.Titolo.PadRight(50, ' ')); bw.Write(o.Anno); bw.Write(o.Tipo); br.Close(); bw.Close(); fs.Close(); //Si ritorna vero alla Form per indicare che l'azione è andata a buon fine return(true); } //Altrimenti si sposta la corrente del flusso br.ReadString().Trim(); br.ReadString().Trim(); br.ReadInt32(); br.ReadByte(); } br.Close(); bw.Close(); fs.Close(); //Si indica che il cpodice non è stato trovato return(false); } catch (Exception) { //Si ritorna false anche se non è stato trovato il file return(false); } }