Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
03/07/09 13:21
Ciao ragazzi, sto scrivendo un programma per crittare del testo.
Ho definito questa procedura per salvare il file crittografato:

private void frmCrypter_SalvaFileCriptato()   
        {
           SaveFileDialog SalvaFile = new SaveFileDialog();
           SalvaFile.DefaultExt = "*.cry";
           SalvaFile.Filter = "File Crittato (*.cry)|*.cry";
           SalvaFile.ShowDialog();
           FileStream Fs = new FileStream(SalvaFile.FileName, FileMode.CreateNew);
           BinaryWriter Bw = new BinaryWriter(Fs);
           Bw.Write(txbTestoCrittato.Text.ToString());
           Bw.Close();
           Fs.Close();
           pgrBarraProgresso.Value = 100;
           MessageBox.Show("Il file crittato è stato salvato correttamente!", "Operazione Riuscita", MessageBoxButtons.OK, MessageBoxIcon.Information);
           pgrBarraProgresso.Value = 0;          
        }


I problemi sono i seguenti:

Se il file che scrivo esiste gia dice: I/O Exception non gestita.
Se chiudo la finesta senza aver salvato niente: Argument Exception.

Come faccio a risolvere i problemi?
Vorrei ottenere una finesta per il salvataggio senza tanti problemi
Grazie ragazzi, sono agli inizi.
03/07/09 13:44
theprogrammer
Leggiamola la documentazione per imparare

msdn.microsoft.com/it-it/library/…(VS.80).aspx

specialmente quando si parla di Create e CreateNew ...
aaa
03/07/09 18:29
Certo, grazie per il link alla documentazione, non trovavo questa pagina. :rofl:

Ho risolto un problema ma quando, se per errore entro nella procedura e ne voglio uscire per mezzo dell'apposito tasto X, come qualunque programma, mi dice ArgumentException, percorso non valido.
E' come se volesse che venisse per forza generato un file...

Ultima modifica effettuata da 03/07/09 18:35
03/07/09 18:43
Scusate, ho risolto ora con un ciclo try-catch del tipo:

try
{
...
}
catch (ArgumentException)
{
return;
}


Però non mi piace, mi spiegate perchè da questo errore?
Ultima modifica effettuata da 03/07/09 18:44
03/07/09 18:48
theprogrammer
Postato originariamente da 7h3.c0r3:

Certo, grazie per il link alla documentazione, non trovavo questa pagina. :rofl:

Ho risolto un problema ma quando, se per errore entro nella procedura e ne voglio uscire per mezzo dell'apposito tasto X, come qualunque programma, mi dice ArgumentException, percorso non valido.
E' come se volesse che venisse per forza generato un file...



Non ho capito ... cosa hai scritto alla fine in base alla documentazione che ti ho indicato?
aaa
03/07/09 19:01
Gianluca87
beh i/o exception fa pensare a un errore nell'argomento probabilmente un simbolo che nella codifica di caratteri in input non viene riconosciuto quindi sicuramente nella codifica si è perso qualcosa...try catch su una cosa del genere non ha molto senso credo rischi di non riuscire a recuperare ciò che codifichi
aaa
03/07/09 21:18
No, ragazzi, mi sono espresso male, ora ve lo rispiego.
Il problema dell'I/O se un file con lo stesso nome esiste gia l'ho risolto.
Ora il problema è il seguente.

1) Io richiamo la procedura dopo l'evento click.
2) Viene aperta la finestra di dialogo per salvare.
3) Mettiamo caso che ho sbagliato a cliccare e ora voglio uscire dalla finestra dialogo per tornare alla form principare. Se lo faccio cliccando la X di chiudi, mi dice ArgumentException, path non valida ma io non volevo assolutamente passare la programma una path non valida, volevo solamente chiudere la form riguardante il salvataggio del file!

Tutto chiaro? Grazie.
03/07/09 21:28
theprogrammer
if (SalvaFile.ShowDialog() == DialogResult.OK)
{
  // qui inserisci la gestione del salvataggio con il filestream
}

Ultima modifica effettuata da Il Totem 04/07/09 6:48
aaa