PDA

View Full Version : [C#]Visualizzare i file in una cartella


Mattyfog
03-10-2008, 13:42
Ciao,

ho bisogno di visualizzare dei file in una cartella, così su internet ho trovato questo pezzo di codice:


string cartella = ("C:\\Users\\Matteo\\Pictures\\" + textBox_percorso.Text);

foreach (string a inDirectory.GetFiles(cartella))
{
FileInfo dInfo = newFileInfo(a);
if (dInfo.Extension == ".jpg" | dInfo.Extension == ".tiff" |
dInfo.Extension == ".jpeg" | dInfo.Extension == ".bmp")
{
string c = dInfo.Name;
//operazioni da eseguire con il file
}
}

l'unico problema è che in fare di compilazione mi da il seguente errore:

Errore 1 È previsto 'in' C:\Users\Matteo\AppData\Local\Temporary Projects\Copia Foto Nonno\Form1.cs 31 31 Copia Foto Nonno
perchè?
Io ho incluso:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

manca qualcosa?

grazie e ciao

||ElChE||88
03-10-2008, 13:44
foreach (string a in Directory.GetFiles(cartella))

Separato. :O

Mattyfog
03-10-2008, 14:11
Forse dovrei aprire un nuovo topic comunque....

string cartella = ("C:\\Users\\Matteo\\Pictures\\" + textBox_percorso.Text);

foreach (string a in Directory.GetFiles("C:\\prova"))
{
FileInfo dInfo = new FileInfo(a);
if (dInfo.Extension == ".jpg" | dInfo.Extension == ".tiff" |
dInfo.Extension == ".jpeg" | dInfo.Extension == ".bmp")
{
string percorsofileorigine = ("C:\\Prova" + dInfo.Name);
string percorsofiledestinzione = (cartella + dInfo.Name);
pictureBox1.Image = Bitmap.FromFile(percorsofileorigine);
//File.Copy(("C:\\Prova" + dInfo.Name), percorsofiledestinzione);
Thread.Sleep(3000);

}
}

a volte la picture box da dei problemi e fa chiudere l'applicazione. Penso sia dovuto al fatto che cerco di caricare jpeg, tiff e bmp con il comando Bitmap.FromFile(percorsofile); che dovrebbe (penso) caricare solo una bitmap. Come faccio con gli altri file?

Mattyfog
03-10-2008, 16:26
perfavore,
avrei bisogno della soluzione entro le 6... è per un programma che serve a mio nonno e siccome glielo vorrei dare oggi ve ne sarei grato.
grazie ciao

Mattyfog
03-10-2008, 22:02
adesso questo codice funziona:

foreach (string a in Directory.GetFiles("C:\\prova"))
{
FileInfo dInfo = new FileInfo(a);
if (dInfo.Extension == ".jpg" | dInfo.Extension == ".tiff" |
dInfo.Extension == ".jpeg" | dInfo.Extension == ".bmp")
{
string percorsofileorigine = ("C:\\Prova\\" + dInfo.Name);
string percorsofiledestinzione = (cartella + "\\" + dInfo.Name);
pictureBox1.Image = Bitmap.FromFile(percorsofileorigine);
File.Copy(percorsofileorigine, percorsofiledestinzione);

//mi occupo della progress bar
progressBar1.Value = fotocopiate * 100 / numerofile;
fotocopiate++;
Thread.Sleep(3000);
}
}

solo non capisco perchè nonostante io abbia messo lo slip per evitare che il processo andasse troppo veloce, compare nella picture box solo l'ultima foto.

Mattyfog
03-10-2008, 22:04
tutto risolto ciao