IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Miroslava
Člen
Avatar
Miroslava:12.12.2013 18:19

Zdravím, potrebovala by som poradiť ohľadne zadania v ktorom mám načítať komplexnú adresárovú štrukúru zvoleného adresára vrátane podadresárov a súborov v nich. Adresárová štruktúra bude prehľadne zobrazená v pracovnom okne aplikácie a zároveň bude zapísaná do zvoleného textového súboru (so zachovaním stromovej štruktúry adresára). Program bude vytvorený ako Win aplikácia. Program by mal vhodným spôsobom zobrazovať dosiahnutý výsledok. Program by mal obsahovať základné ošetrenie (vstupné údaje, práca so súbormi...) pomocou ochytávania výnimiek.

Skúšala som to jedine cez TextBox a aby mi to vypisovalo jedine z C disku ale to je vsetko vedel by mi niekto poradit ako na to?...Zatial len tento zdrojový kód mám (v Design je jedno tlacitko button a textbox):
void Button1Click(object sender, EventArgs e)
{

}

private void button1_Click(ob­ject sender, EventArgs e)
{
DirectoryInfo dir = new DirectoryInfo("C:\\"); DirectoryInfo[] dirArr = dir.GetDirecto­ries();
foreach (DirectoryInfo dri in dirArr)
{ textBox1.Text = textBox1.Text + dri.Name; textBox1.Text = textBox1.Text + "\n"; }
}
}
}

 
Odpovědět
12.12.2013 18:19
Avatar
Neaktivní uživatel:12.12.2013 19:57

Pro načtení zadávaného adresáře doporučuju použít FolderBrowseDialog (ve WinForms v toolboxu).
Pro vytvoření samotné stromové struktury pak použít rekurzy a všechny adresáře ukládat do kolekce (která ti musí zachycovat nadřazený prvek, existuje-li).

Editováno 12.12.2013 19:59
Nahoru Odpovědět
12.12.2013 19:57
Neaktivní uživatelský účet
Avatar
Milan Křepelka
Tvůrce
Avatar
Milan Křepelka:14.12.2013 13:16

Tohle je výborný příklad na rekurzi. Nebudu za tebe dělat domácí úkol, ale alespoň slovy.

Udělel si funkci na "výpis obsahu adresáře". Části už máš za sebou, pak se ti bude hodit

  • System.IO.Direc­tory.GetFiles
  • System.IO.FileInfo

Pokud v daném adresáři najdeš Adresář - zavolej funkci "výpis obsahu adresáře". To bude asi to, co po tobě chtějí.

Grafický cukrbliky nechám na tobě. WinForm se na to nechodí, udělej to jako konzolovku.


Kdybys byla ve stavu akutní nouze. Tak příkazová řádka "tree muj_adresar > muj_vystupni_sou­bor.txt" asi provar, ale bonus za efektivitu a originalitu ;-)

 
Nahoru Odpovědět
14.12.2013 13:16
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.