Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





MessageBox??? Para que???

Iniciado por Lucha, 12 de Julio de 2006, 12:09:42 AM

« anterior - próximo »

Lucha

¡Hola a todos!

Vengo del VB al C# y me he encontrado con muchos problemas. Uno de ellos es la utilización del MessageBox. Yo solía utilizar este control para ver el contenido de una variable en modo ejecución. Por ejemplo, en el metodo:

private void OnKeyDown(object sender, KeyEventArgs e)
       {
          MessageBox.Show(e.KeyValue);
       }


me devuelve el siguiente error:

Argument '1': cannot converto from 'int' to 'string'

¿Qué puedo hacer para poder ver en pantalla con un MessageBox el valor de la tecla pulsada en cada momento?

Gracias.

AbelNightroad

bel Nightroad (a.k.a. Lord Trancos)

[EX3]

Otro "Visual Basiquero" a la 6º potencia como yo :lol: Lucha, VB.NET no permite hacer autocasting de tipos de datos con las variables como mas o menos permitia de forma transparente VB6. En VB.NET si algo es String le tienes que pasar por narices un String (contando con que la clausula Option Strict esta activada, claro).

Para pasar a String todas los tipos de datos, en el caso de .NET, todas las 'clases' de datos tienen un metodo ToString(). Para realizar conversiones a otro tipo de dato cada clase de dato tiene sus propios metodos Parse() y TryParse():
Dim Var As Integer = Integer.Parse("0123")
Int Var = Int.Parse("0123");
Pero para globalizar el tema, en VB.NET tenemos la funcion CType(<tipo de dato al que queremos convertir>, <expresion a convertir>), en C# si no recuerdo mal es Convert(<tipo de dato al que queremos convertir>, <expresion a convertir>)
Dim Var As Integer = CType(Integer, "0123")
Int Var = Convert(Int, "0123");
Tambien puedes en C# hacer la chapuza de importar la libreria de compatibilidad con VB6 y tirar de las funciones de conversion de VB6: CStr(<expresion>), CInt(<expresion>), etc...

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

zupervaca

Solo queria indicarte que si quieres ver el contenido de una variable en tiempo de ejecucion lo mejor es que aprendas a poner puntos de ruptura y a depurar las aplicaciones.

Suerte!!

tamat

Lo mismo que te ha dicho ZuperVaca, un buen programador tiene que ser un buen debugador, aprender a usar los breakpoints en la linea adecuada es muy util, no solo podras ver el valor de dicha variable, sino tambien las de las demás, incluso podras cambiar el valor y reanudar la ejecución sin necesidad de recompilar.
Por un stratos menos tenso

fiero

A veces aparecen errores sólo en la versión "Release" del programa, entonces no se puede usar el debug, el MessageBox viene muy bien en estos casos para ver el valor de alguna variable. A veces también me he encontrado situaciones en las que quería ver el estado de una variable sin que el programa perdiera el foco. Siempre viene bien tener un MessageBox a mano :)

un saludo
www.videopanoramas.com Videopanoramas 3D player

vincent

Un ficherillo de logs tampoco biene mal...
Desarrollo en .Net y metodologías http://devnettips.blogspot.com

bnl

Yo tambien utilizo ficheros de logs. Me parece lo mas util para rastrear errores en producción. En este entorno no puedes sacar a los usuarios ventanas con mensajes. En entorno web, no te valdría el msgbox si no el alert.

Tengo tambien un fichero de configuración que se puede cambiar "en caliente" donde indico si estoy en modo depuracion o no. Cuando la activo entonces escribo en el log muchisima información.
Mi web: http://www.brausoft.com/
No sabían que era imposible, así que lo hicieron.

Lucha

¡Gracias a todos!

He anotado todas vuestras respuestas.

Gracias a todos de corazón.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.