FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
Comparación dinámica
Comparación dinámica
Débuté par Miguel, 31 aoû. 2015 11:23 - 2 réponses
Connectez-vous…
Miguel
#1
Posté le 31 août 2015 - 11:23
¿Es posible realizar una comparación entre dos strings de forma dinámica? Es decir, tengo en un combobox los distintos operadores de comparación entre strings y entro otros dos campos los dos strings a comparar. En vez de tener que escribir un SWITCH CASE por cada uno de los distintos operadores de comparación del combo se podría hacer en una única línea algo así:
IF EDT_Campo1 COMBO_Operador EDT_Campo2 = True THEN
No sé si con la función EvaluateExpression o con qué se podría hacer si se pudiera, esto ahorraría bastantes líneas de código
El combo_Operador contiene los siguientes valores: [~~], [~~, ~~], etc...
¿Alguna sugerencia o ayuda?
Gracias
Signaler
0
0
Rubén Sánchez Peña
#2
Posté le 05 septembre 2015 - 16:05
Hola. Con Compile puedes hacerlo, pero no creo que con el escribas mucho menos codigo.
Rubén Sánchez Peña
Signaler
0
0
Miguel
#3
Posté le 09 septembre 2015 - 17:56
Gracias Rubén. Ya lo tengo solucionado. Lo publico por si a alguien le sirve:
1) Código de inicialización del COMBO con los operadores de comparación (La propiedad "Returns the value specified by gLink" debe estar marcado)
ListDeleteAll
(
COMBO_
operators
)
ListAdd
(
COMBO_
operators
,
"Igual"
+
gLink
(
"="
)
)
ListAdd
(
COMBO_
operators
,
"Empieza por"
+
gLink
(
"[="
)
)
ListAdd
(
COMBO_
operators
,
"Termina por"
+
gLink
(
"=]"
)
)
ListAdd
(
COMBO_
operators
,
"Es distinto"
+
gLink
(
"<>"
)
)
ListAdd
(
COMBO_
operators
,
"Contiene"
+
gLink
(
"[=]"
)
)
//ListaAdd.. resto de operadores de comparación
2) Código de comparación:
s
Code is
string
s
Code
+
=
Charact
(
34
)
// Comillas
s
Code
+
=
EDT_
String_1
s
Code
+
=
Charact
(
34
)
// Comillas
s
Code
+
=
COMBO_
operators
..
StoredValue
s
Code
+
=
Charact
(
34
)
// Comillas
s
Code
+
=
EDT_
String_2
s
Code
+
=
Charact
(
34
)
// Comillas
Trace
(
s
Code
)
// Para control
Info
(
"El resultado es "
+ (
EvaluateExpression
(
s
Code
) ?
" true"
ELSE
"false"
) )
Signaler
0
0
→ Revenir à WINDEV 2024
WINDEV 2024
WEBDEV 2024
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte