Silent Assassin Napisano Czerwiec 28, 2010 Zgłoś Share Napisano Czerwiec 28, 2010 Elo, jest tak, że dosłownie przepisuję program z książki i dzieją się dziwne rzeczy, mianowicie: using System; using System.IO; public class Program { public static void Main(string[] args) { // Console.ReadKey(); if (args.Length < 1) { Console.WriteLine("zle dane!"); return; } string katalog = args[0]; // reszta już jest właściwie nieważna...;) DirectoryInfo di = new DirectoryInfo(katalog); if (!di.Exists) { Console.WriteLine("Plik nie istnieje"); return; } Console.WriteLine("Dane katalogu {0} to: ", katalog); Console.WriteLine("Czas utworzenia: {0}", di.CreationTime); Console.WriteLine("Atrybuty: {0}", di.Attributes); Console.WriteLine("Katalog nadzrzędny: {0}", di.Parent); Console.WriteLine("Ostatnia wizyta: {0}", di.LastAccessTime); } } Kiedy debuguję albo odpalam solucję, to aplikacja włącza się na pół sekundy i znika. W takiej sytuacji dopisuję zwykle "Console.ReadKey();" (tak jak powyżej jest w komentarzu), ale w tym wypadku zdaje mi się, że kłóci się to z argumentem metody Main. W każdym razie nie chce działać. Why! Link do komentarza Udostępnij na innych stronach More sharing options...
kejwmen Napisano Czerwiec 28, 2010 Zgłoś Share Napisano Czerwiec 28, 2010 program Ci znika, ponieważ po spełnieniu warunku zwraca wartość funkcji, co kończy program. using System; using System.IO; public class Program { public static void Main(string[] args) { // Console.ReadKey(); if (args.Length < 1) { Console.WriteLine("zle dane!"); [b]Console.ReadKey();[/b] return; } string katalog = args[0]; // reszta już jest właściwie nieważna...;) DirectoryInfo di = new DirectoryInfo(katalog); if (!di.Exists) { Console.WriteLine("Plik nie istnieje"); [b]Console.ReadKey();[/b] return; } Console.WriteLine("Dane katalogu {0} to: ", katalog); Console.WriteLine("Czas utworzenia: {0}", di.CreationTime); Console.WriteLine("Atrybuty: {0}", di.Attributes); Console.WriteLine("Katalog nadzrzędny: {0}", di.Parent); Console.WriteLine("Ostatnia wizyta: {0}", di.LastAccessTime); [b]Console.ReadKey();[/b] } } teraz w każdym wypadku będzie czekał na naciśnięcie klawisza. jeżeli chcesz żeby program prosił o podanie ścieżki katalogu, a potem o wyświetlenie informacji zrób tak: using System; using System.IO; public class Program { public static void Main(string[] args) { string kat = Console.ReadLine(); if (kat.Length < 1) { Console.WriteLine("zle dane!"); Console.ReadKey(); return; } DirectoryInfo di = new DirectoryInfo(kat); if (!di.Exists) { Console.WriteLine("Plik nie istnieje"); Console.ReadKey(); return; } Console.WriteLine("Dane katalogu {0} to: ", kat); Console.WriteLine("Czas utworzenia: {0}", di.CreationTime); Console.WriteLine("Atrybuty: {0}", di.Attributes); Console.WriteLine("Katalog nadzrzędny: {0}", di.Parent); Console.WriteLine("Ostatnia wizyta: {0}", di.LastAccessTime); Console.ReadKey(); return; } } Link do komentarza Udostępnij na innych stronach More sharing options...
Silent Assassin Napisano Czerwiec 29, 2010 Autor Zgłoś Share Napisano Czerwiec 29, 2010 Wielkie dzięki! Link do komentarza Udostępnij na innych stronach More sharing options...
Silent Assassin Napisano Lipiec 1, 2010 Autor Zgłoś Share Napisano Lipiec 1, 2010 To co podałeś to z pewnością dobry sposób, ale jestem jeszcze ciekaw dlaczego nie działa mi tamten. Nie wiesz może jak zrobić, żeby program pobierał argument od metody Main, zamiast od zmiennej kat? Link do komentarza Udostępnij na innych stronach More sharing options...
kejwmen Napisano Lipiec 1, 2010 Zgłoś Share Napisano Lipiec 1, 2010 musisz uruchomić program (to co podałem jako pierwsze) z parametrem, np: "c:\program.exe" "c:\Windows" wtedy poda właściwości katalogu "c:\Windows". możesz zrobić skrót i tam dopisać parametr albo uruchomić przez konsolę z parametrem. Link do komentarza Udostępnij na innych stronach More sharing options...
Silent Assassin Napisano Lipiec 1, 2010 Autor Zgłoś Share Napisano Lipiec 1, 2010 Aha, czyli przez debugowanie albo odpalenie solucji ten pierwszy kod nie wejdzie? Jak rozumiem to trzeba bezpośrenio przez wiersz polecenia. Link do komentarza Udostępnij na innych stronach More sharing options...
kejwmen Napisano Lipiec 1, 2010 Zgłoś Share Napisano Lipiec 1, 2010 po tym jak skompilujesz projekt, to musisz odpalić plik .exe z parametrem, na tym polega przekazywanie argumentów metodzie Main. jak inaczej chciałbyś tego używać? Link do komentarza Udostępnij na innych stronach More sharing options...
Silent Assassin Napisano Lipiec 2, 2010 Autor Zgłoś Share Napisano Lipiec 2, 2010 Właśnie chodzi o to, że nie wiedziałem za bardzo. Ale dzięki, chyba już łapię jak do tego podejść Edit: a gdzie mam wpisać parametr, kiedy odpalam program przez skrót? Link do komentarza Udostępnij na innych stronach More sharing options...
kejwmen Napisano Lipiec 2, 2010 Zgłoś Share Napisano Lipiec 2, 2010 ppm na skrót -> właściwości i w "element docelowy" dopisz na końcu. Link do komentarza Udostępnij na innych stronach More sharing options...