Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Zodiak98 en 25 Septiembre 2014, 22:34 pm



Título: Pregunta sobre parámetros en C++.
Publicado por: Zodiak98 en 25 Septiembre 2014, 22:34 pm
Hola, bueno es que me he estado preguntando qué pasa exactamente al pasar un parámetro como este:
Código
  1. MB_ICONINFORMATION | MB_OK
  2.  

Por ejemplo:
Código
  1. MessageBox( hwnd, (LPSTR) "Function Not Yet Implemented.",
  2.                              (LPSTR) szClassName,
  3.                              MB_ICONINFORMATION | MB_OK );
  4.  

¿Qué sucede exactamente? No sé si me logré explicar con exactitud, pero es que he visto muchos códigos fuentes y algunos reciben ese tipo de parámetros; por ende, supe que será de utilidad saberlo con exactitud. Espero respuestas, saludos. :)


Título: Re: Pregunta sobre parámetros en C++.
Publicado por: engel lex en 25 Septiembre 2014, 22:40 pm
normalmente usa el macro "define" para definirlo como constante y suplanta un valor numerico, aqui ej del messajeBox en msdn (http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505(v=vs.85).aspx) fijate que en la lista está el nombre y un valor en hexadecimal (0x....) pudieras perfectamente colocar ese valor, solo que se definen para que sean más "humanos"


Título: Re: Pregunta sobre parámetros en C++.
Publicado por: x64core en 25 Septiembre 2014, 22:56 pm
Hola, bueno es que me he estado preguntando qué pasa exactamente al pasar un parámetro como este:
Código
  1. MB_ICONINFORMATION | MB_OK
  2.  

Por ejemplo:
Código
  1. MessageBox( hwnd, (LPSTR) "Function Not Yet Implemented.",
  2.                              (LPSTR) szClassName,
  3.                              MB_ICONINFORMATION | MB_OK );
  4.  

¿Qué sucede exactamente? No sé si me logré explicar con exactitud, pero es que he visto muchos códigos fuentes y algunos reciben ese tipo de parámetros; por ende, supe que será de utilidad saberlo con exactitud. Espero respuestas, saludos. :)
Nada más son valores constantes que se pasan a la función usando el operador | y combinar todas las posibles banderas de entrada,
Luego en la función suelen usar el operador & para verificar posibles banderas y así determinar como propiedades/caracteristicas/comportamiento
debes ser usadas en el proposito de la función, en este caso el mensaje que sera mostrado en pantalla:
if(Value & MB_ICONINFORMATION)
{
     ....
}
y así.

normalmente usa el macro "define" para definirlo como constante y suplanta un valor numerico, aqui ej del messajeBox en msdn (http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505(v=vs.85).aspx) fijate que en la lista está el nombre y un valor en hexadecimal (0x....) pudieras perfectamente colocar ese valor, solo que se definen para que sean más "humanos"
engel lex, eso no tiene nada que ver con la pregunta que hizo el usuario, él no pregunto acerca del uso de define ni algo
que ver:
Hola, bueno es que me he estado preguntando qué pasa exactamente al pasar un parámetro como este:
¿Qué sucede exactamente? ...


Título: Re: Pregunta sobre parámetros en C++.
Publicado por: engel lex en 25 Septiembre 2014, 22:58 pm
ahh sorry, había entendido que se refería a las definiciones, no a las operaciones