Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Součet kladných i záporných časových hodnot

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: Součet kladných i záporných časových hodnot

Autor: macula

19:21:10 03.01.2010

Aha, tak je to vyřešeno :). value2 = Int(Abs(Value1)) * -1 se mu moc nelíbilo, ale opravdu stačilo převést záporné číslo na kladné a potom zpět a je to OK. Díky (tu)

Citovat příspěvek

 

Re: Součet kladných i záporných časových hodnot

Autor: Luboš

18:02:04 03.01.2010

Funkce Int skutečně vrací u záporných hodnot celé číslo menší nebo rovné původní hodnotě. Ve VB6 existuje pro tento případ funkce Fix, ale na výše uvedených stránkách jsem tento příkaz nenašel. Dalo by se použít asi toto:

value1 = valuex / 60
If Value1 < 0 Then
value2 = Int(Abs(Value1)) * -1
Else
value2 = Int(Value1)
End If

Citovat příspěvek

 

Re: Součet kladných i záporných časových hodnot

Autor: macula

13:57:11 03.01.2010

Děkuji za reakce.

To peko2:
Přesně takto to mám a hází mi to chybný výpočet.

To Gábina:
Toto mě vůbec nic neříká :), jsem začátečník a zřejmě je Visual Basic a Basic4pps více rozdílný, než jsem si myslel.

Nicméně jsem objevil kde je chyba. Když do proměnné value1 dám číslo -3.166666667 (-190 minut : 60), tak funkce Int mi vrátí -4 místo -3. Pokud je hodnota kladná je to OK. V čem může být problém?

value1 = valuex / 60
value2 = (Int (value1))

Díky všem za pomoc.

Citovat příspěvek

 

Re: Součet kladných i záporných časových hodnot

Autor: Gábina

16:24:39 22.12.2009

Nejdřív mě napadlo to převádět na hodiny,
ale výsledkem bylo double plus potíže se
zaokrouhlením při převodu zpátky.
Díky peko2 to bude asi mnohem jednodušší.

Pokus o převod:
[code]
Function TimeToMinutes(ByVal TimeString As String) As Integer
Dim t
t = Split(TimeString, ":")
TimeToMinutes = CInt(t(0)) * 60
If TimeToMinutes < 0 Then
TimeToMinutes = TimeToMinutes - CInt(t(1))
Else
TimeToMinutes = TimeToMinutes + CInt(t(1))
End If
End Function

Function MinutesToTime(ByVal Minutes As Integer) As String
Dim h, m
h = Minutes \ 60
m = Abs(Minutes Mod (h * 60))
MinutesToTime = h & ":" & IIf(m < 10, "0" & m, m)
End Function
[/code]

Celočíselné dělení (\) a jeho zbytek (Mod)
asi přepsat pomocí Int a pro zbytek dělení
celou část od původní celé hodnoty oddělit.
IIf nahradit podmínkou nebo formátem čísla,
číslu menší než deset předchází 0.
Nevim, jak s tím převodem na číslo (CInt).
Možná deklarace pole se bude lišit, vypadá
to asi na Dim t(0) a pak StrSplit.

...
Krásné vánoce a vše nejlepší v novém roce!

Citovat příspěvek

 

Re: Součet kladných i záporných časových hodnot

Autor: peko2

8:41:13 22.12.2009

No previedol by som to všetko na minúty (aj so znamienkami), tie spočítal ako čísla a potom naspäť na hodiny:minúty.

Citovat příspěvek

 

Součet kladných i záporných časových hodnot

Autor: macula

0:07:16 22.12.2009

Dobrý den, prosím o pomoc s funkcí v programu Basic4ppc, který je oproti Visual Basicu dost okleštěný, viz http://www.basic4ppc.com/help/index.html (sekce Time). V tabulce mám několik časových hodnot (-03:50, 01:30, 00:00, -00:27) a potřebuji jejich součet, v tomto případě -02:47. Nevíte jak toho docílit? Díky za jakoukoliv radu.

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: