ASP.NET, C# - stáří adresáře – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

ASP.NET, C# - stáří adresáře – .NET – Fórum – Programujte.comASP.NET, C# - stáří adresáře – .NET – Fórum – Programujte.com

 

Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
21. 12. 2008   #1
-
0
-

Mám několik adresářů, a procházím je metodou foreach. Potřeboval bych zjistit, která složka je nejstarší, a vytvořit dynamický label s názvem složky.

Ten label bych potřeboval vytvořit jen jeden. Jenom pro tu nejstarší složku. Bohužel nevím, jak procházet stáří složky, a jak určit, která je nejstarší...

Mohl by mi někdo pomoci?

Nahlásit jako SPAM
IP: 85.207.101.–
Japo0
Návštěvník
21. 12. 2008   #2
-
0
-

Myslím, že zjistit přímo nejstarší podsložku ve složce nepůjde, takže budeš muset projít všechny složky a pro každou vytvořit objekt DirectoryInfo. Ten obsahuje všechny možné informace o složce, včetně data vytvoření nebo poslední změny.

Nahlásit jako SPAM
IP: 90.176.243.–
mephi0
Expert
21. 12. 2008   #3
-
0
-



using System.IO;

DirectoryInfo di = new DirectoryInfo(@"D:\Dokumenty");
Console.WriteLine(di.CreationTime.ToString());

Nahlásit jako SPAM
IP: 85.237.232.–
Program nemusi fungovat rychle, staci ze funguje dostatecne rychle.
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
21. 12. 2008   #4
-
0
-

Díky za odpovědi a za ten kód, ale ještě bych potřeboval vědet, když mám takový kód:

using System.IO;


DirectoryInfo di = new DirectoryInfo(@"D:\Dokumenty");
Console.WriteLine(di.CreationTime.ToString());


tak jak porovnám čas s ostatními složkami a určím, která z nic je nejstarší?

Nahlásit jako SPAM
IP: 85.207.101.–
Japo0
Návštěvník
21. 12. 2008   #5
-
0
-

Velmi lehce. DirectoryInfo.CreationTime je typu DateTime a umožňuje porovnávání. Stačí se tedy udělat dvě proměnné, v kterých si budeš pamatovat nejstarší složku a čas jejího vytvoření, tedy:



DateTime nejstarsiVytvoreni = DateTime.Now;
string nejstarsi;
foreach (...) {
...
DirectoryInfo di = new DirectoryInfo(slozka);
if (di.CreationTime < nejstarsiVytvoreni) {
nejstarsiVytvoreni = di.CreationTime;
nejstarsi = slozka;
}
...
}

Nahlásit jako SPAM
IP: 90.176.243.–
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
21. 12. 2008   #6
-
0
-

Díky moc... :-)

Nahlásit jako SPAM
IP: 85.207.101.–
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
21. 12. 2008   #7
-
0
-

A ještě bych měl otázečku :-)

Potřeboval bych také náhodně vybrat nějaký adresář...

Nahlásit jako SPAM
IP: 85.207.101.–
21. 12. 2008   #8
-
0
-

To Anonymní uživatel : Získej (nebo vytvoř) pole adresářů a zvol náhodnej index (třída Random).

Nahlásit jako SPAM
IP: 84.21.124.–
Dušan Janošík | web: djanosik.cz, @djanosik
sunamo0
Newbie
23. 12. 2008   #9
-
0
-

public void NáhodnáSložka<T>(T[] zČeho)
{
return new Random().Next(0, zČeho.Length-1);
}

Nahlásit jako SPAM
IP: 90.177.86.–
[url]http://sunamo.aspone.cz[/url]
Japo0
Návštěvník
23. 12. 2008   #10
-
0
-

To sunamo : Když už, tak alespoň

public int NáhodnáSložka<T>(T[] zČeho) 


Ale myslím, že na to není potřeba žádná metoda (zvlášť pokud pořád dokola vytváří novou instanci třídy Random).

Nahlásit jako SPAM
IP: 90.176.243.–
23. 12. 2008   #11
-
0
-

I tak je to nesmysl. Když už takhle, tak to má vracet rovnou tu složku a ne jen index (v takovém případě je to wrapper k ničemu).

Nahlásit jako SPAM
IP: 84.21.124.–
Dušan Janošík | web: djanosik.cz, @djanosik
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 9 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý