In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Macro

Foro público de Xailer en español
Responder
Rolando
Mensajes: 191
Registrado: Lun May 08, 2006 2:10 pm

Macro

Mensaje por Rolando »

Hola: tengo que hacer algo asi, alguna idea?. Gracias
METHOD MaxMod()
LOCAL cDia, cHoraIni, cHoraFin, a, lResp := .f.
for a := 1 to 6
cDia := {"LU", "MA", "MI","JU", "VI","SA" }[a]
cHoraIni := "::oDataProf:"+cDia+"HORAINI"
cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
if &cHoraIni. <> "00:00" .and. ! empty( &cHoraIni. ) //Produce error:
variable SELF no existe
if val(::oMaskEdit1:value) <= ;
positur( &cHoraIni., &cHoraFin.,
val(substr(::oDataProf:lapso,4,2)))
lResp := .t.
exit
endif
endif
next
RETURN lResp
--
Rolando Sarrailh
Teléfono,
int. +54-221-489-1480
nac. 0221-489-1480
loc. 489-1480
rsarrailh@gmail.com
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Macro

Mensaje por jose.luis »

Rolando,
Una vez hice yo la misma cuestión a José Giménez y éste me respondió:
"Deberías saber que no se pueden usar variables locales con las macros"
Y efectivamente... no se pueden usar locales con macros.
Puedes hacer lo siguiente (es solo un ejemplo que puede tener fallos)
METHOD MaxMod()
LOCAL a, lResp := .f., cDia
#pragma ENABLEWARNINGS=OFF // para evitar warnings
PRIVATE cHoraIni, cHoraFin
for a := 1 to 6
cDia := {"LU", "MA", "MI","JU", "VI","SA" }[a]
cHoraIni := "::oDataProf:"+cDia+"HORAINI"
cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
if &cHoraIni. <> "00:00" .and. ! empty( &cHoraIni. ) //Produce error:
variable SELF no existe
if val(::oMaskEdit1:value) <= ;
positur( &cHoraIni., &cHoraFin.,
val(substr(::oDataProf:lapso,4,2)))
lResp := .t.
exit
endif
endif
next
#pragma ENABLEWARNINGS=ON
RETURN lResp
Mira a ver si así te funciona.
Saludos,
José Luis Capel
"Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
news:[email=44c8f7ba@news.xailer.com...]44c8f7ba@news.xailer.com...[/email]
> Hola: tengo que hacer algo asi, alguna idea?. Gracias
>
> METHOD MaxMod()
> LOCAL cDia, cHoraIni, cHoraFin, a, lResp := .f.
> for a := 1 to 6
> cDia := {"LU", "MA", "MI","JU", "VI","SA" }[a]
> cHoraIni := "::oDataProf:"+cDia+"HORAINI"
> cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
> if &cHoraIni. <> "00:00" .and. ! empty( &cHoraIni. ) //Produce error:
> variable SELF no existe
> if val(::oMaskEdit1:value) <= ;
> positur( &cHoraIni., &cHoraFin.,
> val(substr(::oDataProf:lapso,4,2)))
> lResp := .t.
> exit
> endif
> endif
> next
> RETURN lResp
>
>
>
> --
> Rolando Sarrailh
> Teléfono,
> int. +54-221-489-1480
> nac. 0221-489-1480
> loc. 489-1480
> rsarrailh@gmail.com
>
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Macro

Mensaje por jose.luis »

Otra vez yo....
Mirando mejor el tema... Creo que podrías probar lo siguiente (no lo he
probado)
cHoraIni := __ObjSendMsg( Self, "oDataPRof" + cDia+"HORAINI" )
cHoraFin := __ObjSendMsg( Self, "oDataPRof" + cDia+"HORAFIN" )
Saludos,
José Luis Capel
"José Luis Capel" <jose.luis@iaicom.com> escribió en el mensaje
news:44c900bd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Rolando,
>
> Una vez hice yo la misma cuestión a José Giménez y éste me respondió:
>
> "Deberías saber que no se pueden usar variables locales con las macros"
>
> Y efectivamente... no se pueden usar locales con macros.
>
> Puedes hacer lo siguiente (es solo un ejemplo que puede tener fallos)
>
> METHOD MaxMod()
>
> LOCAL a, lResp := .f., cDia
> #pragma ENABLEWARNINGS=OFF // para evitar warnings
>
> PRIVATE cHoraIni, cHoraFin
> for a := 1 to 6
> cDia := {"LU", "MA", "MI","JU", "VI","SA" }[a]
> cHoraIni := "::oDataProf:"+cDia+"HORAINI"
> cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
> if &cHoraIni. <> "00:00" .and. ! empty( &cHoraIni. ) //Produce error:
> variable SELF no existe
> if val(::oMaskEdit1:value) <= ;
> positur( &cHoraIni., &cHoraFin.,
> val(substr(::oDataProf:lapso,4,2)))
> lResp := .t.
> exit
> endif
> endif
> next
> #pragma ENABLEWARNINGS=ON
>
> RETURN lResp
>
> Mira a ver si así te funciona.
>
> Saludos,
> José Luis Capel
>
>
> "Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
> news:[email=44c8f7ba@news.xailer.com...]44c8f7ba@news.xailer.com...[/email]
>> Hola: tengo que hacer algo asi, alguna idea?. Gracias
>>
>> METHOD MaxMod()
>> LOCAL cDia, cHoraIni, cHoraFin, a, lResp := .f.
>> for a := 1 to 6
>> cDia := {"LU", "MA", "MI","JU", "VI","SA" }[a]
>> cHoraIni := "::oDataProf:"+cDia+"HORAINI"
>> cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
>> if &cHoraIni. <> "00:00" .and. ! empty( &cHoraIni. ) //Produce error:
>> variable SELF no existe
>> if val(::oMaskEdit1:value) <= ;
>> positur( &cHoraIni., &cHoraFin.,
>> val(substr(::oDataProf:lapso,4,2)))
>> lResp := .t.
>> exit
>> endif
>> endif
>> next
>> RETURN lResp
>>
>>
>>
>> --
>> Rolando Sarrailh
>> Teléfono,
>> int. +54-221-489-1480
>> nac. 0221-489-1480
>> loc. 489-1480
>> rsarrailh@gmail.com
>>
>
>
Rolando
Mensajes: 191
Registrado: Lun May 08, 2006 2:10 pm

Macro

Mensaje por Rolando »

Desgraciadamente no funciona de ninguna forma, Gracias igual José Luis.
"José Luis Capel" <jose.luis@iaicom.com> escribió en el mensaje
news:[email=44c9021f@news.xailer.com...]44c9021f@news.xailer.com...[/email]
> Otra vez yo....
>
> Mirando mejor el tema... Creo que podrías probar lo siguiente (no lo he
> probado)
>
> cHoraIni := __ObjSendMsg( Self, "oDataPRof" + cDia+"HORAINI" )
> cHoraFin := __ObjSendMsg( Self, "oDataPRof" + cDia+"HORAFIN" )
>
> Saludos,
> José Luis Capel
>
>
> "José Luis Capel" <jose.luis@iaicom.com> escribió en el mensaje
> news:44c900bd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>> Rolando,
>>
>> Una vez hice yo la misma cuestión a José Giménez y éste me respondió:
>>
>> "Deberías saber que no se pueden usar variables locales con las macros"
>>
>> Y efectivamente... no se pueden usar locales con macros.
>>
>> Puedes hacer lo siguiente (es solo un ejemplo que puede tener fallos)
>>
>> METHOD MaxMod()
>>
>> LOCAL a, lResp := .f., cDia
>> #pragma ENABLEWARNINGS=OFF // para evitar warnings
>>
>> PRIVATE cHoraIni, cHoraFin
>> for a := 1 to 6
>> cDia := {"LU", "MA", "MI","JU", "VI","SA" }[a]
>> cHoraIni := "::oDataProf:"+cDia+"HORAINI"
>> cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
>> if &cHoraIni. <> "00:00" .and. ! empty( &cHoraIni. ) //Produce error:
>> variable SELF no existe
>> if val(::oMaskEdit1:value) <= ;
>> positur( &cHoraIni., &cHoraFin.,
>> val(substr(::oDataProf:lapso,4,2)))
>> lResp := .t.
>> exit
>> endif
>> endif
>> next
>> #pragma ENABLEWARNINGS=ON
>>
>> RETURN lResp
>>
>> Mira a ver si así te funciona.
>>
>> Saludos,
>> José Luis Capel
>>
>>
>> "Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
>> news:[email=44c8f7ba@news.xailer.com...]44c8f7ba@news.xailer.com...[/email]
>>> Hola: tengo que hacer algo asi, alguna idea?. Gracias
>>>
>>> METHOD MaxMod()
>>> LOCAL cDia, cHoraIni, cHoraFin, a, lResp := .f.
>>> for a := 1 to 6
>>> cDia := {"LU", "MA", "MI","JU", "VI","SA" }[a]
>>> cHoraIni := "::oDataProf:"+cDia+"HORAINI"
>>> cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
>>> if &cHoraIni. <> "00:00" .and. ! empty( &cHoraIni. ) //Produce error:
>>> variable SELF no existe
>>> if val(::oMaskEdit1:value) <= ;
>>> positur( &cHoraIni., &cHoraFin.,
>>> val(substr(::oDataProf:lapso,4,2)))
>>> lResp := .t.
>>> exit
>>> endif
>>> endif
>>> next
>>> RETURN lResp
>>>
>>>
>>>
>>> --
>>> Rolando Sarrailh
>>> Teléfono,
>>> int. +54-221-489-1480
>>> nac. 0221-489-1480
>>> loc. 489-1480
>>> rsarrailh@gmail.com
>>>
>>
>>
>
>
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Macro

Mensaje por jose.luis »

Rolando,
¿Estás seguro?
Mira este proyecto y adáptalo a tus necesidades.
Saludos,
José Luis Capel
"Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
news:[email=44c90f0c@news.xailer.com...]44c90f0c@news.xailer.com...[/email]
> Desgraciadamente no funciona de ninguna forma, Gracias igual José Luis.
>
> "José Luis Capel" <jose.luis@iaicom.com> escribió en el mensaje
> news:[email=44c9021f@news.xailer.com...]44c9021f@news.xailer.com...[/email]
>> Otra vez yo....
>>
>> Mirando mejor el tema... Creo que podrías probar lo siguiente (no lo he
>> probado)
>>
>> cHoraIni := __ObjSendMsg( Self, "oDataPRof" + cDia+"HORAINI" )
>> cHoraFin := __ObjSendMsg( Self, "oDataPRof" + cDia+"HORAFIN" )
>>
>> Saludos,
>> José Luis Capel
>>
>>
>> "José Luis Capel" <jose.luis@iaicom.com> escribió en el mensaje
>> news:44c900bd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>> Rolando,
>>>
>>> Una vez hice yo la misma cuestión a José Giménez y éste me respondió:
>>>
>>> "Deberías saber que no se pueden usar variables locales con las macros"
>>>
>>> Y efectivamente... no se pueden usar locales con macros.
>>>
>>> Puedes hacer lo siguiente (es solo un ejemplo que puede tener fallos)
>>>
>>> METHOD MaxMod()
>>>
>>> LOCAL a, lResp := .f., cDia
>>> #pragma ENABLEWARNINGS=OFF // para evitar warnings
>>>
>>> PRIVATE cHoraIni, cHoraFin
>>> for a := 1 to 6
>>> cDia := {"LU", "MA", "MI","JU", "VI","SA" }[a]
>>> cHoraIni := "::oDataProf:"+cDia+"HORAINI"
>>> cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
>>> if &cHoraIni. <> "00:00" .and. ! empty( &cHoraIni. ) //Produce error:
>>> variable SELF no existe
>>> if val(::oMaskEdit1:value) <= ;
>>> positur( &cHoraIni., &cHoraFin.,
>>> val(substr(::oDataProf:lapso,4,2)))
>>> lResp := .t.
>>> exit
>>> endif
>>> endif
>>> next
>>> #pragma ENABLEWARNINGS=ON
>>>
>>> RETURN lResp
>>>
>>> Mira a ver si así te funciona.
>>>
>>> Saludos,
>>> José Luis Capel
>>>
>>>
>>> "Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
>>> news:[email=44c8f7ba@news.xailer.com...]44c8f7ba@news.xailer.com...[/email]
>>>> Hola: tengo que hacer algo asi, alguna idea?. Gracias
>>>>
>>>> METHOD MaxMod()
>>>> LOCAL cDia, cHoraIni, cHoraFin, a, lResp := .f.
>>>> for a := 1 to 6
>>>> cDia := {"LU", "MA", "MI","JU", "VI","SA" }[a]
>>>> cHoraIni := "::oDataProf:"+cDia+"HORAINI"
>>>> cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
>>>> if &cHoraIni. <> "00:00" .and. ! empty( &cHoraIni. ) //Produce
>>>> error:
>>>> variable SELF no existe
>>>> if val(::oMaskEdit1:value) <= ;
>>>> positur( &cHoraIni., &cHoraFin.,
>>>> val(substr(::oDataProf:lapso,4,2)))
>>>> lResp := .t.
>>>> exit
>>>> endif
>>>> endif
>>>> next
>>>> RETURN lResp
>>>>
>>>>
>>>>
>>>> --
>>>> Rolando Sarrailh
>>>> Teléfono,
>>>> int. +54-221-489-1480
>>>> nac. 0221-489-1480
>>>> loc. 489-1480
>>>> rsarrailh@gmail.com
>>>>
>>>
>>>
>>
>>
>
>


Attached files pep.zip (1.8 KB)Â
Rolando
Mensajes: 191
Registrado: Lun May 08, 2006 2:10 pm

Macro

Mensaje por Rolando »

Esta semivacio José Luis
"Jose Luis Capel" <jose.luis@capelsoft.com> escribió en el mensaje
news:44c91893$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Rolando,
>
> ¿Estás seguro?
>
> Mira este proyecto y adáptalo a tus necesidades.
>
> Saludos,
> José Luis Capel
>
> "Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
> news:[email=44c90f0c@news.xailer.com...]44c90f0c@news.xailer.com...[/email]
>> Desgraciadamente no funciona de ninguna forma, Gracias igual José Luis.
>>
>> "José Luis Capel" <jose.luis@iaicom.com> escribió en el mensaje
>> news:[email=44c9021f@news.xailer.com...]44c9021f@news.xailer.com...[/email]
>>> Otra vez yo....
>>>
>>> Mirando mejor el tema... Creo que podrías probar lo siguiente (no lo he
>>> probado)
>>>
>>> cHoraIni := __ObjSendMsg( Self, "oDataPRof" + cDia+"HORAINI" )
>>> cHoraFin := __ObjSendMsg( Self, "oDataPRof" + cDia+"HORAFIN" )
>>>
>>> Saludos,
>>> José Luis Capel
>>>
>>>
>>> "José Luis Capel" <jose.luis@iaicom.com> escribió en el mensaje
>>> news:44c900bd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>> Rolando,
>>>>
>>>> Una vez hice yo la misma cuestión a José Giménez y éste me respondió:
>>>>
>>>> "Deberías saber que no se pueden usar variables locales con las macros"
>>>>
>>>> Y efectivamente... no se pueden usar locales con macros.
>>>>
>>>> Puedes hacer lo siguiente (es solo un ejemplo que puede tener fallos)
>>>>
>>>> METHOD MaxMod()
>>>>
>>>> LOCAL a, lResp := .f., cDia
>>>> #pragma ENABLEWARNINGS=OFF // para evitar warnings
>>>>
>>>> PRIVATE cHoraIni, cHoraFin
>>>> for a := 1 to 6
>>>> cDia := {"LU", "MA", "MI","JU", "VI","SA" }[a]
>>>> cHoraIni := "::oDataProf:"+cDia+"HORAINI"
>>>> cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
>>>> if &cHoraIni. <> "00:00" .and. ! empty( &cHoraIni. ) //Produce
>>>> error:
>>>> variable SELF no existe
>>>> if val(::oMaskEdit1:value) <= ;
>>>> positur( &cHoraIni., &cHoraFin.,
>>>> val(substr(::oDataProf:lapso,4,2)))
>>>> lResp := .t.
>>>> exit
>>>> endif
>>>> endif
>>>> next
>>>> #pragma ENABLEWARNINGS=ON
>>>>
>>>> RETURN lResp
>>>>
>>>> Mira a ver si así te funciona.
>>>>
>>>> Saludos,
>>>> José Luis Capel
>>>>
>>>>
>>>> "Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
>>>> news:[email=44c8f7ba@news.xailer.com...]44c8f7ba@news.xailer.com...[/email]
>>>>> Hola: tengo que hacer algo asi, alguna idea?. Gracias
>>>>>
>>>>> METHOD MaxMod()
>>>>> LOCAL cDia, cHoraIni, cHoraFin, a, lResp := .f.
>>>>> for a := 1 to 6
>>>>> cDia := {"LU", "MA", "MI","JU", "VI","SA" }[a]
>>>>> cHoraIni := "::oDataProf:"+cDia+"HORAINI"
>>>>> cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
>>>>> if &cHoraIni. <> "00:00" .and. ! empty( &cHoraIni. ) //Produce
>>>>> error:
>>>>> variable SELF no existe
>>>>> if val(::oMaskEdit1:value) <= ;
>>>>> positur( &cHoraIni., &cHoraFin.,
>>>>> val(substr(::oDataProf:lapso,4,2)))
>>>>> lResp := .t.
>>>>> exit
>>>>> endif
>>>>> endif
>>>>> next
>>>>> RETURN lResp
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Rolando Sarrailh
>>>>> Teléfono,
>>>>> int. +54-221-489-1480
>>>>> nac. 0221-489-1480
>>>>> loc. 489-1480
>>>>> rsarrailh@gmail.com
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
>
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Macro

Mensaje por zeasoftware »

has esto:
ME......
MemVar oSelf := Self
cHoraIni := "oSelf:oDataProf:"+cDia+"HORAINI"
cHoraFin := "oSelf:oDataProf:"+cDia+"HORAFIN"
::::::
::::
Como Self esta definido como Local al ejecutar la macro marca error.
Saludos.
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
--
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Macro

Mensaje por jose.luis »

Rolando,
¿Qué está semivacío?
No entiendo nada...
Saludos,
José Luis Capel
"Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
news:[email=44c9326e@news.xailer.com...]44c9326e@news.xailer.com...[/email]
> Esta semivacio José Luis
>
> "Jose Luis Capel" <jose.luis@capelsoft.com> escribió en el mensaje
> news:44c91893$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>> Rolando,
>>
>> ¿Estás seguro?
>>
>> Mira este proyecto y adáptalo a tus necesidades.
>>
>> Saludos,
>> José Luis Capel
>>
>> "Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
>> news:[email=44c90f0c@news.xailer.com...]44c90f0c@news.xailer.com...[/email]
>>> Desgraciadamente no funciona de ninguna forma, Gracias igual José Luis.
>>>
>>> "José Luis Capel" <jose.luis@iaicom.com> escribió en el mensaje
>>> news:[email=44c9021f@news.xailer.com...]44c9021f@news.xailer.com...[/email]
>>>> Otra vez yo....
>>>>
>>>> Mirando mejor el tema... Creo que podrías probar lo siguiente (no lo he
>>>> probado)
>>>>
>>>> cHoraIni := __ObjSendMsg( Self, "oDataPRof" + cDia+"HORAINI" )
>>>> cHoraFin := __ObjSendMsg( Self, "oDataPRof" + cDia+"HORAFIN" )
>>>>
>>>> Saludos,
>>>> José Luis Capel
>>>>
>>>>
>>>> "José Luis Capel" <jose.luis@iaicom.com> escribió en el mensaje
>>>> news:44c900bd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>> Rolando,
>>>>>
>>>>> Una vez hice yo la misma cuestión a José Giménez y éste me respondió:
>>>>>
>>>>> "Deberías saber que no se pueden usar variables locales con las
>>>>> macros"
>>>>>
>>>>> Y efectivamente... no se pueden usar locales con macros.
>>>>>
>>>>> Puedes hacer lo siguiente (es solo un ejemplo que puede tener fallos)
>>>>>
>>>>> METHOD MaxMod()
>>>>>
>>>>> LOCAL a, lResp := .f., cDia
>>>>> #pragma ENABLEWARNINGS=OFF // para evitar warnings
>>>>>
>>>>> PRIVATE cHoraIni, cHoraFin
>>>>> for a := 1 to 6
>>>>> cDia := {"LU", "MA", "MI","JU", "VI","SA" }[a]
>>>>> cHoraIni := "::oDataProf:"+cDia+"HORAINI"
>>>>> cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
>>>>> if &cHoraIni. <> "00:00" .and. ! empty( &cHoraIni. ) //Produce
>>>>> error:
>>>>> variable SELF no existe
>>>>> if val(::oMaskEdit1:value) <= ;
>>>>> positur( &cHoraIni., &cHoraFin.,
>>>>> val(substr(::oDataProf:lapso,4,2)))
>>>>> lResp := .t.
>>>>> exit
>>>>> endif
>>>>> endif
>>>>> next
>>>>> #pragma ENABLEWARNINGS=ON
>>>>>
>>>>> RETURN lResp
>>>>>
>>>>> Mira a ver si así te funciona.
>>>>>
>>>>> Saludos,
>>>>> José Luis Capel
>>>>>
>>>>>
>>>>> "Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
>>>>> news:[email=44c8f7ba@news.xailer.com...]44c8f7ba@news.xailer.com...[/email]
>>>>>> Hola: tengo que hacer algo asi, alguna idea?. Gracias
>>>>>>
>>>>>> METHOD MaxMod()
>>>>>> LOCAL cDia, cHoraIni, cHoraFin, a, lResp := .f.
>>>>>> for a := 1 to 6
>>>>>> cDia := {"LU", "MA", "MI","JU", "VI","SA" }[a]
>>>>>> cHoraIni := "::oDataProf:"+cDia+"HORAINI"
>>>>>> cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
>>>>>> if &cHoraIni. <> "00:00" .and. ! empty( &cHoraIni. ) //Produce
>>>>>> error:
>>>>>> variable SELF no existe
>>>>>> if val(::oMaskEdit1:value) <= ;
>>>>>> positur( &cHoraIni., &cHoraFin.,
>>>>>> val(substr(::oDataProf:lapso,4,2)))
>>>>>> lResp := .t.
>>>>>> exit
>>>>>> endif
>>>>>> endif
>>>>>> next
>>>>>> RETURN lResp
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Rolando Sarrailh
>>>>>> Teléfono,
>>>>>> int. +54-221-489-1480
>>>>>> nac. 0221-489-1480
>>>>>> loc. 489-1480
>>>>>> rsarrailh@gmail.com
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
>
Carlos Mora
Mensajes: 88
Registrado: Vie Jul 28, 2006 9:36 am

Macro

Mensaje por Carlos Mora »

Rolando,
Con la respuesta de Ramón ya deberí­as haber resuelto el tema, pero se me
ocurrió otra solución que no usa macros.
> cHoraIni := "::oDataProf:"+cDia+"HORAINI"
cHoraIni := OSend( ::oDataProf, cDia+"HORAINI" )
> cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
cHoraFin := Osend( ::oDataProf, cDia+"HORAFIN" )
Entonces tendrás en las variables directamente el valor de los campos,
sin necesidad de las macros.
Saludos,
Carlos
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5706
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Macro

Mensaje por jfgimenez »

Rolando,
pruebalo así:
cHoraIni := __ObjSendMsg( ::oDataPRof, cDia+"HORAINI" )
cHoraFin := __ObjSendMsg( ::oDataPRof, cDia+"HORAFIN" )
--
Un saludo,
José F. Giménez
http://www.xailer.com
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Rolando
Mensajes: 191
Registrado: Lun May 08, 2006 2:10 pm

Macro

Mensaje por Rolando »

Hola: El proyecto, Jose Luis, aqui pongo lo que hay en los dos .prg y falta
el .xfm, de todas formas muchas gracias y lo que me mando Jose funciono
perfectamente.
Saludos Rolando.
/*
* Proyecto: pep
* Fichero: pep.prg
* Descripción: Módulo de entrada a la aplicación
* Autor:
* Fecha: 27/07/2006
*/
#include "Xailer.ch"
Procedure Main()
Application:cTitle := "pep"
TForm2():New( Application ):Show()
Application:Run()
Return
/*
* Proyecto: pep
* Fichero: Form2.prg
* Descripción:
* Autor:
* Fecha: 27/07/2006
*/
#include "Xailer.ch"
CLASS TForm2 FROM TForm
METHOD CreateForm()
ENDCLASS
#include "Form2.xfm"
"Jose Luis Capel" <jose.luis@capelsoft.com> escribió en el mensaje
news:[email=44c99ecf@news.xailer.com...]44c99ecf@news.xailer.com...[/email]
> Rolando,
>
> ¿Qué está semivacío?
>
> No entiendo nada...
>
> Saludos,
> José Luis Capel
>
> "Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
> news:[email=44c9326e@news.xailer.com...]44c9326e@news.xailer.com...[/email]
>> Esta semivacio José Luis
>>
>> "Jose Luis Capel" <jose.luis@capelsoft.com> escribió en el mensaje
>> news:44c91893$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>> Rolando,
>>>
>>> ¿Estás seguro?
>>>
>>> Mira este proyecto y adáptalo a tus necesidades.
>>>
>>> Saludos,
>>> José Luis Capel
>>>
>>> "Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
>>> news:[email=44c90f0c@news.xailer.com...]44c90f0c@news.xailer.com...[/email]
>>>> Desgraciadamente no funciona de ninguna forma, Gracias igual José Luis.
>>>>
>>>> "José Luis Capel" <jose.luis@iaicom.com> escribió en el mensaje
>>>> news:[email=44c9021f@news.xailer.com...]44c9021f@news.xailer.com...[/email]
>>>>> Otra vez yo....
>>>>>
>>>>> Mirando mejor el tema... Creo que podrías probar lo siguiente (no lo
>>>>> he
>>>>> probado)
>>>>>
>>>>> cHoraIni := __ObjSendMsg( Self, "oDataPRof" + cDia+"HORAINI" )
>>>>> cHoraFin := __ObjSendMsg( Self, "oDataPRof" + cDia+"HORAFIN" )
>>>>>
>>>>> Saludos,
>>>>> José Luis Capel
>>>>>
>>>>>
>>>>> "José Luis Capel" <jose.luis@iaicom.com> escribió en el mensaje
>>>>> news:44c900bd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>>> Rolando,
>>>>>>
>>>>>> Una vez hice yo la misma cuestión a José Giménez y éste me respondió:
>>>>>>
>>>>>> "Deberías saber que no se pueden usar variables locales con las
>>>>>> macros"
>>>>>>
>>>>>> Y efectivamente... no se pueden usar locales con macros.
>>>>>>
>>>>>> Puedes hacer lo siguiente (es solo un ejemplo que puede tener fallos)
>>>>>>
>>>>>> METHOD MaxMod()
>>>>>>
>>>>>> LOCAL a, lResp := .f., cDia
>>>>>> #pragma ENABLEWARNINGS=OFF // para evitar warnings
>>>>>>
>>>>>> PRIVATE cHoraIni, cHoraFin
>>>>>> for a := 1 to 6
>>>>>> cDia := {"LU", "MA", "MI","JU", "VI","SA" }[a]
>>>>>> cHoraIni := "::oDataProf:"+cDia+"HORAINI"
>>>>>> cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
>>>>>> if &cHoraIni. <> "00:00" .and. ! empty( &cHoraIni. ) //Produce
>>>>>> error:
>>>>>> variable SELF no existe
>>>>>> if val(::oMaskEdit1:value) <= ;
>>>>>> positur( &cHoraIni., &cHoraFin.,
>>>>>> val(substr(::oDataProf:lapso,4,2)))
>>>>>> lResp := .t.
>>>>>> exit
>>>>>> endif
>>>>>> endif
>>>>>> next
>>>>>> #pragma ENABLEWARNINGS=ON
>>>>>>
>>>>>> RETURN lResp
>>>>>>
>>>>>> Mira a ver si así te funciona.
>>>>>>
>>>>>> Saludos,
>>>>>> José Luis Capel
>>>>>>
>>>>>>
>>>>>> "Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
>>>>>> news:[email=44c8f7ba@news.xailer.com...]44c8f7ba@news.xailer.com...[/email]
>>>>>>> Hola: tengo que hacer algo asi, alguna idea?. Gracias
>>>>>>>
>>>>>>> METHOD MaxMod()
>>>>>>> LOCAL cDia, cHoraIni, cHoraFin, a, lResp := .f.
>>>>>>> for a := 1 to 6
>>>>>>> cDia := {"LU", "MA", "MI","JU", "VI","SA" }[a]
>>>>>>> cHoraIni := "::oDataProf:"+cDia+"HORAINI"
>>>>>>> cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
>>>>>>> if &cHoraIni. <> "00:00" .and. ! empty( &cHoraIni. ) //Produce
>>>>>>> error:
>>>>>>> variable SELF no existe
>>>>>>> if val(::oMaskEdit1:value) <= ;
>>>>>>> positur( &cHoraIni., &cHoraFin.,
>>>>>>> val(substr(::oDataProf:lapso,4,2)))
>>>>>>> lResp := .t.
>>>>>>> exit
>>>>>>> endif
>>>>>>> endif
>>>>>>> next
>>>>>>> RETURN lResp
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Rolando Sarrailh
>>>>>>> Teléfono,
>>>>>>> int. +54-221-489-1480
>>>>>>> nac. 0221-489-1480
>>>>>>> loc. 489-1480
>>>>>>> rsarrailh@gmail.com
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
>
Rolando
Mensajes: 191
Registrado: Lun May 08, 2006 2:10 pm

Macro

Mensaje por Rolando »

Hola Jose: Funciona perfectamente, muchas gracias.
un saludo
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:44c9e22e$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Rolando,
>
> pruebalo así:
>
> cHoraIni := __ObjSendMsg( ::oDataPRof, cDia+"HORAINI" )
> cHoraFin := __ObjSendMsg( ::oDataPRof, cDia+"HORAFIN" )
>
>
> --
> Un saludo,
>
> José F. Giménez
> http://www.xailer.com
>
Rolando
Mensajes: 191
Registrado: Lun May 08, 2006 2:10 pm

Macro

Mensaje por Rolando »

Hola: Muchas gracias a todos por su colaboracion.
Un saludo.
"Carlos Mora" <carlosmora@iespana.es> escribió en el mensaje
news:[email=44c9be8c@news.xailer.com...]44c9be8c@news.xailer.com...[/email]
> Rolando,
> Con la respuesta de Ramón ya deberías haber resuelto el tema, pero se me
> ocurrió otra solución que no usa macros.
>
>> cHoraIni := "::oDataProf:"+cDia+"HORAINI"
> cHoraIni := OSend( ::oDataProf, cDia+"HORAINI" )
>
>> cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
> cHoraFin := Osend( ::oDataProf, cDia+"HORAFIN" )
>
> Entonces tendrás en las variables directamente el valor de los campos, sin
> necesidad de las macros.
>
> Saludos,
>
> Carlos
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Macro

Mensaje por jose.luis »

Rolando,
Si crees que el fichero .zip es incompleto... bueno... entonces lo estará.
Saludos,
José Luis Capel
"Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
news:[email=44ca1803@news.xailer.com...]44ca1803@news.xailer.com...[/email]
> Hola: El proyecto, Jose Luis, aqui pongo lo que hay en los dos .prg y
> falta el .xfm, de todas formas muchas gracias y lo que me mando Jose
> funciono perfectamente.
> Saludos Rolando.
>
>
> /*
> * Proyecto: pep
> * Fichero: pep.prg
> * Descripción: Módulo de entrada a la aplicación
> * Autor:
> * Fecha: 27/07/2006
> */
>
> #include "Xailer.ch"
>
> Procedure Main()
>
> Application:cTitle := "pep"
> TForm2():New( Application ):Show()
> Application:Run()
>
> Return
>
> /*
> * Proyecto: pep
> * Fichero: Form2.prg
> * Descripción:
> * Autor:
> * Fecha: 27/07/2006
> */
>
> #include "Xailer.ch"
>
> CLASS TForm2 FROM TForm
>
> METHOD CreateForm()
>
> ENDCLASS
>
> #include "Form2.xfm"
>
>
>
> "Jose Luis Capel" <jose.luis@capelsoft.com> escribió en el mensaje
> news:[email=44c99ecf@news.xailer.com...]44c99ecf@news.xailer.com...[/email]
>> Rolando,
>>
>> ¿Qué está semivacío?
>>
>> No entiendo nada...
>>
>> Saludos,
>> José Luis Capel
>>
>> "Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
>> news:[email=44c9326e@news.xailer.com...]44c9326e@news.xailer.com...[/email]
>>> Esta semivacio José Luis
>>>
>>> "Jose Luis Capel" <jose.luis@capelsoft.com> escribió en el mensaje
>>> news:44c91893$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>> Rolando,
>>>>
>>>> ¿Estás seguro?
>>>>
>>>> Mira este proyecto y adáptalo a tus necesidades.
>>>>
>>>> Saludos,
>>>> José Luis Capel
>>>>
>>>> "Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
>>>> news:[email=44c90f0c@news.xailer.com...]44c90f0c@news.xailer.com...[/email]
>>>>> Desgraciadamente no funciona de ninguna forma, Gracias igual José
>>>>> Luis.
>>>>>
>>>>> "José Luis Capel" <jose.luis@iaicom.com> escribió en el mensaje
>>>>> news:[email=44c9021f@news.xailer.com...]44c9021f@news.xailer.com...[/email]
>>>>>> Otra vez yo....
>>>>>>
>>>>>> Mirando mejor el tema... Creo que podrías probar lo siguiente (no lo
>>>>>> he
>>>>>> probado)
>>>>>>
>>>>>> cHoraIni := __ObjSendMsg( Self, "oDataPRof" + cDia+"HORAINI" )
>>>>>> cHoraFin := __ObjSendMsg( Self, "oDataPRof" + cDia+"HORAFIN" )
>>>>>>
>>>>>> Saludos,
>>>>>> José Luis Capel
>>>>>>
>>>>>>
>>>>>> "José Luis Capel" <jose.luis@iaicom.com> escribió en el mensaje
>>>>>> news:44c900bd$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
>>>>>>> Rolando,
>>>>>>>
>>>>>>> Una vez hice yo la misma cuestión a José Giménez y éste me
>>>>>>> respondió:
>>>>>>>
>>>>>>> "Deberías saber que no se pueden usar variables locales con las
>>>>>>> macros"
>>>>>>>
>>>>>>> Y efectivamente... no se pueden usar locales con macros.
>>>>>>>
>>>>>>> Puedes hacer lo siguiente (es solo un ejemplo que puede tener
>>>>>>> fallos)
>>>>>>>
>>>>>>> METHOD MaxMod()
>>>>>>>
>>>>>>> LOCAL a, lResp := .f., cDia
>>>>>>> #pragma ENABLEWARNINGS=OFF // para evitar warnings
>>>>>>>
>>>>>>> PRIVATE cHoraIni, cHoraFin
>>>>>>> for a := 1 to 6
>>>>>>> cDia := {"LU", "MA", "MI","JU", "VI","SA" }[a]
>>>>>>> cHoraIni := "::oDataProf:"+cDia+"HORAINI"
>>>>>>> cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
>>>>>>> if &cHoraIni. <> "00:00" .and. ! empty( &cHoraIni. ) //Produce
>>>>>>> error:
>>>>>>> variable SELF no existe
>>>>>>> if val(::oMaskEdit1:value) <= ;
>>>>>>> positur( &cHoraIni., &cHoraFin.,
>>>>>>> val(substr(::oDataProf:lapso,4,2)))
>>>>>>> lResp := .t.
>>>>>>> exit
>>>>>>> endif
>>>>>>> endif
>>>>>>> next
>>>>>>> #pragma ENABLEWARNINGS=ON
>>>>>>>
>>>>>>> RETURN lResp
>>>>>>>
>>>>>>> Mira a ver si así te funciona.
>>>>>>>
>>>>>>> Saludos,
>>>>>>> José Luis Capel
>>>>>>>
>>>>>>>
>>>>>>> "Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
>>>>>>> news:[email=44c8f7ba@news.xailer.com...]44c8f7ba@news.xailer.com...[/email]
>>>>>>>> Hola: tengo que hacer algo asi, alguna idea?. Gracias
>>>>>>>>
>>>>>>>> METHOD MaxMod()
>>>>>>>> LOCAL cDia, cHoraIni, cHoraFin, a, lResp := .f.
>>>>>>>> for a := 1 to 6
>>>>>>>> cDia := {"LU", "MA", "MI","JU", "VI","SA" }[a]
>>>>>>>> cHoraIni := "::oDataProf:"+cDia+"HORAINI"
>>>>>>>> cHoraFin := "::oDataProf:"+cDia+"HORAFIN"
>>>>>>>> if &cHoraIni. <> "00:00" .and. ! empty( &cHoraIni. ) //Produce
>>>>>>>> error:
>>>>>>>> variable SELF no existe
>>>>>>>> if val(::oMaskEdit1:value) <= ;
>>>>>>>> positur( &cHoraIni., &cHoraFin.,
>>>>>>>> val(substr(::oDataProf:lapso,4,2)))
>>>>>>>> lResp := .t.
>>>>>>>> exit
>>>>>>>> endif
>>>>>>>> endif
>>>>>>>> next
>>>>>>>> RETURN lResp
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Rolando Sarrailh
>>>>>>>> Teléfono,
>>>>>>>> int. +54-221-489-1480
>>>>>>>> nac. 0221-489-1480
>>>>>>>> loc. 489-1480
>>>>>>>> rsarrailh@gmail.com
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
Responder