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

Tolik rozruchu
jen v Lopuchu

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ší>  
    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)
    nekromancer 7.12.2005 14:37  89
    Lucid: Mě to na první pohled připadalo spíš jako že místo A-B počítá B-A :-)
    hercos 6.12.2005 13:47  88
    Lucid: díky za nakopnutí správným směrem. Už to funguje, jak má.
    lucid Lucid mlčet a naslouchat - zážitek, který bolí tak moc a tak krásně 5.12.2005 23:11  86
    HercosZakladem reseni tveho problemu je informace, ze cela cast hodnoty typu TDateTime je pocet dni od 30.12.1899, desetinna cast vyjadruje, jaky zlomek z celeho dne uplynul (tj. napr 0.5 znamena, ze uplynulo 1/2 dne, tj 24/2 hodin, cili ze je prave 12:00 dopoledne). S temito vedomostmi uz bys mel byt schopen prijit na to, jak dostat vysledky, ktere potrebujes.
    Taky si rozmysli, co presne chces vedet - co to je "kolik casu zbyva do ..."? Je to pocet sekund? Ono totiz rozdilem dvou hodnot typu TDateTime nedostanes cas ve smyslu "bod na casove ose", ale vzdalenost dvou bodu na casove ose.
    hercos 5.12.2005 22:48  85
    Aha... teď jsem to vyzkoušel, ale bohužel to zase nespočítá kolik zbývá času, pokud ten rozdíl sahá přes půlnoc: například je systémový čas 23:50:00 a já chci spočítat, kolik zbývá do 00:10:00 následujícího dne a to s Frac nejde. :o( Mělo by to být 20 minut, ale vypadne 23:40:00.
    hercos 5.12.2005 22:01  84
    Frac pomohlo! Vřelý dík.
    pepak pepak - Pepak.net 5.12.2005 18:28  83
    Ale asi ne, StrToTime bude dobre. Chyba je evidentne v tom chybejicim Frac - pokud bys to delal jednu minutu po pulnoci a Time mel nastaveny na 10 minut po pulnoci, tak ti promenna Time obsahuje 10/86400 (tedy 1.1.1900 v 0:10), zatimco Time1 obsahuje (Dnes + 1/86400). Kdyz je odectes, dela to ((pocet dnu od 1.1.1900))-1) celych a 86390/86340 dne, coz po prohnani pres TimeToStr dela tech 23 hodin 59 minut a 50 sekund...
    pepak pepak - Pepak.net 5.12.2005 18:23  82
    Hercos: No tak prinejmensim ti tam chybi odstraneni dne pri cteni Now (Time1 := Frac(Now);). Krome toho bych nedal ruku do ohne za to, ze ti StrToTime nevyhazuje blbosti.

    Btw., osobne bych radsi pouzil EncodeTime, tam mam jistotu, ze se mi neprovedou kdovijaky konverze...
    hercos 5.12.2005 18:05  80
    Když mám na počítači čas 18:04:00 a chci zjistit kolik času zbývá do "vloženého" 18:10:00 - po odečtení mi vypadne 23:54:00.
    hercos 5.12.2005 18:03  79
    Tak bohužel. Celý kó vypadá cca takhle:

    begin

    digi1value:=1;
    digi2value:=8;
    digi3value:=1;
    digi4value:=0;
    digi5value:=0;
    digi6value:=0;

    StrTime:=IntToStr(digi1value)+IntToStr(digi2value)+':'+IntToStr(digi3value)+
    IntToStr(digi4value)+':'+IntToStr(digi5value)+IntToStr(digi6value);

    Time:=StrToTime(StrTime);
    Time1:=Now;
    Time:=Time-Time1;

    Label1.Caption:=TimeToStr(now);
    Label2.Caption:=StrTime;
    Label3.Caption:=TimeToStr(Time);

    end;

    pepak pepak - Pepak.net 5.12.2005 17:55  78
    Time := Time-Now je spravne. Jestli ti to ukazuje "nesmyslnou" hodnotu, tak to znamena, ze tu nesmyslnou hodnotu mas uz na vstupu (nebo ze to Delphi blbe zkompilovaly - i to se stava, zkus ten kod trochu prepsat (a:=now; time:=time-a;) a prebuildovat, co to udela)
    hercos 5.12.2005 17:48  77
    Pokud by byl někdo ochotný poradit, budu velmi vděčný:

    Chtěl bych odečíst nějaký vložený čas od aktuálního systémového času. Mám proměnnou třeba Time: TDateTime tu pak odečítám od systémového času: Time:=Time-Now;
    V případě, že je Time třeba 17:40:00 a Now je 17:38:00, čekal bych, že výsledek bude 00:02:00, ale je kupodivu 23:58:00. Dá se nějak docílit požadovaného výsledku 00:02:00 - tedy skutečného rozdílu časů?
    jurrass 17.11.2005 21:43  76
    jo delphi umím jen trošičku...m
    hercos 17.11.2005 00:02  75
    Nevíte někdo, jak donutit formulář, aby si myslel, že se kliká na něj, i když má svou barvu nastavenou jako průhlednou? Dík.
    fontan 15.11.2005 12:07  74
    Image1.Picture.Bitmap:=nil;

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

    (c) 2001-2011 Lopuch.cz   
    Kontakt