Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno C# Náhodná složka

Zdravím,

Pomohl by mi někdo vytvořit kód (v C#) pro výpis náhodné složky z určeného místa v PC ? (např.: C:\Users\(moje jméno)\Desktop) a zde (z plochy) vybrat jednu složku, náhodně a vypsat na konzoli jméno té složky.

Děkuji za váš čas

Řešení:

Ten kód ti nemůže fungovat. Pokud ale opravím závorky, tak bez problémů funguje:

string DirFolder = @"c:\";
string[] folders = Directory.GetDirectories(DirFolder);
Random rnd = new Random();

Console.WriteLine(folders[rnd.Next(folders.Length)]);
Předmět Autor Datum
Pomohl ano. Udělal za tebe ne. S čím si nevíš rady? A neřešil už jsi to tu nedávno a nedostal jsi ře…
Wikan 29.05.2018 22:31
Wikan
Udělal jsem si provizorní "program" Mám tam dvě tlačítka a jedno je pro výběr určené složky kde má v…
User9595 29.05.2018 22:35
User9595
Při výpisu chyby mi píše, že je někdě tady: strRandFile = dirFiles[randpick].Name; A to je problém…
User9595 29.05.2018 22:39
User9595
a to randpick je kolko a z jakeho rozsahu ho generujes? To je tvoja chyba. Nizsie mas ten rozsah vo…
MMnereg 30.05.2018 02:10
MMnereg
Tady mám ještě jeden kód, ten funguje ale pouze vypíše čísla (index, pořadí složky, ne název) strin…
User9595 29.05.2018 22:38
User9595
Ten kód ti nemůže fungovat. Pokud ale opravím závorky, tak bez problémů funguje: string DirFolder =…
Wikan 30.05.2018 10:38
Wikan
Děkuji, takhle jsem to přesně chtěl :-) Akorát jestli by byla ještě možnost, dost se s tím peru, jd…
User9595 04.06.2018 09:52
User9595
var dirFolder = @"c:\"; var folders = new DirectoryInfo(dirFolder).GetDirectories(); Random rnd = ne…
Wikan 04.06.2018 10:07
Wikan
Děkuji mockrát za váš čas poslední
User9595 04.06.2018 10:14
User9595

Udělal jsem si provizorní "program" Mám tam dvě tlačítka a jedno je pro výběr určené složky kde má vyhledat tu náhodnou a druhé vygeneruje jméno náhodné složky, problém je že to funguje pouze na soubory (např. .exe, .jpg, atd.) Při výběru šložky nefunguje, hledal jsem po internetu jak bych to mohl přepsat ale vůbec nic mi nepomohlo

public String strDirectory;
public String strRandFile;

DirectoryInfo di;
FileInfo[] dirFiles;
Random r = new Random();

public Form1()
{
InitializeComponent();
}

private void dir_butt_Click(object sender, EventArgs e)
{
FolderBrowserDialog fbd = new FolderBrowserDialog();

if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
strDirectory = fbd.SelectedPath;
textBox1.Text = strDirectory;
di = new DirectoryInfo(strDirectory);
dirFiles = di.GetFiles();
rdm_butt.Visible = true;
}
}

private void rdm_butt_Click(object sender, EventArgs e)
{
int posVals = dirFiles.Length;
int randpick = r.Next(0, posVals);
strRandFile = dirFiles[randpick].Name;
textBox2.Text = strRandFile;

Tady mám ještě jeden kód, ten funguje ale pouze vypíše čísla (index, pořadí složky, ne název)

string DirFolder = @"(cesta)";
string[] folders = Directory.GetDirectories(DirFolder);
Random rnd = new Random();

Console.WriteLine (folders(rnd.Next(folders.Length));

Děkuji, takhle jsem to přesně chtěl :-)

Akorát jestli by byla ještě možnost, dost se s tím peru, jde udělat aby se ukázal pouze název složky ? Na konzoli mi vypíše celou cestu (např.: "C:\Users\(jméno)\Desktop\(název složky)")

Zpět do poradny Odpovědět na původní otázku Nahoru