Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Dohvatanje podfoldera nekog foldera - C#(.NET 4.0)

[es] :: .NET :: Dohvatanje podfoldera nekog foldera - C#(.NET 4.0)

[ Pregleda: 2349 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

2paca.zwaka
Nikola Ninkovic
Web Developer
BTGPort
Trebinje, RS/BiH

Član broj: 277023
Poruke: 126
*.teol.net.



+7 Profil

icon Dohvatanje podfoldera nekog foldera - C#(.NET 4.0)03.01.2012. u 16:58 - pre 149 meseci
Imam klasu Folder i u njoj metodu LoadSubFolders() koja 'puni' ObservableCollection<Folder>.

Aplikacija je uradjena u WPF na MVVM obrazcu i ima TreeView kontrolu, napravljena na principu Load on demand.....

Interesuje me dali postoji neki brzi nacin od ovoga jer mi za ucitavanje podfoldera u 'C:\\WINDOWS\\' treba oko 2 sekunde.......

Dali da 'zalepim' C-om i Win32 funkcijama poput FindNextFile i kako ?

ili eventualno background thread da ucitava ove podatke..............

Code:

public void LoadSubFolders()
{
 if (!this.HasLoadedSubFolders)
            {
                // Pomocni niz koji koristimo za odredjivanje dali folder zadrzi podfoldere
                IO.DirectoryInfo[] testArray;
                foreach (IO.DirectoryInfo directory in this._info.GetDirectories("*", IO.SearchOption.TopDirectoryOnly))
                {
                    Folder subDirectory;
                    // Ispitujemo dali taj folder ima pod foldera ili je krajnji
                    try
                    {
                        testArray = directory.GetDirectories("*", IO.SearchOption.TopDirectoryOnly);
                        if (testArray.Length > 0)
                            // Ako nije krajnji dodaje mu se DummyChild
                            // Zbog + simbola ( Expander )
                            subDirectory = new Folder(directory, true);
                        else
                            // U suprotom folder je krajnji 
                            // I ne dodajemo mu DummyChild jer ne zelimo + simbol ( Expander )
                            subDirectory = new Folder(directory, false);

                        // Dodajemo folder u parent folder
                        this.SubFolders.Add(subDirectory);
                    }
                    catch (Exception exc)
                    {
                        MessageBox.Show(exc.Message);
                    }
                }
                this.HasLoadedSubFolders = true;
            }
}



Hvala unapred.....
while(I->AmAlive()){
I->DoSomeProgramming();
}
 
Odgovor na temu

sallle
Sasa Ninkovic
GTECH
Beograd

Član broj: 146
Poruke: 480
*.finsoft.co.rs.

ICQ: 20785904


+4 Profil

icon Re: Dohvatanje podfoldera nekog foldera - C#(.NET 4.0)04.01.2012. u 14:50 - pre 149 meseci
sam ovaj kod ne bi trebalo da ti pravi neke probleme, mada ako imas problem sa vremenom, verovatno imas evente koji iznova i iznova zovu ovaj ili neki drugi kod...

btw, ovaj kod si mogao napisati i kao:

Code:

foreach (var dir in _info.GetDirectories()){
this.subFolders.add(new Folder(dir,dir.GetDirectories().Length>0));
}


pretpostavljam da ove subfoldere drzis u nekoj hashtabeli? : Dictionary<DirectoryInfo, IList<Folder>>


 
Odgovor na temu

2paca.zwaka
Nikola Ninkovic
Web Developer
BTGPort
Trebinje, RS/BiH

Član broj: 277023
Poruke: 126
*.teol.net.



+7 Profil

icon Re: Dohvatanje podfoldera nekog foldera - C#(.NET 4.0)09.01.2012. u 16:54 - pre 149 meseci
Da budem iskren ne drzim, koja je prednost toga ?
Ovo sam samo nesto 'na brzaka' pisao da vidim vredi li u c# raditi file manager, ali je zaista sporo.
Znas li neki nacin da preko Shell-a uradim ovo i da li vredi da se ovde koristi native C zakrpa u Win32Api-ju ?
Hvala
while(I->AmAlive()){
I->DoSomeProgramming();
}
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Dohvatanje podfoldera nekog foldera - C#(.NET 4.0)09.01.2012. u 17:22 - pre 149 meseci
Ako ti treba funkcionalnost, ali nije neophodno da je sam praviš onda pogledaj Nomad.NET, file manager napisan u C# pretpostavljam.
 
Odgovor na temu

[es] :: .NET :: Dohvatanje podfoldera nekog foldera - C#(.NET 4.0)

[ Pregleda: 2349 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.