Wyjscie z petli nacisnieciem klawisza
3 posters
:: Projekt "Madagaskar" :: 4.INNE :: 1.C#: ogólnie
Strona 1 z 1
Wyjscie z petli nacisnieciem klawisza
Witam,
Jako, ze Madagaskar obecnie jest w fazie projektu szkoleniowego, potrzebuje malej porady.
Mam taki kod:
Wpadlem na cos takiego:
Jako, ze Madagaskar obecnie jest w fazie projektu szkoleniowego, potrzebuje malej porady.
Mam taki kod:
- Kod:
while(true)
{
Console.Write(1);
}
Wpadlem na cos takiego:
- Kod:
while(Console.ReadKey().Key != ConsoleKey.Escape;)
{
Console.Write(1);
}
Fores- Liczba postów : 73
Join date : 30/05/2013
Age : 34
Skąd : Katowice
Re: Wyjscie z petli nacisnieciem klawisza
Wybacz, że nie napiszę mojego pomysłu w C#, ale nie mam teraz czasu na włączenie IDE i testowanie. Pomysł przedstawię jako pseudokod:
- Kod:
while(true)
{
if(wciśniętoKlawiszEscape == true)
break;
// to co chcesz robić w tej pętli
}
Fitter- Liczba postów : 12
Join date : 26/06/2013
Re: Wyjscie z petli nacisnieciem klawisza
Udalo mi sie to zrobic, ale troche sie to skomplikowalo.
Wykorzystalem klase Keyboard i jej metode IsKeyDown. Lecz, aby skorzystac z tej klasy musialem dodac PresentationCore.dll. Metoda ta jednak wymagala jako parametr enum Key, ktory zas jest w pakiecie WindowsBase.dll
Dodatkowo musialem dodac do funkcji main atrybut [STAThread]
Wykorzystalem klase Keyboard i jej metode IsKeyDown. Lecz, aby skorzystac z tej klasy musialem dodac PresentationCore.dll. Metoda ta jednak wymagala jako parametr enum Key, ktory zas jest w pakiecie WindowsBase.dll
Dodatkowo musialem dodac do funkcji main atrybut [STAThread]
- Kod:
while(true)
{
Console.Write(1);
if (Keyboard.IsKeyDown(Key.Escape))
break;
}
Fores- Liczba postów : 73
Join date : 30/05/2013
Age : 34
Skąd : Katowice
Re: Wyjscie z petli nacisnieciem klawisza
Nie wiem, czy to najlepsze rozwiązanie, ale spróbój tego:Fores napisał:Mam taki kod:Wiecie moze jak zrobic, by program sie zatrzymal / wylaczyl po nacisniecia klawisza ESC?
- Kod:
while(true)
{
Console.Write(1);
}
Wpadlem na cos takiego:Lecz nie rozwiazuje to mojego problemu, gdyz chcialbym, aby petla wykonywala sie bez przerwy, az do momentu, gdy nacisne dany klawisz.
- Kod:
while(Console.ReadKey().Key != ConsoleKey.Escape;)
{
Console.Write(1);
}
- Kod:
int i = 1;
while (true)
{
if (Console.KeyAvailable && Console.ReadKey(true).Key == ConsoleKey.Escape)
break;
Console.WriteLine(i++);
}
http://social.msdn.microsoft.com/Forums/en-US/d5e0ead0-0357-43b8-bda3-b08d074f7b61/stop-a-infinite-loop-at-any-moment-when-pressing-esc?forum=csharplanguage
koszmarek- Lider grupy "Madagaskar"
- Liczba postów : 596
Join date : 25/10/2012
Re: Wyjscie z petli nacisnieciem klawisza
Wlasnie o cos takiego mi chodzilo Dziala dokladnie tak, jak chcialem i bez zbednych komplikacji z dodawaniem .dll czy namespace'ow. Dzieki
Fores- Liczba postów : 73
Join date : 30/05/2013
Age : 34
Skąd : Katowice
:: Projekt "Madagaskar" :: 4.INNE :: 1.C#: ogólnie
Strona 1 z 1
Pozwolenia na tym forum:
Nie możesz odpowiadać w tematach