Estoy programando un sistema con la plataforma de Visual Chart, y me gustaria que alguien me pudiese ayudar con lo sigiente:
El sistema compra en un mes determinado, y bajo unas condiciones, y vende en otro mes bajo otras condiciones, permaneciendo cerrado el resto de los meses.
Si pongo lo siguiente:
If .Date >=20050101 and .Date <= 20050131
"condiciones de compra"
end if
Supongo que solo me comprobara las operaciones de enero de 2005, mi pregunta es: ¿ que deberia de poner para que el sistema me evaluara los años anteriores?.
Muchas gracias
ayuda para sistema
Lo que yo haría es extraer de la variable .Date el día, mes y año en variables separadas, con lo cual tienes mucha más flexibilidad al programar un sistema concreto. Se me ocurre lo siguiente (ojo, no lo he probado):
' Variables para día, mes y año:
DIM dia as integer
DIM mes as integer
DIM year as integer 'En ingliss para evitar problemas con la "ñ"
.
.
.
'Para obtener el año:
year = .Date \ 10000 ' con barra "\" en vez de "/" para que sea división entera, también pordríamos haber hecho int(.Date \ 10000)
'Para obtener el mes:
mesdia% = .Date - (year * 10000) 'Variable temporal igual a .Date sin el año
mes = mesdia% \ 100
'Para obtener el día:
dia = mesdia% - (mes * 100)
.
.
.
Ahora ya tenemos el año, mes y día por separado, con lo que podemos hacer cosas como la que comentas, como comprar en un mes y vender en otro:
.
.
.
if (mes = 1) then
' Compramos en enero (de cualquier año)
end if
if (mes = 5) then
' Vendemos en mayo (de cualquier año)
end if
if (dia >=10) and (dia <=20) then
' Aquí podríamos, por ejemplo, vender del 10 al 20 de cada mes, por ejemplo
end if
.
.
.
Puedo haberme equivocado pero espero que al menos te sirva de base.
Saludos.
' Variables para día, mes y año:
DIM dia as integer
DIM mes as integer
DIM year as integer 'En ingliss para evitar problemas con la "ñ"
.
.
.
'Para obtener el año:
year = .Date \ 10000 ' con barra "\" en vez de "/" para que sea división entera, también pordríamos haber hecho int(.Date \ 10000)
'Para obtener el mes:
mesdia% = .Date - (year * 10000) 'Variable temporal igual a .Date sin el año
mes = mesdia% \ 100
'Para obtener el día:
dia = mesdia% - (mes * 100)
.
.
.
Ahora ya tenemos el año, mes y día por separado, con lo que podemos hacer cosas como la que comentas, como comprar en un mes y vender en otro:
.
.
.
if (mes = 1) then
' Compramos en enero (de cualquier año)
end if
if (mes = 5) then
' Vendemos en mayo (de cualquier año)
end if
if (dia >=10) and (dia <=20) then
' Aquí podríamos, por ejemplo, vender del 10 al 20 de cada mes, por ejemplo
end if
.
.
.
Puedo haberme equivocado pero espero que al menos te sirva de base.
Saludos.