Temat: Time Clarion do CR

Witam

Mam w bazie pole z czasem zapisane w formacie Clarion. Przez to np. godzina 17.30 wyświetla mi się jako liczba 6300001.
W jaki sposób mogę przekonwertować to do normalnego widoku aby widzieć 17.30?
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Time Clarion do CR

Data w Clarionie to ilość dni liczona od daty 1800-12-28.

Musisz utworzyć formułę:

dateadd("d",{tabela.data_clarion},#1800-12-28#)


Dla ułatwienia pracy polecam utworzyć własną funkcję w Crystal Reports.

Function (numberVar clarionDate)
dateadd('d', clarionDate, #1800-12-28#)


Bardziej szczegółowy opis znajdziesz na moim blogu:
https://sulmar.blogspot.com/2017/04/konwersja-daty-w-cd...

Przeczytaj również komentarz Szymona odnośnie krótkiego i długiego clariona.
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Time Clarion do CR

Dopiero teraz zauważyłem, że w twoim przypadku to nie data, a czas.

Czas w Clarionie to liczba setek sekund od północy + 1.

Proponuję w takim razie obliczyć ilość sekund i podstawić do funkcji TimeSerial

 TimeSerial(0, 0, {tabela.czas_clarion} * 100 + 1)
Ten post został edytowany przez Autora dnia 01.03.23 o godzinie 16:37

Temat: Time Clarion do CR

Dzięki
funkcja działa i zmienia liczbę na czas.
Jednak w polu w którym wprowadzam czas mam opcje wyboru tylko godziny i minuty. Nie ma tam miejsca na wpisywanie sekund.

W tej chwili przy wpisanej godzinie 17.30 wyświetla mi liczbę 6300001 a po zastosowaniu tej funkcji wyświetla: 16:01:41.

Jak zmodyfikować tą funkcję aby w jej wyniku otrzymać 17.30?
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Time Clarion do CR

Kamil G.:
Dzięki
funkcja działa i zmienia liczbę na czas.
Jednak w polu w którym wprowadzam czas mam opcje wyboru tylko godziny i minuty. Nie ma tam miejsca na wpisywanie sekund.

W tej chwili przy wpisanej godzinie 17.30 wyświetla mi liczbę 6300001 a po zastosowaniu tej funkcji wyświetla: 16:01:41.

Jak zmodyfikować tą funkcję aby w jej wyniku otrzymać 17.30?

Błąd w mojej formule, bo pisałem ją na podstawie informacji znalezionej w sieci.

Ustal jaka jest zasada - jak Clarion przechowuje dokładnie czas a pomogę ci napisać formułę w Crystalu. Ten post został edytowany przez Autora dnia 03.03.23 o godzinie 12:00

Temat: Time Clarion do CR

Witam
Pole w bazie w którym przechowywana jest informacja o czasie zapisane jest jako typ: Liczba.
Wprowadzając w programie godzinę mam do wyboru tylko godzinę i minuty, nie mogę wpisać sekund.

W tej chwili mając w polu wprowadzoną godzinę 17.00 i wprowadzając to pole na wydruk CR wyświetla się również jako typ pola Liczba i pokazuje wartość 6 120 001.

Podstawiając pole do formuły wyżej czyli w moim przypadku wygląda to tak:

TimeSerial(0, 0, {DOSTAWA.GODZINA_ODBIORU} * 100 + 1)

Wartość tej funkcji wyświetlana jest jako godzina: 08:01:41.
Takie informacje wystarczą?

Wiem jaka jest zasada obliczania tego czasu wygląda to tak:
np. godzina 12:30 to 4500001
aby uzyskać godzinę: 4500001 / 3600 = 1250.0002777.....
godzina to pierwsze dwie cyfry z wyniku czyli jest to 12.
Natomiast jeśli chodzi o minuty to bierzemy pozostałą część wyniku bez godzin czyli w tym przypadku 50 i stosujemy wzór:
60 * 50% i wychodzi nam 30 czyli wszystko by się zgadzało.
Tylko nie wiem jak to zapisać funkcją...Ten post został edytowany przez Autora dnia 06.03.23 o godzinie 09:30

Temat: Time Clarion do CR

Podbijam temat.
Może ktoś pomoże?
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Time Clarion do CR

Proszę bardzo, formuła Time Clarion do CR:

TimeSerial (0, 0, {@ClarionTimeField}*0.01)


Jeśli potrzebujesz tego w wielu miejscach to proponuję utworzyć własną funkcję (Custom Functions) o nazwie ClarionTimeToCRTime

Function (numberVar clarionTime)
TimeSerial (0, 0, clarionTime * 0.01)


a następnie wywołać ją formule jak każdą inną funkcję CR:

ClarionTimeToCRTime ({table.field})
Ten post został edytowany przez Autora dnia 24.03.23 o godzinie 16:41

Temat: Time Clarion do CR

Dzięki wielkie!

Wszystko działa jak należy : ]

Temat: Time Clarion do CR

Odgrzebie troche temat.
Stosując tą formule: TimeSerial (0, 0, {@ClarionTimeField}*0.01)

Czas wyswietlany jest w formie godzina:minuta:sekunda czyli np. 13:25:00.

Czy jest możliwość aby wyświetlana była tylko godzina i minuty bez sekund?
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Time Clarion do CR

Tak, to już kwestia odpowiedniego sformatowania pola.

1. Zaznacz pole z czasem i przejdź na zakładkę Time.
2. Wybierz jeden z predefiniowanych styli lub naciśnij przycisk Customize... i ustaw własny.

Następna dyskusja:

Clarion map 670




Wyślij zaproszenie do