cawte ze robim si teraz taký program (stopky) a aby tam bežali desainy sekundy tak som nastavil timer na 100 ms ale potrbujem nastaviť prioritu na najvyšiu aby to bolo naozaj 100ms a nie 105 (podla toho ako PC stíha) neviem ako to mam presne naprogramovať. poradte. dík.
Fórum › Visual Basic
Priorita & Timer
Nastavení priority časovače ve Windows je nekonečněkrát složitější problém než výše popsaný neb to nejde. Prioritu můžeš změnit vláknu, ale to je platné, jak mrtvému zimník, protože se ti ten časovač stejně bude rozcházet i kdyby si nastavil realtime prioritu.
U stopek je důležitý počáteční a koncový čas. Co je mezitím je putna a může to mít přesnost zobrazení +-100ms. Nehledě na to, že je to venkoncem jednoduché.
Zasláno z mobilního telefonu.
no lenže tým spôsobom TickCount sa daju stopky spustit zastaviť a potom sa už nedá pokračovať pretože stopky sa vynulujú a keď je už 60 sekund tak sa minuty nemaju ako povýšiť lebo som daval napr. If Label1.Text = "59.999" Then Label2.Text = Label2.Text + 1 ale aj napr. ze som tam dal 59,000 < 60,000 tak ani tak nešlo nevedel by si nejaký spôsob ?
Nějak nechápu, co řešíš. Čas stopek v ms vynásobiš 1000 a máš to v sekundách. Pokud tě nezajímají desetiny, tak výsledek dělení ukládej do celočíselného typu a zbavíš se jich snadno a rychle. Následně zbytek po dělení 60 ti dá počet sekund a dělením 60 dostaneš počet minut. Pokud tě zajímají i hodiny, tak analogicky pokračuješ.
Zasláno z mobilního telefonu.
Viem že píšem trochu neskoro ale skúšal som ten TickCount a viem približne čo tam treba ale neviem si to v hlave dostatočne logicky predstavit aby sa to zastavilo, pozastavilo, znovu pustilo atd. Neviem ako príkazy zostavit a potom do akeho poradia ich dať a do ktorých procedúr, pomohol by mi s týmto niekto ... :( .. dík
Máš 2 pole, do jednoho ukládáš čas při spuštění stopek a do druhého ukládáš čas při stopnutí stopek. Pole budou dostatečně dlouhá, aby se do nich vešly všechny spuštění a zastavení.
Výsledný čas bude součtem rozdílů na stejných indexech (pro ukončené sekvence, tj. kde existuje start i stop čas) + aktuální čas od posledního startu.
Řekněme, že máme už 6 úseků (indexy 0 až 5) a na indexu 6 máme uložený start dalšího úseku, takže pak je celkový čas:
casCelkem = 0
For i As Integer = 0 To 5
casCelkem = casCelkem + (konec(i) - start(i))
Next
if start(6) > 0 then
casCelkem = casCelkem + (System.Environment.TickCount - start(i))
end if
Zapiš formát do ToString funkce nebo použij String.Format (příklady v C# ... ve VB si je najdeš případně sám).
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Priorita programu — založil Spectator
Priorita operáturů — založil David10101
Priorita kliknutí — založil Ed
Priorita pro časovač — založil Bicek
Vlakna(Threads) - priorita — založil NotBeginner
Moderátoři diskuze