Shell 13-07-2023, 14:27
Buenas!.

Me gustaría seguir la pista a una variable, pero no es una expresión.

Cuando entro en modo depuración hasta el punto de interrupción para conocer
el estado de la variable. Puedo decirle al editor que me agregué "el valor de una
expresión" pero no el de una variable.

Os muestro el código, tengo esto en el timer y ultimomilsegundo es la variable
que quiero ver como cambia a lo largo de la ejecución del programa.

Código:
Public Sub Timer1_Timer()
 
  ultimomilisegundo = Timer1.Delay   
 
  DrawingArea1.Refresh  
 
End

Entonces tengo el punto en de ruptura en la línea donde se encuentra la variable ultimomilisegundo.

Pero lo que hace en realidad es mostrarme la expresión que usa "esa" variable.
Y me agrega la variable que contiene una expresión donde la variable ultimomilisegundo
es encontrada. (Mostrándome el resultado de la expresión).

La variable que es el resultado de la expresión es esta:

Código:
...
 deltatime = ultimomilisegundo / 1000
...

A la izquierda del editor, me muestra esto:

[Imagen: XgHf6GC.png]

En objeto actual "si" puedo ver la variable. Lógicamente no es una expresión.

Si yo ejecutase ahora F5 y F5 y F5, estaría viendo los cambios que se produce en cada ejecución y vería el valor de "ultimomilisegundo" en el objeto actual.
Pero si la traza del programa salta a otra clase o modulo, le pierdo la pista a la variable "ultimomilisegundo". Cosa que no ocurre con la expresión "deltaTime".

Fijaros ahora la traza se encuentra en una clase distinta. La clase RobotGenerador

[Imagen: crRCyVM.png]


La variable ultimomilisegundo deja de verse, pero la expresión deltaTime es posible verla (a pesar de que el puntero de la traza se encuentre en otro lugar distinto).
¿ Es normal que no pueda ver el valor de la variable que quiero ver constantemente ?.

La variable ultimomilisegundo es global ( por decirlo de alguna manera) a todo el FMain. Solo a el.

Saludos

Subo algo más sencillo ( probablemente sea una tontería).

Se trata de saber como se actualiza la variable numero1

FMain
Código:
Private operacion1 As Multiplicar
Private numero1 As Integer
Private numero2 As Integer

'La idea del ejemplo es observar como cambia la variable numero1

Public Sub Main()

numero1 = 3
numero2 = 4

Randomize

RepiteMultiplicacion(3)
 
End

Public Sub RepiteMultiplicacion(nveces As Integer)
 
  operacion1 = New Multiplicar(numero1, numero2)
  For i As Integer = 0 To nveces - 1    
    Print operacion1.Multiplicacion()
    'Asignamos un número entre 1 y 10 a la variable global numero1
    numero1 = Rand(1, 10)
    'Se lo asignamos a la propiedad op1 del objeto operacion1
    operacion1.op1 = numero1
  Next
 
End

Y la clase Multiplicar:

Código:
Property op1 As Integer Use hop1
Property op2 As Integer Use hop2

Public Sub _new(operador1 As Integer, operador2 As Integer)
 
Me.op1 = operador1
Me.op2 = operador2  
 
End

Public Sub Multiplicacion() As Integer
 
  Return Me.op1 * Me.op2
 
End

Al final será una chorrada. Rolleyes

Saludos
Archivos adjuntos
.gz
TestDepuracion-0.0.1.tar.gz (Tamaño: 12.06 KB Descargas: 3)
guizans 13-07-2023, 13:08
Hola a todos.

Tengo la siguiente sentencia a una base de datos tipo SQLite3.

Código:
resultado = conexion.Exec("SELECT nombre FROM trabajosRealizar INNER JOIN clientes ON clientes.ID=trabajosRealizar.IDCliente  WHERE pendiente=0")
print resultado.Count

Lo que imprime es 0, es decir, que no hay registros válidos. Lo curioso del tema es que copio esa sentencia en el programa DBBrowser y me devuelve dos resultados, que son los resultados que debería de dar. Es decir, que por algún motivo el Exec de Gambas no está funcionando correctamente ya que no tengo ningún tipo de error en la consulta.

Misterios muy misteriosos.

Un saludo.
Shell 09-07-2023, 13:38
Buenas!.

Quizás no escribí bien las palabras, como son palabras que pueden venir del Inglés.

Estoy repasando en un capitulo de un libro de Python, la creación y lectura de archivos de texto.
En este capitulo hace un ejemplo breve del uso de JSON, pero muy breve.

Dice:
 
Cita: 
JSON son las siglas de JavaScript Object Notation y es una forma común de sistemas para serializar y deserializar datos para su almacenamiento o transmisión a través de una red. El formato de un objeto JSON es muy similar a la forma en que un diccionario de Python se ve. De hecho, son casi idénticos.

Cuando se dice diccionarios en Python tenemos nuestro igual en Gambas, las colecciones.

Por ejemplo esto es una tabla de puntuación formateada como una cadena JSON.
 
Cita:{"Anna": 10000, "Barney": 9000, "Jane": 8000, "Fred": 7000}

( Es idéntico a un diccionario Python )

¿ Tenemos en Gambas un componente para JSON ?. 
Fui a mirar y no parece que tengamos alguno. Huh

Probablemente alguien crearía algo similar según necesidad.
Aun no sé si le dará uso más tarde el autor del libro.

Ah si, que se me olvida. Según dice:

"Serializar" es el proceso de escribir datos de la memoria a un archivo.
"Deserializar" es el proceso de leer datos de un archivo y pasarlo a la memoria.

Saludos
Páginas (560):    1 149 150 151 152 153 560   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 288
Último miembro: shoUsho
Temas del foro: 1,729
Mensajes del foro: 8,987
Últimos temas
Paren...WAIT !!!
Foro: Aplicaciones/Fragmentos de Código
Último mensaje por: guizans, 25-08-2025, 14:49
Respuestas: 3 - Vistas: 448
GambOS
Foro: General
Último mensaje por: guizans, 20-08-2025, 13:58
Respuestas: 0 - Vistas: 310
Gambas y Wayland
Foro: General
Último mensaje por: guizans, 20-08-2025, 13:56
Respuestas: 6 - Vistas: 589
Odio a gb.Report
Foro: General
Último mensaje por: guizans, 19-08-2025, 10:40
Respuestas: 8 - Vistas: 939
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.