Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Nudou jsi opuch?
Navštiv Lopuch!

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Archiv klubu Delphi [ŽP: neomezená] (kategorie Programování) moderuje Šéf Lopuchu.
  • Klub Pascal - diskuze obecne o jazyce Pascal
  • Torry's Delphi Pages - stránky se spoustou komponent, tutoriálů a informací o Delphi - doporučuje 6 z 5ti vývojářů
  • Download Opera
      Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
    autor: 
    text: 
    vyplnit a 
    Help
       
    [ 118 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
    fontan 8.12.2005 13:47  105
    pepakunemusí, ale nemusí, zajímá, kolik zbývá do spuštění budíku, resp, jestli ho má spustit a ne, DatumČas spuštění budíku
    CasBudiku := EncodeTime(HodinaBudiku,MinutaBudiku,SekundaBudiku);
    CasDoSpusteniBudiku := CasBudiku - frac(now);
    i f CasDoSpusteniBudiku menší než 0 t h e n
    CasDoSpusteniBudiku := CasDoSpusteniBudiku + 1;
    if CasDoSpusteniBudiku větší než MinulyCasDoSpusteniBudiku t h e n
    spustbudik
    e l s e
    MinulyCasDoSpusteniBudiku := CasDoSpusteniBudiku;
    pepak pepak - Pepak.net 8.12.2005 13:28  104
    Fontan: To ovsem nic nemeni na skutecnosti, ze stejne musi pracovat s datumem:

    CasBudiku := EncodeTime(HodinaBudiku,MinutaBudiku,SekundaBudiku);
    CasBudiku := CasBudiku + Date + (CasBudiku >= Frac(Now));
    anonym 8.12.2005 12:33  103
    fontan
    anonym 8.12.2005 12:32  102
    pepakuMě by to nebavilo, většinou vstávám ve všední den vždycky stejně a na víken ho nechám vyplej. To je jedno, podle mě hercoš to chtěl bez data, jako klasickej budík.
    pepak pepak - Pepak.net 8.12.2005 12:02  101
    Fontan: Nepouzil, ale ne proto, ze bych nechtel, ale proto, ze to moje budiky (na hodinkach a v mobilu) neumi...
    lucid Lucid mlčet a naslouchat - zážitek, který bolí tak moc a tak krásně 8.12.2005 10:07  100
    pepakSorry, asi jsem to spatne pochopil. POokud ten cas chces vypsat, tak to asi mas dobre.
    fontan 8.12.2005 10:06  99
    pepakuu budíku tě dny nezajímají, už sis někdy na budíku nařizoval datum? To by byla celkem otrava ne?
    pepak pepak - Pepak.net 8.12.2005 06:03  98
    Chybi mi jedna ukoncovaci zavorka...
    pepak pepak - Pepak.net 8.12.2005 06:02  97
    var CasBudiku:TDateTime;
    begin
    CasBudiku := EncodeDate(RokBudiku,MesicBudiku,DenBudiku) + EncodeTime(HodinaBudiku,MinutaBudiku,SekundaBudiku,0);
    ShowMessage('Do alarmu zbyva '+FormatDateTime('yyyy.mm.dd hh:nn:ss',CasBudiku-Now);
    end;

    Znas jednodussi reseni?
    pepak pepak - Pepak.net 8.12.2005 06:00  96
    Lucid: Kde proboha pocitam s retezci??? t1,t2:tdatetime; showmessage('Budik bude aktivni za '+Int(t2-t1)+' dni a '+TimeToStr(Frac(t2-t1)));
    Retezec se samozrejme pouziva jen pro zobrazeni uzivateli, vsechny vypocty jedou pres float...
    fontan 8.12.2005 00:34  95
    sem to zapoměl zaokrouhlit
    fontan 8.12.2005 00:30  94
    Mě připadá, že hercoš píše budík, a že ho tudíž datum moc nezajímá, resp. by ho otravovalo. Nejjednodušší, i když ne moc hezké je
    t1 : = t-frac(now);
    if t1 menší než 0 then
    t1 : = t1+1;
    teď už bude bud t1 to, co ho zajímá v intervalu 0,1

    nebo

    t1 : = (t+1-now)*24*60*60*1000;to je rozdíl dotyčného času zvětšeného o den a now v milisekundách
    t1 : = t1 mod (24*60*60*1000); to je požadovaný výsledek v milisekundách (integer). dle libosti možno vydělit 24*60*60*1000 pro převedení na TDateTime
    lucid Lucid mlčet a naslouchat - zážitek, který bolí tak moc a tak krásně 7.12.2005 22:23  92
    pepakKriterium snadnosti je osemetne, protoze kazdy ho ma definovane jinak. Ja bych se treba snazil tvemu reseni vyhnout, protoze tam ciselne operace prevadis na retezcove. Coz je casove narocne a mne by to vadilo. Nicmene tvuj postup by k vysledku asi taky vedl, takze ted je jen na programatorovi Hercosovi, co si zvoli :-)
    pepak pepak - Pepak.net 7.12.2005 18:50  91
    A nebylo by nejjednodussi pracovat s celym datumem (tedy vcetne dne)? Kdyz to pak odectes a pres FormatDateTime (nebo DateTimeToStr) prevedes na string, budes to mit spravne a navic bezpracne...
    hercos 7.12.2005 18:11  90
    Nee, pravdu má Lucid. To co jsem potřeboval byl údaj, kolik zbývá hodin, minut a vteřin od teď do určité hodiny. Pokud je 18:00:00 a já chci zjistit kolik uběhne času do 17:00:00 následujícího dne, nemůžu tyto dva časy jen odečíst (Time-now) protože vždycky je vysledek rozmezí mezi těmito dvěma údaji, tj. 1 hodina a ne 23 hodin, jak bych potřeboval. Nakonec jsem to vyřešil tak, že jsem od 1 odečetl těch 18:00:00 (čili jsem zjistil, kolik zbývá do půlnoci) a pak přičetl těch 17:00:00. Výsledek: 23 hodin. :o)

    [ 118 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

    (c) 2001-2011 Lopuch.cz   
    Kontakt