Avatar billede janbangm Nybegynder
19. december 2003 - 10:34 Der er 3 kommentarer og
1 løsning

IsTime funktion i ASP

Hej

Er der nogle der har et forslag til hvordan man kontrollere om et tidspunkt er indtastet rigtigt og kan indsættes i en Aceess database. Faktisk en istime funktion.
Avatar billede eagleeye Praktikant
19. december 2003 - 10:49 #1
Her en function lavat af en fra Portugal:


Function IsTime(Valor)
Dim Aux
Dim h
Dim m
Dim s

    Aux=False
   
    Pos=InStr(Valor,":")
    Aux=(len(valor)<=8 and len(valor)>=3) And ((Pos=2 or Pos=3)) 'Verifica-se se o tamanho e o separador (:) estao bem
    h=Mid(Valor,1,Pos-1)
    If IsNumeric(h) Then 'Captura-se a Hora
        h=Cint(h)
        Aux=(h>=0 And h<=23) 'Verifica-se se esta no intervalo correcto
    End if
           

    Valor=Mid(Valor,Pos+1,Len(Valor)-Pos+1) 'Fica-se com os minutos e segundos
   
    Pos=InStr(Valor,":")
    Aux=(len(valor)<=5 and len(valor)>=1) 'Verifica-se se o tamanho e o separador (:) estao bem
    If Pos=0 Then
        m=Mid(Valor,1,Len(Valor))
    Else
        m=Mid(Valor,1,Pos-1)
    End if
   
    If IsNumeric(m) Then 'Captura-se os minutos
        m=Cint(m)
        Aux=(m>=0 And m<=59) 'Verifica-se se esta no intervalo correcto
    Else
        Aux=False
    End if

    Pos=InStr(Valor,":")
    Valor=Mid(Valor,Pos+1,Len(Valor)-Pos+1) 'Fica-se com os segundos
    If Pos>0 Then 'Entao, ainda ha os segundos para verificar....
        Pos=InStr(Valor,":")
        Aux=(len(valor)<=2) 'Verifica-se se o tamanho e o separador (:) estao bem
        If Pos=0 Then
            s=Mid(Valor,1,Len(Valor))
        Else
            s=Mid(Valor,1,Pos-1)
        End if

        If IsNumeric(s) Then 'Captura-se os minutos
            s=Cint(s)
            Aux=(s>=0 And s<=59) 'Verifica-se se esta no intervalo correcto
        Else
            Aux=False
        End if
    Else
        s=0
    End if       

    IsTime=Aux

    'Esta linha e' opcional e apenas serve para reconverter o valor para o formato desejado. GetCTime devera ser Global
    If aux Then GetCTime=h & ":" & m & ":" & s

End Function
Avatar billede eagleeye Praktikant
19. december 2003 - 10:51 #2
Her er så en simplere metode som bruger isDate til at validere tiden:

Den bruger isDate med Date & " " & tjekTid, da isDate kan tjekke om dato+tid er valid men ikke kun tid:


Function IsTime(tjekTid)
  IsTime = IsDate(Date & " " & tjekTid)
End Function
Avatar billede janbangm Nybegynder
19. december 2003 - 10:58 #3
Jeg prøver det og venter tibage
Avatar billede janbangm Nybegynder
19. december 2003 - 11:13 #4
Jamen den sidste er nem og den kan jeg bruge.

Tak for hjælpen og glædelig jul
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester