|
Página 1 de 1
|
Autor |
Mensaje |
smorgerbowrg
Usuario
Registrado: Noviembre 2012
Mensajes: 27
Edad: 49
|
Trabajo Con Fechas
Buenos dias, mi duda es, como saber qué día de la semana es cierta fecha, esto es: En visual basic, hay varias funciones para trabajar con fechas, pero he estado viendo en gambas y no he visto información de fechas, por ejemplo, en el sistema de vb tengo una función que me extrae el lunes de la semana, osea, que si entro en miércoles siempre me va a regresar la fecha del lunes:
miercoles 7/11/2012 en un campo siempre tengo lunes 5/11/2012
viernes 10/11/2012 en un campo siempre tengo lunes 5/11/2012
martes 6/11/2012 en un campo siempre tengo lunes 5/11/2012
como puedo en gambas hacer esto? que en base a la fecha de cualquier dia de la semana me de la fecha del lunes de esa misma semana?
como puedo saber si es lunes?
mas o menos mi funcion en vb6 es asi:
Calendar1 es un control como el DateChooser1 pero de vb6 y DateChooser1 no tiene las funciones del Calendar1
Private Function BUSCAR_LUNES() As String
For A = 7 To 1 Step -1 ' lee los 7 dias de la semana
Calendar1.PreviousDay ' va regresando dia a dia hacia dias atras
If Weekday(Calendar1.Value) = 2 Then ' aqui el 2 es el lunes
BUSCAR_LUNES = Calendar1.Value ' asigna a la funcion la fecha ke encontro en el dia 2 osea lunes
Exit For ' sale del for y ya tengo la fecha del lunes
End If
Next
Calendar1.Today ' vuelve a poner el contro a la fecha de hoy
End Function
|
#1 Martes, 13 Noviembre 2012, 18:51 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Trabajo Con Fechas
smorgerbowrg:
Puedes usar la funcion weekday ( Enlace ), que dandole una fecha te da un numero: 0, domingo, 1, lunes,...
Saludos
|
#2 Martes, 13 Noviembre 2012, 19:36 |
|
|
smorgerbowrg
Usuario
Registrado: Noviembre 2012
Mensajes: 27
Edad: 49
|
Re: Trabajo Con Fechas
Perfecto, justo lo ke necesitaba, localizar el dia de la semana, ok dejen hago la funcion y se las pego aki para si a alguien le sirve.... Gracias
|
#3 Martes, 13 Noviembre 2012, 23:14 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Trabajo Con Fechas
smorgerbowrg, revisa las normas del foro, en especial las que hacen referencia a la forma de escribir y el uso correcto del español o castellano. Me refiero a las "k" en lugar de las "qu". No cuesta nada escribir correctamente, al igual que hacemos cuando programamos. Gracias
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#4 Martes, 13 Noviembre 2012, 23:22 |
|
|
smorgerbowrg
Usuario
Registrado: Noviembre 2012
Mensajes: 27
Edad: 49
|
Re: Trabajo Con Fechas
Listo.... aquí esta el código equivalente al código en vb6 que expuse anteriormente pero ya en gambas a ver si les sirve...
Este código le enviamos una fecha de cualquier día de la semana y siempre nos va a regresar el lunes de esa semana:
Public Sub fechalunes(fecha_z As Date) As String
Dim k As Integer
Dim i As Integer
Dim fechat As String
'domingo=0
'lunes=1
'martes=2
'miercoles=3
'jueves=4
'viernes=5
'sabado=6
k = 1
For i = 6 To 0 Step -1 ' aqui contamos los 7 dias de la semana de sabado a domingo
fechat = Month(fecha_z) & "/" & Day(fecha_z - k) & "/" & Year(fecha_z) ' procesamos la fecha en mes-dia-año en la variable fechat y al día le restamos un día en cada siglo
If WeekDay(fechat) = 1 Then ' aqui si la fecha procesada es lunes (1) cargamos la fechat local en una variable global varx.GlobalFechaLunes y sale de la funcion
varx.GlobalFechaLunes = fechat ' tambien pueden usar el nombre de la funcion como variable
Exit
Endif
k = k + 1
Next
End
|
#5 Miercoles, 14 Noviembre 2012, 19:32 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Trabajo Con Fechas
Solo dos comentarios...
Usas una variable global: varx.GlobalFechaLunes
pero no devuelves nada con la funcion...
Habria que añadir el valor que retornas:
Saludos
última edición por jsbsan el Miercoles, 14 Noviembre 2012, 22:55; editado 1 vez
|
#6 Miercoles, 14 Noviembre 2012, 22:54 |
|
|
smorgerbowrg
Usuario
Registrado: Noviembre 2012
Mensajes: 27
Edad: 49
|
Re: Trabajo Con Fechas
Tienes razón, es mejor así, lo que pasa es que como copio mucho código de vb6 a este de gambas, en el código uso mucho esa variable global y ya no quiero cambiar el nombre de esa variable, pero es correcto lo que me dices.... gracias no sabia que se usaba el return....
Maldita tecnología escrita, por eso la adoro, es por eso que en mi face dice: Tiene una relación con: una computadora
última edición por smorgerbowrg el Miercoles, 14 Noviembre 2012, 23:33; editado 2 veces
|
#7 Miercoles, 14 Noviembre 2012, 23:29 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Trabajo Con Fechas
Como vienes de VB6, mirate este enlace: http://wiki.gambas-es.org/index.php...de_VB6_a_GambasTabla_de_Traducción_de_ordenes_de_VB6_a_Gambas, te vendrá bien , ver las diferencias y ordenes equivalentes...
Las tablas siguen estas columnas:
VB6 | Uso | gambas
Saludos
última edición por jsbsan el Jueves, 15 Noviembre 2012, 16:44; editado 1 vez
|
#8 Jueves, 15 Noviembre 2012, 16:42 |
|
|
smorgerbowrg
Usuario
Registrado: Noviembre 2012
Mensajes: 27
Edad: 49
|
Re: Trabajo Con Fechas
Perfecto, justo lo que necesitaba, ahora me es mas familiar gambas.... gracias, lo imprimo de inmediato
|
#9 Viernes, 16 Noviembre 2012, 17:06 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|