Domanda C# Eliminazione file.

Pacifico437

Utente Gold
27 Aprile 2012
192
91
8
205
Ultima modifica:
Buon anno.
in una cartella ho circa 90 file con estensione.doc.
Dal DataGridView selezionato una riga, dovrei eliminare il file.
Dal MessageBox noto il percorso ed il file selezionato dal DGV e
non riesco a risolvere il problema e chiedo un gradito suggerimento.
Riporto il codice:

Codice:
string percorso_database_Word = Application.StartupPath + @"\Documenti\Word\";
string Nome = percorso_database_Word;
Name = DataGridView.SelectedRows[0].Cells[1].Value.ToString();
Numo = Nome + Name + ".doc";   
MessageBox.Show(Numo); //Indica il percorso completo ed il file

string path = Numo;
File.Delete(path);
Non esce nessun errore ed il file non viene cancellato.

Gentilmente se potete suggerire.

Fiducioso, anticipatamente ringrazio, saluto.
Domenico.
Messaggio unito automaticamente:

Buonasera,
per correttezza comunico che ho risolto il problema.

Serena notte.
Domenico.
 
path su windows sono un casino quindi
  • Verifica l'esistenza della cartella e del file prima di tentare l'eliminazione.

"
try
{
// Costruzione del percorso
string percorso_database_Word = Path.Combine(Application.StartupPath, "Documenti", "Word");

// Verifica che la cartella esista
if (!Directory.Exists(percorso_database_Word))
{
MessageBox.Show($"La cartella non esiste: {percorso_database_Word}");
return;
}

// Verifica che sia selezionata una riga
if (DataGridView.SelectedRows.Count == 0)
{
MessageBox.Show("Seleziona una riga dal DataGridView.");
return;
}

// Recupero del nome del file (rimuovi eventuali estensioni esistenti)
string nomeFile = DataGridView.SelectedRows[0].Cells[1].Value.ToString();

// Rimuovi l'estensione .doc se già presente
nomeFile = Path.GetFileNameWithoutExtension(nomeFile);

// Costruzione del percorso completo
string percorsoCompleto = Path.Combine(percorso_database_Word, nomeFile + ".doc");

// Verifica che il file esista
if (!File.Exists(percorsoCompleto))
{
MessageBox.Show($"Il file non esiste: {percorsoCompleto}");
return;
}

// Mostra il percorso per debug
MessageBox.Show($"Percorso file: {percorsoCompleto}", "Conferma eliminazione",
MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);

// Elimina il file
File.Delete(percorsoCompleto);

MessageBox.Show("File eliminato con successo!");

// Aggiorna il DataGridView (se necessario)
// dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[0].Index);
}
catch (IOException ex)
{
MessageBox.Show($"Errore IO: {ex.Message}\n\n" +
"Il file potrebbe essere in uso da un altro programma.");
}
catch (UnauthorizedAccessException ex)
{
MessageBox.Show($"Accesso negato: {ex.Message}\n\n" +
"Non hai i permessi per eliminare questo file.");
}
catch (Exception ex)
{
MessageBox.Show($"Errore: {ex.Message}");
}" direttamente da chatgpt ecco lo script con un po' di catch sui possibili problemi, non ti aiuta "MessageBox.Show(Numo); //Indica il percorso completo ed il file" anche se non hai scritto se lo hai provato o meno nell'esplora file per vedere se manualmente funziona.
 
Indietro
Top Bottom