I also noticed that the help section about it suggested that the argument of
CDateFromISO should be String. I experimented with it a bit and I found that
Long works fine. However I forgot to try String.

Or in other words:
Help suggests CDateFromISO("20070127")
I tried CDateFromISO(20070127) and it worked fine. However I forgot to try
what help suggested, so maybe both work.

Johnny


2007/1/27, Johnny Andersson <[EMAIL PROTECTED]>:

Thanks! I found it in help now that you mentioned it and I remember that I
actually seen it before. Thanks!

Maybe I could suggest the functions CTimeToISO and CTimeFromISO to be
included in OpenOffice.org BASIC in a future version, what do you think?

Thanks again!


Johnny

2007/1/26, Bernard Marcelly <[EMAIL PROTECTED]>:
>
> Message de Johnny Andersson  date 2007-01-26 09:30 :
> > Forget about what I said about the type of Time and Date from those
> fields
> > in the dialog I was talking about. I checked again and they are Long,
> not
> > Double. Sorry for missleading...   =)
> >
> > But I still wonder about the rest of what I wrote...
> >
> > Johnny
> >
> > 2007/1/26, Johnny Andersson < [EMAIL PROTECTED]>:
> >>
> >> Hi!
> >>
> >> Once again in some kind of troubles when trying to communicate with a
> >> spreadsheet using a macro.
> >> I created a dialog with a time field in it. The problem is that the
> time
> >> format is just a number, for example if it's 18:45, the time field
> will
> >> output 18450000 (...). The same thing
> >> goes
> >> for the date field. 2007-01-26 (today) is output as 20070126 from the
>
> >> date
> >> field.
> >>
> >> (...) I created these two functions for
> >> converting Control field time and date to the numberformat that can
> be
> >> formatted to readable date and time:
> >>
> >>
> >>
> '***************************************************************************
> >>
> >> Function DateCtlFieldToDate(Dt As Long) As Date
> >>     Dim Y As Long, M As Long, D As Long
> >>
> >>     Y=Int(Dt/10000)
> >>     M=Int(Dt/100)-Y*100
> >>     D=Dt-Y*10000-M*100
> >>     DateCtlFieldToDate=DateSerial(Y,M,D)
> >> End Function
> >>
> >>
> >>
> '***************************************************************************
> >>
> >> Function TimeCtlFieldToTime(Tm As Long) As Date
> >>     Dim H As Long, M As Long, S As Long
> >>
> >>     H=Int(Tm/1000000)
> >>     M=Int(Tm/10000)-H*100
> >>     S=Int(Tm/100)-H*10000-M*100
> >>     TimeCtlFieldToTime=TimeSerial(H,M,S)
> >> End Function
> >>
> >>
> '***************************************************************************
>
> >>
> >>
> >>
> >> Now to my question:
> >> Do I really need these two functions? Isn't there an easier way? I
> >> couldn't find a built in function for doing this, so that's why I
> >> tried to
> >> create my own maybe not so fast ones.
>
> AFAIK there is no existing conversion function for time.
> For date, you get from the TimeField control a value which is an ISO
> date format. Here Basic provides a function:
>
> Dim Tm As Long, Tm2 As Date
> Tm2 = CDateFromISO(Tm)
>
>     Bernard
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to