Llamada de ROM para la conversión de fecha y hora de registro de ejemplo del cuadro de herramientas

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 37312
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Resumen
En este artículo proporciona un ejemplo de llamar a Macintosh basado en registro funciones ROM con la instrucción de cuadro de herramientas en las versiones 1.0, 1.0a y 1.0b de QuickBasic para Apple Macintosh.

En este artículo se describen funciones de conversión de fecha y hora, que son accesibles con la instrucción de cuadro de herramientas de QuickBasic llamadas ROM basada en el registro. La ROM basada en Registro siguiente llama al pasar argumentos en registros del equipo Macintosh:

  • La función Date2Secs ROM

    Esta función toma un registro de fecha momento (a0 &), que es el puntero en el registro de fecha y hora y convierte los segundos correspondiente desde la medianoche del 1 de enero de 1904. El resultado se coloca en el argumento (d0 &). El campo de dayofweek puede omitirse para esta función. Vea ejemplo de código 1 siguiente.
  • La función Secs2Date ROM

    Esta función toma el número de segundos transcurridos desde medianoche, el 1 de enero de 1904 (d0 &) y convierte en la fecha correspondiente y la hora, se devuelve en el argumento de registro de fecha y hora (a0 &), que es el puntero en el registro de fecha y hora. Vea ejemplo de código 2.
Nota: Avanzadas debajo de ejemplos de cómo utilizar las funciones de conversión de fecha y hora aparecen encima.
Más información
Puede obtener acceso a Date2Secs y Secs2Date desde dentro de un programa QuickBasic con la instrucción de cuadro de herramientas. La instrucción de cuadro de herramientas debe estar inicializada (sólo una vez dentro de un programa) con la siguiente instrucción:
   ToolBox "i"   'case is not significant				
puede hacer que una ROM de registro de llamar a en la siguiente manera
   ToolBox "R",trapnum%,returnarray&(0),(a0&),(a1&),(d0&),(d1&),(d2&)				
donde los siguientes sea verdadera:
"R"--es para "Registro llamada".

% de trapnum--es el número captura para la rutina ROM.

ReturnArray&(0)--contendrá el contenido de los registros a0, a1 &, d0 &, d1 &, d2 & (en orden) después de la llamada ROM. Esta matriz debe se ajusta al cinco elememts.

Los argumentos a0, a1 &, d0 &, d1 & d2 & son argumentos cuyos valores se pasan a los registros antes de la llamada ROM.
Nota: Los argumentos y returnarray&(0) son opcionales. Dependen de si necesita utilizar un registro concreto y si hay un valor devuelto.

Las funciones Date2Secs y Secs2Date utilizan la estructura de registro de fecha y hora siguiente (basada en Pascal):
   TYPE DateTimeRec =         year:       integer; {1904 to 2040}         month:      integer; {1 to 12 for January to December}         day:        integer; {1 to 31}         hour:       integer; {0 to 23)         minute:     integer; {0 to 59}         second:     integer; {0 to 59}         dayofweek:  integer; {1 to 7 for Sunday to Saturday}   END;				
en Basic, utilice una matriz de enteros para representar esta estructura, como en el siguiente ejemplo:
   DIM DateTimeRec%(6)				
donde:
   DateTimeRec%(0) represents DateTimeRec.year   DateTimeRec%(1) represents DateTimeRec.month   DateTimeRec%(2) represents DateTimeRec.day   DateTimeRec%(3) represents DateTimeRec.hour   DateTimeRec%(4) represents DateTimeRec.minute   DateTimeRec%(5) represents DateTimeRec.second   DateTimeRec%(6) represents DateTimeRec.dayofweek				
para obtener información adicional, consulte las secciones E.10.3 a E.10.3.5 de la "QuickBASIC de Microsoft para Apple Macintosh: referencia del lenguaje."

Consulte "Inside Macintosh volumen II" para los números de captura y descripciones de rutinas.

Ejemplo de código 1

   Toolbox "i"  ' Required to initialized toolbox routines; if you                ' forget this statement, you get "Invalid Function Call"   ' Example of invoking Date2Secs function.   DIM returnarray&(5)   'Must be at least 5 to handle the                         'five arguments for register ROM calls.   DIM DateTimeRec%(6)    'set up date/time record   trapnum% = &HA9C7    'trapnum for Date2Secs function   d0& = 0         'initialization   DateTimeRec%(0) = 1904    'fill date/time record   DateTimeRec%(1) = 1   DateTimeRec%(2) = 1   DateTimeRec%(3) = 2   DateTimeRec%(4) = 46   DateTimeRec%(5) = 40   DateTimeRec%(6) = 6   ToolBox "R",trapnum%,returnarray&(0),DateTimeRec%(0)   ' Note: The only parameter needed is DateTimeRec%, which is passed   '       through the a0& register as noted by its position.   PRINT returnarray&(2), "seconds have elapsed since 01-01-04"				
El ejemplo de código anterior asigna al resultado siguiente:
minutos 10000 han transcurrido desde medianoche 01-01-04

Ejemplo de código 2

   ' Secs2Date function example:   DIM datetimerec%(6)   trapnum% = &HA9C6   'trap number for Secs2Date   d0& = 10000       'time in seconds   ToolBox "i"   a0& = VARPTR(datetimerec%(0))   ToolBox "R",trapnum%,,(a0&),,(d0&)   ' NOTE: since no return value is needed, returnarray%(0) is omitted.   PRINT "the year is ";datetimerec%(0)   PRINT "month ";datetimerec%(1); " of the year"   PRINT "day ";datetimerec%(2); " of the month"   PRINT "the time is ";datetimerec%(3);" hours "; datetimerec%(4);   PRINT " minutes ";datetimerec%(5);" seconds military time"   PRINT "this is day ";datetimerec%(6); "  in the week"				
El ejemplo de código anterior asigna al resultado siguiente:
el año es 1904
mes 1 del año
día del mes
el tiempo es cientos de 2 horas 46 minutos 40 segundos tiempo militares
se trata de día 6 de la semana
MQuickB 1,00 1.00a 1.00b

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 37312 - Última revisión: 02/09/2014 20:46:54 - Revisión: 3.0

Microsoft QuickBasic Compiler for Macintosh 1.0, Microsoft QuickBasic Compiler for Macintosh 1.0, Microsoft QuickBasic Compiler for Macintosh 1.0

  • kbnosurvey kbarchive kbmt KB37312 KbMtes
Comentarios