Diskuze: Jak spustit určitou část kódu každou 1 minutu ?

C# .NET .NET (C# a Visual Basic) Jak spustit určitou část kódu každou 1 minutu ? American English version English version

Avatar
lukas.sei
Člen
Avatar
lukas.sei:

Čaute,
Dělám konzolovou aplikaci ve Visual Studio a potřebuji poradit.
Potřebuji každou 1 minutu spustit tento kód

hrac1.UberHP(5);

Jak tohohle mám docílit ? (Programuji v C# a v programu: Visual Studio Basic 2015)

Editováno 29. února 15:35
 
Odpovědět 29. února 15:34
Avatar
Nahoru Odpovědět 29. února 15:37
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
lukas.sei
Člen
Avatar
lukas.sei:

No jenomže, když to napíše takhle

while (nemocnice == 1)
            {
                do
                {
                    while (!Console.KeyAvailable)
                    {
                        Console.WriteLine("Toto by se mělo zobrazit každých 10 sekund");
                        Thread.Sleep(100000);
                    }
                } while (Console.ReadKey(true).Key != ConsoleKey.Escape);
                {
                    Console.WriteLine("Ukončil jsi nemocnici.");
                    nemocnice = 0;
                }
                Console.ReadKey();
            }

a zmáčknu ESC, tak se mi ten kód ukončí až když uběhne ta minuta. Nedá se to napsat nějak, aby se po zmáčknutí nemuselo čekat než doběhne ta minuta ?
PS: Nemusíš být hned takhle agresivní.

 
Nahoru Odpovědět 29. února 15:51
Avatar
Juraj Mlich
Redaktor
Avatar
Nahoru Odpovědět 29. února 16:09
Vždy je lepšie učiť sa z cudzích chýb, než z vlastných chýb.
Avatar
Odpovídá na lukas.sei
Michal Štěpánek:

Tím Timerem jsem nemyslel uspat vlákno, ale použít Timer (časovač) například tak, jak uvedl Juraj Mlich

Nahoru Odpovědět 29. února 16:16
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
lukas.sei
Člen
Avatar
lukas.sei:

No dobře, to bych měl.

A ještě mám jednu otázku. Když napíšu switch a v jedné case si uložím do proměnné hodnotu, po ukončení switche ta hodnota v té proměnné už není. Dá se nějak udělat, aby tam ta hodnota zůstala ?

int promenna;
int pravda = 1;
switch (pravda)
{
case 1:
promenna = 25; //tu do te promenné nahraju číslo 25
break
}
Console.WriteLine("promenna"); //tu však ale už zase v sobě nemá uložené vůbec nic :/
 
Nahoru Odpovědět  -2 29. února 16:41
Avatar
Lukáš Křehula
Redaktor
Avatar
Odpovídá na lukas.sei
Lukáš Křehula:

Když použiješ uvozovky tak vypisuješ text.

Console.WriteLine(promenna);
 
Nahoru Odpovědět 29. února 16:46
Avatar
lukas.sei
Člen
Avatar
lukas.sei:

jo to vím. To je pouze chyba přepisu. Každopádně když to napíšu správně, tak dostanu chybu "use of unassigned local variable"

 
Nahoru Odpovědět 29. února 16:49
Avatar
Lukáš Křehula
Redaktor
Avatar
Odpovídá na lukas.sei
Lukáš Křehula:

Musíš deklarovat hodnotu proměnné hned na začátku

int promenna = 0;
 
Nahoru Odpovědět 29. února 17:01
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na lukas.sei
Jiří Gracík:

Pokud chceš ukládat "pravdu", pak je lepší používat datový typ boolean (bool) a hodnoty true a false.

Nahoru Odpovědět 29. února 17:22
Creating websites is awesome till you see the result in another browser ...
Avatar
lukas.sei
Člen
Avatar
lukas.sei:

ano, ale to tam při vypsání bude 0. Já potřebuji, aby tam zůstala ta hodnota, které se tam nahrála v switchi.

 
Nahoru Odpovědět 29. února 17:22
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na lukas.sei
Jiří Gracík:

Nebude, protože se do proměnné přiřadí ve switchi 25

Nahoru Odpovědět 29. února 17:24
Creating websites is awesome till you see the result in another browser ...
Avatar
lukas.sei
Člen
Avatar
lukas.sei:

A jo. Tak to se omlouvám :D. Předtím jsem musel udělat něco špatně :D teď vše funguje dobře.

 
Nahoru Odpovědět  +1 29. února 17:31
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.