Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-12-2010, 17:16   #1
pare93
Member
 
L'Avatar di pare93
 
Iscritto dal: Jul 2009
Messaggi: 268
[C#] Ricercare un file nel computer

Salve a tutti,
stò cercando di creare un applicazione in C# preferibilmente che permetta di ricercare un file di nome x nei dischi rigidi nel computer.
Ho cercato su internet e ho trovato anche delle soluzioni abbastanza interessanti ma il fatto è che voglio riuscire a farla io, quindi con delle istruzioni che conosco.
Qualcuno ha da propormi una soluzione?
Grazie in anticipo
pare93 è offline   Rispondi citando il messaggio o parte di esso
Old 14-12-2010, 19:28   #2
dojolab
Senior Member
 
L'Avatar di dojolab
 
Iscritto dal: Jun 2010
Città: Varese
Messaggi: 996
Quote:
Originariamente inviato da pare93 Guarda i messaggi
Salve a tutti,
stò cercando di creare un applicazione in C# preferibilmente che permetta di ricercare un file di nome x nei dischi rigidi nel computer.
Ho cercato su internet e ho trovato anche delle soluzioni abbastanza interessanti ma il fatto è che voglio riuscire a farla io, quindi con delle istruzioni che conosco.
Qualcuno ha da propormi una soluzione?
Grazie in anticipo
Sicuramente .net avrà dei metodi per aprire le directory e verificare se un file esiste o meno... puoi partire da questa idea di implementazione (anche se le prestazioni sarebbero disastrose); ci vorrebbe un file dell'indice (sul FS) o una Base di Dati dietro (in questo caso il FS stesso).
__________________
Il mercatino di dojolab: VENDO UN PO' DI COSE! VAI
Vendo Libro Oracle 10g GUIDA COMPLETA della Oracle Press, ITALIANO: LINK
dojolab è offline   Rispondi citando il messaggio o parte di esso
Old 15-12-2010, 15:32   #3
pare93
Member
 
L'Avatar di pare93
 
Iscritto dal: Jul 2009
Messaggi: 268
Si, all' inizio era proprio quello che avevo pensato io.
Ma dopo mi sono accorto che è una cosa da matti
In quanto avevo iniziato creandolo in modo tale da controllare tutti le unità di assegnazione dei dischi rigidi e appena ne trovava una esistente controllava se sulla cartella programmi (x86) c' era la cartella del programma che mi interessa.
Mi spiego meglio:
lui controllava se c' era il disco rigido 'a', se si controlla se all' interno della cartella Pogrammi(x86) c' era la cartella del programma interessato. Invece in caso negativo proseguiva il controllo con la lettera 'b' ... e così via fino alla 'z'.
Naturalmente una volta trovato il programma terminava ritornardo vero.
Ma a me sembra una soluzione alcuanto primitiva
Ah se puoi spiegarmi in due parola cosa sono gli FS thanks
pare93 è offline   Rispondi citando il messaggio o parte di esso
Old 15-12-2010, 15:38   #4
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 22245
Quote:
Originariamente inviato da pare93 Guarda i messaggi
Si, all' inizio era proprio quello che avevo pensato io.
Ma dopo mi sono accorto che è una cosa da matti
In quanto avevo iniziato creandolo in modo tale da controllare tutti le unità di assegnazione dei dischi rigidi e appena ne trovava una esistente controllava se sulla cartella programmi (x86) c' era la cartella del programma che mi interessa.
Mi spiego meglio:
lui controllava se c' era il disco rigido 'a', se si controlla se all' interno della cartella Pogrammi(x86) c' era la cartella del programma interessato. Invece in caso negativo proseguiva il controllo con la lettera 'b' ... e così via fino alla 'z'.
Naturalmente una volta trovato il programma terminava ritornardo vero.
Ma a me sembra una soluzione alcuanto primitiva
Ah se puoi spiegarmi in due parola cosa sono gli FS thanks
filesystem
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 15-12-2010, 15:42   #5
DarkSiDE
Senior Member
 
L'Avatar di DarkSiDE
 
Iscritto dal: Dec 2001
Città: Lecce
Messaggi: 3936
Quote:
Originariamente inviato da pare93 Guarda i messaggi
Si, all' inizio era proprio quello che avevo pensato io.
Ma dopo mi sono accorto che è una cosa da matti
In quanto avevo iniziato creandolo in modo tale da controllare tutti le unità di assegnazione dei dischi rigidi e appena ne trovava una esistente controllava se sulla cartella programmi (x86) c' era la cartella del programma che mi interessa.
Mi spiego meglio:
lui controllava se c' era il disco rigido 'a', se si controlla se all' interno della cartella Pogrammi(x86) c' era la cartella del programma interessato. Invece in caso negativo proseguiva il controllo con la lettera 'b' ... e così via fino alla 'z'.
Naturalmente una volta trovato il programma terminava ritornardo vero.
Ma a me sembra una soluzione alcuanto primitiva
Ah se puoi spiegarmi in due parola cosa sono gli FS thanks
fs sta per filesystem
Esistono una marea di esempi in rete, da qui puoi prendere spunto:

http://support.microsoft.com/kb/303974
http://www.c-sharpcorner.com/UploadF...FilesinCS.aspx
__________________
Non farò mai più affari con khalhell, 4HwGenXX.
DarkSiDE è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2010, 05:28   #6
pare93
Member
 
L'Avatar di pare93
 
Iscritto dal: Jul 2009
Messaggi: 268
Ok dai vedrò di vedremo gli esempi che mi hai postato ... Grazie mille
pare93 è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2010, 06:35   #7
dojolab
Senior Member
 
L'Avatar di dojolab
 
Iscritto dal: Jun 2010
Città: Varese
Messaggi: 996
Quote:
Originariamente inviato da pare93 Guarda i messaggi
Si, all' inizio era proprio quello che avevo pensato io.
Ma dopo mi sono accorto che è una cosa da matti
In quanto avevo iniziato creandolo in modo tale da controllare tutti le unità di assegnazione dei dischi rigidi e appena ne trovava una esistente controllava se sulla cartella programmi (x86) c' era la cartella del programma che mi interessa.
Mi spiego meglio:
lui controllava se c' era il disco rigido 'a', se si controlla se all' interno della cartella Pogrammi(x86) c' era la cartella del programma interessato. Invece in caso negativo proseguiva il controllo con la lettera 'b' ... e così via fino alla 'z'.
Naturalmente una volta trovato il programma terminava ritornardo vero.
Ma a me sembra una soluzione alcuanto primitiva
Ah se puoi spiegarmi in due parola cosa sono gli FS thanks
Soluzione alquanto primitiva e anche sbagliata (se proprio vogliamo vederla nel dettaglio).

Tu non devi cercare un programma/file che inizia per A, V o Z. Ma quella lettera deve essere contenuta anche nel file, programma, ad esempio 'vAcanZe.jpeg' (contiene A e Z); dovresti dare la possibilità di cercare anche per lettere, stringhe e sottostringhe.

L'ideale come ti ho detto è crearti un indice di tutto il tuo disco (directory/files) e tenerlo aggiornato ogni qual volta ci sia una modifica sul disco (scrittura). L'ideale sarebbe un file XML (il peso sarebbe di qualche decina di MB, ma le prestazioni nell'aprirlo e leggerlo non penso sarebbero eccelse.

Un FS è l'insieme dei tipi di dati astratti necessari per la memorizzazione, l'organizzazione gerarchica (e qui si torna al discorso di poco fa) e l'accesso in lettura.
__________________
Il mercatino di dojolab: VENDO UN PO' DI COSE! VAI
Vendo Libro Oracle 10g GUIDA COMPLETA della Oracle Press, ITALIANO: LINK
dojolab è offline   Rispondi citando il messaggio o parte di esso
Old 16-12-2010, 14:23   #8
pare93
Member
 
L'Avatar di pare93
 
Iscritto dal: Jul 2009
Messaggi: 268
Ho provato a seguire questa guida : http://support.microsoft.com/kb/303974
E il codice che ho creato è questo :

Codice:
private void btnCerca_Click(object sender, EventArgs e)
        {
            lstBoxFilesTrovati.Items.Clear();
            txtFile.Enabled = false;
            cboCartelle.Enabled = false;
            btnCerca.Text = "Ricerca ...";
            Application.UseWaitCursor = true;
            Application.DoEvents(); // Elabora tutti i messaggi di Windows
            CercaCartella(cboCartelle.Text);
            btnCerca.Text = "Cerca";
            Application.UseWaitCursor = false;
            txtFile.Enabled = true;
            cboCartelle.Enabled = true;
        }

        private void CercaCartella(string percorso)
        {
            try
            {
                foreach (string d in Directory.GetDirectories(percorso))
                {
                    foreach (string f in Directory.GetFiles(d, txtFile.Text))
                        lstBoxFilesTrovati.Items.Add(f);
                    CercaCartella(d);
                }
            }
            catch (System.Exception excpt)
            {
                Console.WriteLine(excpt.Message);
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            cboCartelle.Items.Clear();
            foreach (string d in Directory.GetLogicalDrives())
                cboCartelle.Items.Add(d);
            cboCartelle.Text = @"C:\";
        }
Ma non mi trova niente sapete dirmi il perchè? Non riesco a trovare l' errore

Ultima modifica di pare93 : 16-12-2010 alle 15:14.
pare93 è offline   Rispondi citando il messaggio o parte di esso
Old 18-12-2010, 15:32   #9
pare93
Member
 
L'Avatar di pare93
 
Iscritto dal: Jul 2009
Messaggi: 268
up
pare93 è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2010, 14:57   #10
pare93
Member
 
L'Avatar di pare93
 
Iscritto dal: Jul 2009
Messaggi: 268
Up
pare93 è offline   Rispondi citando il messaggio o parte di esso
Old 21-12-2010, 13:45   #11
pare93
Member
 
L'Avatar di pare93
 
Iscritto dal: Jul 2009
Messaggi: 268
Sono riuscito a costruire un algoritmo abbastanza semplice ma efficace. Per chi volesse un chiarimento mi contatti via MP.
pare93 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
SpaceX ha confermato che Flight 14 sar&a...
Googlebook pronto al debutto: Google apr...
Guida all'acquisto: quale lavapavimenti ...
Google Maps su Android Auto introduce fi...
AMD Ryzen 5 5500F: fino al 16% di presta...
L'ecosistema partner di Microsoft cresce...
Oracle registra un boom nella divisione ...
Amazon Prime Video sfida TikTok con le n...
L'uscita di Rayman Legends Retold &egrav...
Dazio UE sui pacchi extra UE, in Italia ...
La nuova lavatrice smart di Xiaomi ha tr...
Hai una PSP nel cassetto? Questo nuovo p...
Oracle presenta Java 27 con diverse novi...
Il microscopio dell'EPFL vede più...
Volvo avvia la produzione dei nuovi cami...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:27.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v