<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=2497&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-03-17T10:26:06+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=2497&amp;mode</id>
<entry>
<author><name><![CDATA[qutrit]]></name></author>
<updated>2013-03-17T10:26:06+01:00</updated>
<published>2013-03-17T10:26:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=30870#p30870</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=30870#p30870"/>
<title type="html"><![CDATA[Re: Jak wykryć minięcie godziny 00:00 ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=30870#p30870"><![CDATA[
<div class="quotetitle">charsz napisał(a):</div><div class="quotecontent"><br />Dodatkowo twoj kod mialby problem dla d wiekszego od 205<br /></div><br />I tu jest cały mój problem. d zmienia się w przedziale 0-120. A przyrost minut nazwijmy go x zmienia się w przedziale 1-90 minut. I teraz o ile iloczyn x*d &lt; 1440 wszystko działa pięknie. Dlatego dla x=7minut układ będzie działał prawidłowo bo 7*120 = 840&lt;1440. Ale gdy x=15min to układ będzie będzie prawidłowo działał do d&lt;=96. A dla d z przedziału 97-120 układ bedzie przeliczał źle. Krótko pisząc próbuję cały czas zaprojektować układ dla maksymalnych wartości x=90min, oraz d=120. Czyli dla x*d=10800.<br /><br />Jak narazie mam takie coś, ale nie wygląda to pięknie <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> Napewno można, to zgrabniej napisać.<br /><br />[syntax=c]<br />x=wartosc wyliczona wczesniej, przyjmuje wartość z przedziału 1-90;<br /><br />if(klawisz_D)<br />{<br />d++; przyjmuje wartość z przedziału 0-120;<br />}<br /><br />if(x*d&gt;=1440)<br />  {<br />    min=(x*d-1440)%60;<br />    godz=((x*d-1440)/60)%24;<br />   }<br />        if(x*d&gt;=2880)<br />          {<br />            min= (x*d-2880)%60;<br />            godz=((x*d-2880)/60)%24;<br />           }<br />....<br />           if(x*d&gt;=10800)<br />              {<br />                min= (x*d=10800)%60;<br />                godz=((x*d-10800)/60)%24;<br />              }<br />[/syntax]<br /><br />OK, już sobie poradziłem wydaje się, że działa poprawnie<br />[syntax=c]<br />f=x*d/1440;<br /><br />if(x*d&gt;=1440*f)<br />  {<br />    min=(x*d-1440*f)%60;<br />    godz=((x*d-1440*f)/60)%24;<br />   }<br />[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=766">qutrit</a> — 17 mar 2013, o 10:26</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[charsz]]></name></author>
<updated>2013-03-10T11:54:28+01:00</updated>
<published>2013-03-10T11:54:28+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=30258#p30258</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=30258#p30258"/>
<title type="html"><![CDATA[Re: Jak wykryć minięcie godziny 00:00 ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=30258#p30258"><![CDATA[
Dlaczego twoj kod zle dzialal? Wezmy przyklad dla d = 3:<br />[syntax=c]<br />min = 1453<br />if spelniony<br />min = 1453-1440 = 13<br />godz = reszta z dzielenia 13/60 = 13.<br />[/syntax]<br />Szedles w dobra strone ale sie zagubiles. Godziny powinienes liczyc godziny zanim obedrzesz minuty z jednej pelnej doby (1440).<br />Drugi blad, godzina to minuty/60. <br />Tak juz byloby lepiej, dla d = 3:<br />[syntax=c]<br />min = 1453<br />if spelniony<br />godz = min/60 = 1453/60 = 24<br />min = 1453-1440 = 13<br />[/syntax]<br /><br />Czyli wychodzi godzina 24:13. Jest juz prawie dobrze. <br /><br />Dodajemy nowa zmienna dni. I przypisujemy jej wartosc: <strong>dni=godz/24;</strong><br />a godziny obcinamy do max 23: <strong>godz=godz%24</strong>. <br />Ja dodatkowo zastosowalbym zmienna w ktorej przechowywalbym aktualna ilosc minut i do niej dodawal przy kazdym nacisnieciu klawisza wartosc o ile chce zwiekszyc. Liczenie za kazdym razem od liczby startowej jest troche malo optymalne. <br />Moja propozycja kodu:<br />[syntax=c]<br />if((klawisz_D(plus))){<br />licznik = licznik+7;<br />       <br />min = licznik%60;<br />godz = licznik/60;<br />dni = godz/24;<br />godz = godz%24;<br />}<br />[/syntax]<br /><br />Dodatkowo twoj kod mialby problem dla d wiekszego od 205.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=926">charsz</a> — 10 mar 2013, o 11:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-03-09T18:36:05+01:00</updated>
<published>2013-03-09T18:36:05+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=30190#p30190</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=30190#p30190"/>
<title type="html"><![CDATA[Re: Jak wykryć minięcie godziny 00:00 ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=30190#p30190"><![CDATA[
jakie głupoty ? dobrze wyświetla albo napisz co za głupoty - bo tak to do niczego nie dojdziemy<br /><br />poza tym czego się spodziewasz po <br /><br />min = 1432 + 7 * d;<br /><br />że warunek nie będzie spełniony ? no coś ty ??? widzę że masz jakiś całkiem inny problem a szukasz w jeszcze innym miejscu<br /><br />no to proszę niech d=5<br /><br />min = 1432 + 7 * d = 1467<br /><br />więc IF się spełni i ma się spełnić bo czemu niby nie ? i wtedy w minutach masz: 27 a w godzinach 0 czyli godzina 00:27<br /><br />więc w czym ty widzisz problem hmmm?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 mar 2013, o 18:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[qutrit]]></name></author>
<updated>2013-03-09T18:23:58+01:00</updated>
<published>2013-03-09T18:23:58+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=30189#p30189</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=30189#p30189"/>
<title type="html"><![CDATA[Re: Jak wykryć minięcie godziny 00:00 ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=30189#p30189"><![CDATA[
Mirku, problem w tym, że nie mogę sobie poradzić w sytuacji gdy minuty zmieniają się zgodnie z równaniem   min = 1432 + 7 * d; gdzie 1432 to godzina początkowa (23:52) wyrażona w minutach. Układ wyświetla głupoty dla d&gt;3; ponieważ warunek if(min&gt;1440) jest zawsze spełniony.<br />[syntax=c]<br />    if((klawisz_D(plus)))<br />            {<br />            d++;                    //zwiększanie zmiennej d, przyjmuje wartosc od 0 do 120<br />           min = 1432 + 7 * d;<br /><br />            if ((min &gt; 1440)<br />                   {<br />                    min = min - 1440;<br />                    godz = min%60;<br />                   }        <br />            }<br />[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=766">qutrit</a> — 9 mar 2013, o 18:23</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-03-09T17:42:34+01:00</updated>
<published>2013-03-09T17:42:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=30185#p30185</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=30185#p30185"/>
<title type="html"><![CDATA[Re: Jak wykryć minięcie godziny 00:00 ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=30185#p30185"><![CDATA[
<div class="quotetitle">qutrit napisał(a):</div><div class="quotecontent"><br />Witam,<br />jakoś sobie radziłem samodzielnie do tego momentu.<br />Chciałbym aby każde naciśnięcie przycisku zwiększało mi ilość minut o np. o 7. Załóżmy, że mam początkową godzine 23:52 czyli po dwóch naciśnięciach przycisku będę miał 00:06 następnego dnia.<br />Dla początkowej godziny 23.56 po jednym naciśnięciach przycisku będę miał 00:03 następnego dnia.<br /></div><br /><br />zamienić godziny i minuty na jedną liczbę o np tak:<br /><br />(hh*60)+mm<br /><br />dzięki czemu trzymasz czas w minutach <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br />i wtedy porównuj jak chcesz i ile chcesz, czyli twoja godzina 23:52 to będzie (23*60)+52 = 1432, chcesz teraz dodać 7 minut ? no to proszę dodaj <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> 2*7 czyli wyjdzie ci, że minuty = 1446 prawda ? więc będzie trzeba skorygować<br /><br />if( minuty &gt; 1440 ) minuty = minuty - 1440; (napisz sobie funkcję dodającą i korygującą minuty)<br /><br />czyli minuty =  6, a cała godzina = (minuty % 60) czyli 0. A zatem otrzymasz 00:06 - zgadza się ?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 9 mar 2013, o 17:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[qutrit]]></name></author>
<updated>2013-03-09T16:13:31+01:00</updated>
<published>2013-03-09T16:13:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=30183#p30183</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=30183#p30183"/>
<title type="html"><![CDATA[Re: Jak wykryć minięcie godziny 00:00 ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=30183#p30183"><![CDATA[
Co w sytuacji gdy tak jak napisałem we wcześniejszym poście, weźmiemy pod uwagę gdy x=7 a d=10 i po każdym naciśnięciu klawisza &quot;d&quot; wzrasta  <img src="https://forum.atnel.pl/images/smilies/icon_question.gif" alt=":?:" title="Znak zapytania" />  Będziemy mieć np. minuty = 7*10;, po kolejnym naciśnięciu klawisza minuty = 7*11; itd. Kasowanie minut w warunku if() nie ma znaczenia, bo minuty zależą od x*d; i tu jest cały problem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=766">qutrit</a> — 9 mar 2013, o 16:13</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Malutki_27]]></name></author>
<updated>2013-03-06T13:21:56+01:00</updated>
<published>2013-03-06T13:21:56+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=29939#p29939</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=29939#p29939"/>
<title type="html"><![CDATA[Re: Jak wykryć minięcie godziny 00:00 ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=29939#p29939"><![CDATA[
Według mnie to tak trochę nie logicznie podchodzisz do tematu .....<br /><br />Nie lepiej tak ?<br /><br />[syntax=c]<br />if(godzina&gt;23){<br />godzina = 0;<br />data++;<br />}<br />[/syntax]<br /><br />Chcesz minuty ? proszę bardzo:<br /><br />[syntax=c]<br />if(++minuty&gt;59)<br />minuty=0;<br />godzina++;<br />[/syntax]<br /><br />Oczywiście w programie warunek z minutami musi być przed warunkiem z godzinami<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 3 minutach ]</span></strong><br /><br />A jeżeli chcesz całe &quot;zapętlenie&quot; to można tak<br /><br />[syntax=c]<br />if (++minuty&gt;59){<br />      minuty=0;<br />      if(++godzina&gt;23){<br />           godzina = 0;<br />           dzień++;<br />}<br />}<br />[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=225">Malutki_27</a> — 6 mar 2013, o 13:21</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[qutrit]]></name></author>
<updated>2013-03-06T13:05:32+01:00</updated>
<published>2013-03-06T13:05:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=29938#p29938</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=29938#p29938"/>
<title type="html"><![CDATA[Re: Jak wykryć minięcie godziny 00:00 ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=29938#p29938"><![CDATA[
Krążyłem wokół pomysłu przedstawionego przez kolegę. Takie rozwiązanie nie działa do końca prawidło. Poniżej przedstawiam fragment kodu. Kod działa do momentu gdy dla danego przypadku d&lt;=8. Gdy d&gt;8 pojawiają się bzdury, ponieważ warunek if ((min= (x*d)) &gt; 60) jest zawsze spełniony.<br />[syntax=c]if((klawisz_D(plus)))<br />x=7; // inkrementacja minut, x może przyjmować warości od 1 do 90<br />{<br />d++;    //zwiększanie zmiennej d, przyjmuje wartosc od 0 do 120<br /><br />if ((min= (x*d)) &gt; 60)<br />{<br />min = min - 60;<br /><br />if (++hh &gt; 24)<br />{<br />hh = hh - 24;<br />dzien++;<br />}<br />}<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=766">qutrit</a> — 6 mar 2013, o 13:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[charsz]]></name></author>
<updated>2013-03-05T10:16:23+01:00</updated>
<published>2013-03-05T10:16:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=29868#p29868</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=29868#p29868"/>
<title type="html"><![CDATA[Re: Jak wykryć minięcie godziny 00:00 ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=29868#p29868"><![CDATA[
Wszystko zalezy w jakiej strukturze/zmiennej przechowujesz czas?<br />Jak przechowujesz w 3 zmiennych: dzien, godzina, minuta<br />to pseudokod bedzie mniej wiecej taki:<br /><br />[syntax=c]x = 7;<br />if (minuta = minuta + x) &gt; 60 {<br />   minuta = minuta - 60;<br />   if (++godzina &gt; 24) to {<br />       godzina = godzina - 24;<br />       dzien++;<br />   } //  godzina<br />} // minuta[/syntax]<br /><br />Wszystko mozesz sobie obudowac zmyslna funkcja przyjmujaca argument o ile ma zwiekszyc.<br /><br />Mozna tez przechowywac czas jako timestamp (ilosc sekund), wtedy po prostu zwiekszasz zmienna o 7*60. <br />A przy wyswietlaniu konwertujesz timestamp na odpowiedni format.<br /><br />Troche zgaduje bo nie wiem jak masz to zbudowane.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=926">charsz</a> — 5 mar 2013, o 10:16</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[qutrit]]></name></author>
<updated>2013-03-05T10:00:54+01:00</updated>
<published>2013-03-05T10:00:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=29866#p29866</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=29866#p29866"/>
<title type="html"><![CDATA[Jak wykryć minięcie godziny 00:00 ?]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=2497&amp;p=29866#p29866"><![CDATA[
Witam,<br />jakoś sobie radziłem samodzielnie do tego momentu.<br />Chciałbym aby każde naciśnięcie przycisku zwiększało mi ilość minut o np. o 7. Załóżmy, że mam początkową godzine 23:52 czyli po dwóch naciśnięciach przycisku będę miał 00:06 następnego dnia.<br />Dla początkowej godziny 23.56 po jednym naciśnięciach przycisku będę miał 00:03 następnego dnia.<br /><br />Genaralnie chodzi mi oto jak &quot;wykrywać&quot;<span style="color: #FF4040"> MINIĘCIE </span> godziny 00:00, aby móc po takim wykryciu zwiększyć ilość dni ?<br />Na pewno trzeba wszystko uzależnić od minut tzn. 24h=1440minut ale co dalej ?<br />Próbowałem z if() oraz z modulo, ale nie działa to tak jak powinno <img src="https://forum.atnel.pl/images/smilies/icon_cry.gif" alt=":cry:" title="Płacze" /> <br />Dzięki za ewentualne sugestie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=766">qutrit</a> — 5 mar 2013, o 10:00</p><hr />
]]></content>
</entry>
</feed>