Fecha actual Lun Jun 17, 2024 10:42 am

Todos los horarios son UTC + 1 hora [ DST ]




Nuevo tema Responder al tema  [ 3 mensajes ] 
Autor Mensaje
 Asunto: Comando &
NotaPublicado: Mar Ene 29, 2008 11:48 pm 

Registrado: Lun Ene 08, 2007 5:56 pm
Mensajes: 91
Saludos Bruno
Tengo problemas con el comando & por que no acepta esta, en medio de una instruccion. ni Cuando el & esta combinado en la misma linea. asi como funcionaba en clipper.
ej.
Fichero="periodos"

For i =1 to 5
ix=strzero(ix,2)
&Fichero->Periodo_&ix := i
Next i


Deseo tener acceso a las variables de una DBF a travez del comando & y tambien a los nombres de ficheros.

Existiendo los nombres de campos en periodos.dbf como
periodo_01
periodo_02
periodo_03
Periodo_04
Periodo_05

Gracias de antemano por tu respuesta


Arriba
 Perfil  
Responder citando  
 Asunto: Re: Comando &
NotaPublicado: Mié Ene 30, 2008 11:41 am 
Avatar de Usuario

Registrado: Dom Oct 09, 2005 11:26 am
Mensajes: 362
Ubicación: Salamanca - España
german escribió:
Saludos Bruno
Tengo problemas con el comando & por que no acepta esta, en medio de una instruccion. ni Cuando el & esta combinado en la misma linea. asi como funcionaba en clipper.
ej.
Fichero="periodos"

For i =1 to 5
ix=strzero(ix,2)
&Fichero->Periodo_&ix := i
Next i


Deseo tener acceso a las variables de una DBF a travez del comando & y tambien a los nombres de ficheros.

Existiendo los nombres de campos en periodos.dbf como
periodo_01
periodo_02
periodo_03
Periodo_04
Periodo_05

Gracias de antemano por tu respuesta


Hola a todos.

No logro entender porque existe dentro de la comunidad xBase ese 'vicio' sobre el uso y ABUSO en la utilización de la macro-sustitución.
Yo llevo varios años en esto de la programación xBase (clipper, five...) y os aseguro que en mi código no utilizo ni una sola vez esta posibilidad (&).
El uso de las macros 'enlentece' la aplicación ya que lo que queramos 'macro-sustituir' el compilador no lo resuelve, y se hace en tiempo de ejecución (en 32 bits es menos significativa esta penalización, pero igualmente desaconsejable).
En tu caso concreto yo haria lo siguiente:

Ah!, creo que tu codigo 'excede el uso de las macros (2 en la misma orden es demasiado):
&Fichero->Periodo_&ix := i

For i =1 to 5
ix = strzero( ix, 2 )
Periodos->( FieldPut( FieldPos( "Periodo_" + ix ), i ) )
Next i

Un saludote!!!

_________________
Un saludo.
Jesús P. Melgar Velasco


Arriba
 Perfil  
Responder citando  
 Asunto:
NotaPublicado: Mié Ene 30, 2008 4:50 pm 
Avatar de Usuario

Registrado: Mar Dic 27, 2005 2:58 pm
Mensajes: 77
Jesús, estoy deacuerdo contigo, el abuso de las macros ralentiza la aplicación. A mí me da un poco de repelús cuando veo código con macros, pero cada cual programa como quiere o como le gusta.


Arriba
 Perfil  
Responder citando  
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 3 mensajes ] 

Todos los horarios son UTC + 1 hora [ DST ]


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Buscar:
Saltar a:  
cron