Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-01-2004
maruenda maruenda is offline
Miembro
 
Registrado: oct 2003
Ubicación: elche
Posts: 173
Poder: 21
maruenda Va por buen camino
Angry seguimiento de una varialbe

buenas. tengo delphi 7 version educacion. tengo un form con una variable, que se llama leyendo. es booleana. me gustaria ir viendo el valor de esta variable en tiempo de ejecucion. existe alguna opcion que me permita esto? gracias
Responder Con Cita
  #2  
Antiguo 20-01-2004
Avatar de Nuria
Nuria Nuria is offline
Miembro
 
Registrado: may 2003
Posts: 531
Poder: 22
Nuria Va por buen camino
Hola Maruenda:

No se en Delphi 7 versión educación, si se podrá pero supongo que si. Pon un punto de Ruptura, en una línea de tú código, pinchando con el ratón dos veces y te aparecerá la línea en rojo. Ejecuta el programa y se parará en esa línea y con F8 irás pasando de línea, y si quieres ver el valor de la variable sólo tienes que poner el ratón encima de ésta y te aparecerá el valor que tiene en esos momentos. Yo lo hago en Delphi 7 Enterprise y funciona perfectamente.

Espero que te sirva.

Saludos!
Responder Con Cita
  #3  
Antiguo 20-01-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Si no funcionara en la versión que tienes, cosa que ignoro, puedes hacer un visor de artesanía, Pones en todos los lugares del programa en donde estés interesado en conocer el valor de dicha variable un ShowMessage(miVariable);

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 20-01-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por marcoszorrilla
un visor de artesanía


¿Y esta nomenclatura tan artesanal?

// Saludos
Responder Con Cita
  #5  
Antiguo 20-01-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Cita:
Empezado por roman
¿Y esta nomenclatura tan artesanal?
Es que el amigo Marcos siempre nos sorprende

Bueno, respecto al problema y ampliando un poco las respuestas dadas, sólo decir que también tienes la opción Watch (no se si está bien escrito, es que no tengo el Delphi aun instalado en este PC ). En D7 no se donde estará, pero si te posicionas encima de la variable y haces CTRL+F5 se te agregará y te aparecerá dicha ventanita. Has de usarlo junto a los puntos de ruptura (que tambien puedes añadir con un simple clic en la parte derecha del códiga, la gris )
Responder Con Cita
  #6  
Antiguo 22-01-2004
maruenda maruenda is offline
Miembro
 
Registrado: oct 2003
Ubicación: elche
Posts: 173
Poder: 21
maruenda Va por buen camino
Unhappy otra pregunta

hola. bueno intento ver el valor de la variable en tiempode ejecucion, uso showmessage, pero al ser una variable booleana, me da error. ¿ como puedo usar esa funcion con este tipo de variables ? existe alguna forma de convertirla a string ? gracias
Responder Con Cita
  #7  
Antiguo 22-01-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
if Leyendo then ShowMessage('Verdadero')
else ShowMessage('Falso')

pruebalo
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #8  
Antiguo 22-01-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Cita:
Empezado por maruenda
hola. bueno intento ver el valor de la variable en tiempode ejecucion, uso showmessage, pero al ser una variable booleana, me da error. ¿ como puedo usar esa funcion con este tipo de variables ? existe alguna forma de convertirla a string ? gracias
En D6 o superior : BoolToStr()
Responder Con Cita
  #9  
Antiguo 24-01-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
En cualquier versión de Delphi:

Código:
ShowMessage(IntToStr(Integer(VariableBooleana)));
// Saludos
Responder Con Cita
  #10  
Antiguo 24-01-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Estos son los valores que devuelve una variable de tipo lógica aplicando la interesante nomenclatura de Román, en honor a él he llamado a la variable de prueba lRoman, como se vé aquí hemos llegado al sumum de la artesanía, un visor totalmente artesanal y un doble moldeado de datos.

Código:
procedure TForm1.Button1Click(Sender: TObject);
var
lRoman:Boolean;
begin
ShowMessage(IntToStr(Integer(lRoman))); //32
lRoman:=False;
ShowMessage(IntToStr(Integer(lRoman))); //0
lRoman:=True;
ShowMessage(IntToStr(Integer(lRoman)));//1
end;
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #11  
Antiguo 25-01-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por marcoszorrilla
Estos son los valores que devuelve una variable de tipo lógica aplicando la interesante nomenclatura de Román, en honor a él he llamado a la variable de prueba lRoman, como se vé aquí hemos llegado al sumum de la artesanía, un visor totalmente artesanal y un doble moldeado de datos.
Y por cierto, dicho valor 32 (204 en mi caso) es de hecho útil ya que nos indicará que pasamos por alto el mensaje del compilador:

Cita:
[Warning] Unit1.pas (n) Variable 'lRoman' might not have been initialized
// Saludos
Responder Con Cita
  #12  
Antiguo 25-01-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Ahora que entiendo que el visor artesanal en el que estamos trabajando es típico de lo que haría un programador en C en donde 0 es false y distinto de cero es true. Si queremos algo más de estilo Pascal podríamos usar:

Código:
// bZorrilla es una variable booleana

ShowMessage(Chr((Ord('T') - Ord('F'))*Integer(bZorrilla) + Ord('F')));
que nos mostraría 'F' si la variable es false y 'T' si es true. Obviamente podemos sustituir 'T' y 'F' por 'Y' y 'N' ('Yes' o 'No') o por 'S' y 'N' ('Sí' o 'No') según convenga a nuestros intereses.

De hecho podemos omitir totalmente el uso de funciones auxiliares como IntToStr, Chr u Ord y utulizar exclusivamente moldeo de tipos:

Código:
ShowMessage(Char((Integer('T') - Integer('F'))*Integer(bZorrilla) + Integer('F')));
// Saludos

Última edición por roman fecha: 25-01-2004 a las 03:23:06.
Responder Con Cita
  #13  
Antiguo 25-01-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Perdón por el Off Topic, pero, es que Román, cada día se te va más la pelota

(de buen rollo, eh!!!! )

PD: me ha encantado tu solución
Responder Con Cita
  #14  
Antiguo 26-01-2004
Avatar de Investment
Investment Investment is offline
Miembro
 
Registrado: may 2003
Posts: 378
Poder: 21
Investment Va por buen camino
Como anda el patio...

Personalmente yo no iria mostrando mensajes porque al final vas a acabar un poco harto de tanto aceptar. Pondria una etiqueta en el formulario y le daria valor en cada procedimiento:

if leyendo then
lbLeyendo.caption:= 'Verdadero'
else
lbLeyendo.caption:= 'Falso'
__________________
Saludos,
Peter Investment
Responder Con Cita
  #15  
Antiguo 26-01-2004
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 24
kinobi Va por buen camino
Hola,

Aunque no es exactamente lo que se pide, también podría ser de utilidad el procedimiento Assert, muy utilizada en C:

Código:
  procedure Assert(expr : Boolean [; const msg: string]);
De la ayuda en línea (de Delphi):

"In Delphi code, use Assert as a debugging tool to test that conditions assumed to be true are never violated. Assert provides an opportunity to intercept an unexpected condition and halt a program rather than allow execution to continue under unanticipated conditions.

Assert takes a Boolean expression and an optional message string as parameters. If the Boolean test fails, Assert raises an EAssertionFailed exception. If a message string was passed to Assert, the exception object is created with that string. Otherwise it is created with a default string indicating that the assertion failed. The message is displayed along with the complete path, filename, and the line number on which Assert failed.
"

Saludos
Responder Con Cita
  #16  
Antiguo 26-01-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Tengo que decir a lo que propone Investment que yo lo utilizo cuando se trata por ejemplo de un bucle o se va mostrar em muchos sitios, incluso un memo y así luego podemos ir recorriendo los valores.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 02:02:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi