Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Comparar Coordenadas En Un GridView
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Comparar Coordenadas En Un GridView 
 
Hola a todos.

 Tengo un GridView dividido en una serie de columnas y filas. Cuando el usuario pulse en una determinada casilla quiero que el programa mande un mensaje. Pero el problema que me encuentro es que no puedo usar un if tal que así.

if grdGridVies[2,2] = grdGridView[2,2] then print "Si"
 


 Por supuesto que esto es un ejemplo, se supone que esto es igual, pues para gambas no es así. ¿Como puedo hacer este tipo de comparaciones? ¿Alguna otra forma?

 Estoy usando gambas 3.7.1 en Debian Testing.

Muchas gracias.
 



 
Guizans - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Comparar Coordenadas En Un GridView 
 
Hola, Guizans

Supongo que lo que quieres comparar es el contenido de una determinada celda (que es un texto) con otra cosa. Pero para poder comparar algo, ambos objetos tienen que ser del mismo tipo, en este caso un string de texto.

Por lo que lo siguiente debería funcionar, ya que usamos la propiedad .Text de la celda determinada por sus índices de fila y columna:

if grdGridView[2,2].Text = "contenido de la celda" then print "Si"


Resumiendo, grdGridView[2,2] se refiere al objeto Cell y grdGridView[2,2].Text se refiere al contenido de texto de ese objeto Cell.

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Comparar Coordenadas En Un GridView 
 
Hola jguardon.

No, en mi caso no quiero comparar el contenido, ya que todas las celdas están vacías. Simplemente quiero comparar las coordenadas. Si el usuario hace click en una determinada casilla quiero que el programa haga algo. Pero no me sirve cualquier casilla, tiene que ser la casilla que yo quiero, de ahí la necesidad de comparar las coordenadas de la casilla que ha pulsado el usuario con las coordenadas de las casillas que a mi me interesan.

Muchas gracias.

Edito:

 He encontrado una forma que me vale, no se si es la mejor, pero me funciona.

dim a as point
dim b as point

a = new point(coordena1, coordenada2)
b = new point(coordena3, coordeanda4)

if a =  b then print "Son iguales"
 


Un saludo.
 



 
última edición por Guizans el Sabado, 15 Agosto 2015, 15:50; editado 1 vez 
Guizans - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Comparar Coordenadas En Un GridView 
 
Suponiendo que el secundo términe de comparación son las coordenadas grdGridView[2,2], yo propondía:

Public Sub grdGridVies_Click()

   If CStr(grdGridVies.RowAt(Mouse.Y)) & CStr(grdGridVies.ColumnAt(Mouse.X)) = "22" Then Print "Si"

End



o mejor:
Public Sub grdGridVies_Click()

   If CStr(grdGridVies.Row) & CStr(grdGridVies.Column) = "22" Then Print "Si"

End

 



 
última edición por vuott el Martes, 18 Agosto 2015, 20:24; editado 4 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Comparar Coordenadas En Un GridView 
 
Hola vuott.

Tu solución también me gusta, pero creo que de momento me voy a quedar con la solución que encontré, me parece más elegante.

Muchas gracias.

Un saludo.
 



 
Guizans - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Comparar Coordenadas En Un GridView 
 
Guizans escribió: [Ver mensaje]
....me parece más elegante.


Puede ser, pero no he comprendido como tu obtienes en manera segura las coordenadas de la celda donde tu hace click con el mouse, porque la Clase Point solo dà coordenadas exprimidas en pixel.

Pregunta: las coordenadas del GridView que tu quieres comparar, se refieren a las celdas o a las distancias en pixel de Mouse.X y Mouse.Y ?
 



 
última edición por vuott el Sabado, 15 Agosto 2015, 23:03; editado 2 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Comparar Coordenadas En Un GridView 
 
Hola vuott.

 Perdón por tardar tanto en contestar, pero me ha sido imposible.

 Volviendo al tema, lo que quiero capturar son las coordenadas de las celdas. Para obtener la coordenada de la celda en la cual el usuario hace click uso esto:
public sub grdTablero_Click()
 dim coor as point
 coor = new point(grdTablero.Row, grdTablero.Column)
end
 

Entonces el la variable coor se almacena las coordenadas en las que el usuario hace click. Si quiero saber si ha hecho click por ejemplo en la casilla superior izquierda hago lo siguiente:
public sub grdTablero_Click()
 dim coor as point
 dim caar as point
 coor = new point(grdTablero.Row, grdTablero.Column)
 caar = new point(0,0)
 if coor = caar then print "Estas en la casilla superior izquierda"
end
 


 Lo dicho, no se si hay otra manera mejor y más fácil, pero esta me ha sacado del atolladero.  

Gracias por vuestra ayuda.
 



 
Guizans - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Comparar Coordenadas En Un GridView 
 
Perdón, pero siguo tenendo algunas dudas:

1) la Clase Point() quiere dos parametros que se refieren a las coordinadas de la distancia de un punto desde el lado superior y desde el lado izquierdo.
2) solo es casual que la Classe Point() te ofrezca la posibilidad de almacenar dos valores costantes. Es decir tu utizas en manera... no-propia la Clase Point().
3) Las coordinadas de las celdas de un GridView son indices de la rejilla, como si fuera una matriz.
4) Este tu estratagema, que - sì - dà sus efectos, te ha pero obligado a declarar dos variables y a crear dos objetos de tipo Point.

...creo que puedes obtener más con menos.  
 



 
última edición por vuott el Martes, 18 Agosto 2015, 20:23; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Leer Md5 De Gamba Y Comparar Con Md5 De Php nelsondiaze Aplicaciones/Fragmentos de Código 1 Martes, 13 May 2014, 21:04 Ver último mensaje
jsbsan
No hay nuevos mensajes Eje De Coordenadas Cuando Dibujamos En Gambas Shell General 4 Sabado, 28 Junio 2014, 13:40 Ver último mensaje
jsbsan
No hay nuevos mensajes Diferencias Entre Gb.gui Y Gb.qt. Coordenadas Shell General 2 Domingo, 30 Octobre 2016, 10:53 Ver último mensaje
Shell
No hay nuevos mensajes Colocar Un Control Con Coordenadas En Un F... Shell General 0 Sabado, 09 Febrero 2019, 14:51 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron