FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Asignar el valor de DayOfTheWeek a una variable
Como puedo asignar el valor que me dá la función DayOfTheWeek a una variable para después trabajar con él.
Resulta que K siempre acaba teniendo el valor 0 !! Necesito el valor en K porque después tengo que hacer otras operaciones con ese valor. Gracias y saludos. |
#2
|
||||
|
||||
En tu ejemplo no le asignas ningún valor a la variable por eso te da 0. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
||||
|
||||
Gracias Marcos por tu respuesta, pero sigo sin comprenderlo.
En mi código se le asigna un valor a K !! Si miro con el Debug, K siempre es 0. Ahora bien, acabo de comprobar que si a continuación de esta sentencia pongo la que tú me has indicado entonces resulta que mirando con el Debug, K tiene el valor correspondiente. Me gustaría que me explicaras el porqué de esto. Gracias |
#4
|
||||
|
||||
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#5
|
||||
|
||||
Bueno pues resulta que si funciona correctamente, pero como no dijiste la versión de Delphi que utilizabas.
En D5 no exite DayOfTheWeek sino DayOfWeek, ahora lo he probado con D7 y funciona sin ningún problema.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#6
|
||||
|
||||
Utilizo Delphi 2005.
Lo que no hemos aclarado es porqué si miras con el Debug el valor de K, es siempre 0 si no añades ShowMessage. En cambio si el programa está con la instrucción ShowMessage entonces K toma el valor correcto. Por lo menos eso pasa en D2005 y D8. |
#7
|
||||
|
||||
Pues no voy a poder aclarártelo ya que no tengo la versión 2.005, supongo que o no están bien configuradas las opciones de depuración, o aunque me parecería mas raro un fallo del depurador.
Lo cierto es que K, contiene el valor pue sino no se visualizaría con ShowMessage. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#8
|
||||
|
||||
Específicamente en Delphi 8 o 2005 no sé, pero es muy posible que el compilador esté omitiendo la llamada a DayOfWeek. Verás, el compilador (o el linker) de Delphi es bastante eficiente. Al ver una llamada a función que no se usa (el valor de K no lo usas posteriormente), el linker sabe que no hay necesidad de agregarla al ejecutable. Cuando Marcos pone el ShowMessage, entonces al linker no le queda más remedio que incluir la llamada a la función ya que sí tiene un uso posterior.
// Saludos |
|
|
|