jan na výpis adresářů?   zodpovězená otázka

VB.NET

Dobrý den,

prosím o radu , pro mnoho z Vás je to banalita, ale já to prostě nejsem schopen dát dohromady.

Mám aplikace ve složce kam se ukladájí další a další adresáře, já potřebuji seznam adresářů z této složky vypsat do MsgBoxu. Poraďte mi prosím :)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Hezký den,

zkuste to rekurzivním procházením. Doufám, že nevadí C# :

static void Main(string[] args)
        {
            var directory = new DirectoryInfo(@"c:\install");
            var directories = GetSubdirectories(directory);
            var directoriesString = string.Join(",", directories.Select(d => d.Name));
            Console.WriteLine(directoriesString);
        }

        private static List<DirectoryInfo> GetSubdirectories(DirectoryInfo directory)
        {
            var directories = new List<DirectoryInfo>();
            FillSubdirectoriesRecursive(directory, directories);
            return directories;
        }

        private static void FillSubdirectoriesRecursive(DirectoryInfo currentDirectory, List<DirectoryInfo> directories)
        {
            foreach (var subdirectory in currentDirectory.GetDirectories())
            {
                directories.Add(subdirectory);
                FillSubdirectoriesRecursive(subdirectory, directories);
            }
        }

R.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

C nevadí snad to nějak přeložim :-)

Děkuji za pomoc

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak nakonec jsem to vz5e4il jinak vypisuji seznam adresaru do listboxu , ale nevim jak ho prinutit aby vypisoval adresare ze stejne slozky jako je aplikace , tak abych tam nemusel zadávat cestu, nebo aby se ta cesta k souboru nevypisovala do toho listboxu.

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim Folders As String()
        Folders = IO.Directory.GetDirectories("L:\Prac\zalohy\vkr")
        ListBox1.Items.AddRange(Folders)
    End Sub
nahlásit spamnahlásit spam 0 odpovědětodpovědět
 var appPath = Server.MapPath("~");

R.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak jsem uplně mimo , ale nedokážu to dát do kupy , nebyla by rada ve VB.net prosím ? :-)

nahlásit spamnahlásit spam 0 odpovědětodpovědět
    Dim Folders As String()
    Folders = IO.Directory.GetDirectories(Application.StartupPath)
    ListBox1.Items.AddRange(Folders.Select(Function(path) IO.Path.GetFileName(path)).ToArray())

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Sakra tady spamuju :-)

Ale mám kód který mi čte z adresáře z kterého potřebuji , ale jak ho donutim , aby mi nevypisoval cestu a pouze název složky , na to jsem nepřišel.

  Dim Folders As String()
        Folders = IO.Directory.GetDirectories(CurDir)
        ListBox1.Items.AddRange(Folders)
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Možností je fakt hodně.

Třeba substringem si vytáhnout text za posledním lomítkem.

Nebo dotazem:

var directories = (from d in System.IO.Directory.GetDirectories(curDir)
                   let di = new System.IO.DirectoryInfo(d)
                   select di.Name).ToArray();
nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback