FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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
|
#2
|
||||
|
||||
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! |
#3
|
||||
|
||||
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:
|
#4
|
||||
|
||||
Cita:
¿Y esta nomenclatura tan artesanal? // Saludos |
#5
|
|||
|
|||
Cita:
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 ) |
#6
|
|||
|
|||
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
|
#7
|
||||
|
||||
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 |
#8
|
|||
|
|||
Cita:
|
#9
|
||||
|
||||
En cualquier versión de Delphi:
Código:
ShowMessage(IntToStr(Integer(VariableBooleana))); |
#10
|
||||
|
||||
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;
__________________
Guía de Estilo de los Foros Cita:
|
#11
|
||||
|
||||
Cita:
Cita:
|
#12
|
||||
|
||||
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'))); 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'))); Última edición por roman fecha: 25-01-2004 a las 03:23:06. |
#13
|
|||
|
|||
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 |
#14
|
||||
|
||||
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 |
#15
|
||||
|
||||
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]); "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 |
#16
|
||||
|
||||
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:
|
|
|
|