FoxPro/Visual FoxPro - ¿Se puede reemplazar el operador $ (comparación)?

   
Vista:

¿Se puede reemplazar el operador $ (comparación)?

Publicado por PrincipianteII (9 intervenciones) el 25/02/2010 12:10:32
Hola

Necesitaría que me digan si es posible reemplazar el operador $ por otro que tenga mayor rendimiento

Estuve leyendo que generalmente VFP utiliza Rushmore para optimizar todos los procesos en los que se podría utilizar FOR pero no optimiza el operador $ de comparación de cadenas

Yo lo utilizo mucho:
- en las búsquedas: si ingresan "mar" por ejemplo que muestre, "MARía", "MARtinez", "Empresa MARítima SA", etc

- en los IF para no tener que poner tantos AND y OR: por ejemplo, en vez de poner

IF codigo="1" or codigo="3" or codigo="4"
....
ENDIF

escribo lo siguiente

IF codigo $ "134"

ENDIF

¡¡Muchas gracias!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¿Se puede reemplazar el operador $ (comparación

Publicado por santiago (376 intervenciones) el 25/02/2010 20:02:08
Lamentablemente no se puede aplicar la tecnologia Rushmore, Rushmore se aplica para indices en la busqueda de valores en campos, no para buscar cadenas en textos.

Santiago.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Se puede reemplazar el operador $ (comparación

Publicado por PrincipianteII (9 intervenciones) el 25/02/2010 20:21:31
Gracias!.
Yo lo utilizo para buscar cadenas en campos... pero según

http://msdn.microsoft.com/es-es/library/cc484722(VS.71).aspx, no es optimizable

para utilizarlos en SELECT, por ejemplo

Gracias nuevamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Se puede reemplazar el operador $ (comparación

Publicado por es_binario (757 intervenciones) el 25/02/2010 20:41:55
En Sql tienes la opcion like muy buena para encontrar caracteres en cadena

cadena_a_buscar = alltrim(upper(thisform.Text1.value))

Select * from clientes where upper(nombre) like "%" + cadena_a_buscar +"%"

esta opcion es verdaderamente rapida aun sin indices.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Se puede reemplazar el operador $ (comparación

Publicado por santiago (376 intervenciones) el 25/02/2010 21:14:41
Like tambien existe en Fox, la diferencia con $ es que se pueden emplear caracteres comodin, mas no lo he probado y por ende no se si sera mas rapido que $.

Santiago.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Si tuvieran que elegir...

Publicado por PrincipianteII (9 intervenciones) el 26/02/2010 03:58:10
Gracias por las sugerencias

Si tuvieran que elegir entre estas 2 formas para una "PROGRAMACION ELEGANTE", con cual se quedan??

IF variable="1" or variable="2" or variable="5"
__ comandos
ENDIF

o...

IF variable $ "125" && o Like
__ comandos
ENDIF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Si tuvieran que elegir...

Publicado por kong (681 intervenciones) el 26/02/2010 18:36:14
yo me quedo con "$" que es un operador que funciona tanto en las sentencias SQL y tambien en una operacion comun de VFP.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar