Foros del Web » Programación para mayores de 30 ;) » C/C++ »

switch C++ 2015 CLI

Estas en el tema de switch C++ 2015 CLI en el foro de C/C++ en Foros del Web. Hola: Aquí hay un ejemplo sobre switch - case que funciona bien con una sola letra. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C++: Ver original #include <stdio.h>   ...
  #1 (permalink)  
Antiguo 15/02/2016, 18:53
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 16 años, 10 meses
Puntos: 8
switch C++ 2015 CLI

Hola:

Aquí hay un ejemplo sobre switch - case que funciona bien con una sola letra.

Código C++:
Ver original
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.    char *buffer = "Any character stream";
  5.    int capa, lettera, nota;
  6.    char c;
  7.    capa = lettera = nota = 0;
  8.  
  9.    while ( c = *buffer++ )   // Walks buffer until NULL
  10.    {
  11.       switch ( c )
  12.       {
  13.          case 'A':
  14.             capa++;
  15.             break;
  16.          case 'a':
  17.             lettera++;
  18.             break;
  19.          default:
  20.             nota++;
  21.       }
  22.    }
  23.    printf_s( "\nUppercase a: %d\nLowercase a: %d\nTotal: %d\n",
  24.       capa, lettera, (capa + lettera + nota) );
  25. }

https://msdn.microsoft.com/es-es/lib...or=-2147217396

Como puede ver, usa la letra A y la a.

Mi código aquí abajo usa más letras en el case, parece ser que no me hace caso.
Código C++:
Ver original
  1. switch (Recibidos)
  2.             {
  3.             case "ON":
  4.                 panel1->BackColor = Color::Green;
  5.                 label_Lectura->Text = "Activado";
  6.                 pictureBox_Dibujo->Load("Led\\Led_rojo_encendido.png");
  7.                 Recibidos = "";
  8.                 break;
  9.  
  10.             case "OFF":
  11.                 panel1->BackColor = Color::Red;
  12.                 label_Lectura->Text = "Desactivado";
  13.                 pictureBox_Dibujo->Load("Led\\Led_rojo_apagado.png");
  14.                 Recibidos = "";
  15.                 break;
  16.             }

Usa case ON y OFF, ahí da fallos como este que me indica.

Gravedad Código Descripción Proyecto Archivo Línea
Error C2051 la expresión case no es una constante Entrada_Arduino_CPP_CLR_1 c:\users\usuario\documents\visual studio 2015\projects\entrada_arduino_cpp_clr_1\entrada_ar duino_cpp_clr_1\Form_Principal.h 61


Esto no le pasa nada a C# ni VB.

¿Hay solución para C++ 2015?

Saludos.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #2 (permalink)  
Antiguo 15/02/2016, 23:49
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: switch C++ 2015 CLI

C++ sólo permite usar switch con tipos enteros (char es un entero de 8 bits).

Lo más parecido a un switch con strings es una cadena de if-else.

Si las condiciones son bastante amplias siempre puedes usar un std::map<std::string,std::function> para realizar el mapeo y limpiar el código.

Otra opción es usar un enum

Código C++:
Ver original
  1. enum class Valores{ Off, On};
  2.  
  3. Valores var;
  4. switch (var)
  5. {
  6.   case Valores::On:
  7.     ...
  8.  
  9.   case Valores::Off:
  10.     ...
  11. }

Un saludo.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.
  #3 (permalink)  
Antiguo 16/02/2016, 09:42
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 16 años, 10 meses
Puntos: 8
Respuesta: switch C++ 2015 CLI



No me puedo creer que a estas alturas de la vida no se pueda hacer un buen switch como en C# y VB. Deberían mejorar este tipo de cosas pero ya, con razón que este lenguaje C++ me parece muy incómodo y requiere más tiempo programando.

Hice esto haber que tal.

Código C++:
Ver original
  1. enum class Valores { ON, OFF };
  2.  
  3.             Valores var;
  4.             switch (var)
  5.             {
  6.             case Valores::ON:
  7.                 panel1->BackColor = Color::Green;
  8.                 label_Lectura->Text = "Activado";
  9.                 pictureBox_Dibujo->Load("Led\\Led_rojo_encendido.png");
  10.                 Recibidos = "";
  11.                 break;
  12.  
  13.             case Valores::OFF:
  14.                 panel1->BackColor = Color::Red;
  15.                 label_Lectura->Text = "Desactivado";
  16.                 pictureBox_Dibujo->Load("Led\\Led_rojo_apagado.png");
  17.                 Recibidos = "";
  18.                 break;
  19.             }

No funciona al recibir datos desde el puerto serie porque los valores no le llega. La variable principal es esta al recibir datos.

Código C++:
Ver original
  1. // Utilizaremos un string como buffer de recepción.
  2.         String^ Recibidos;

Se me escapa algo.

¿Hay alguna manera de usar la variable Recibidos que dentro se almacena el ON y OFF que debe detectar el switch?

Debo mirar el map, nunca lo he usado, a lo mejor se puede hasta mejor. Deja coger el truco.
https://msdn.microsoft.com/en-us/library/s44w4h2s.aspx

Saludos.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #4 (permalink)  
Antiguo 16/02/2016, 10:09
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: switch C++ 2015 CLI

Cita:
Iniciado por REHome Ver Mensaje
No me puedo creer que a estas alturas de la vida no se pueda hacer un buen switch como en C# y VB. Deberían mejorar este tipo de cosas pero ya, con razón que este lenguaje C++ me parece muy incómodo y requiere más tiempo programando.
C++ es un lenguaje de programación de bajo nivel, a diferencia de Java y C#. Por otro lado C++ nació allá por 1980 mientras que Java lo hizo en 1995 (15 años más tarde) y .Net hizo lo propio allá por el 2000 (20 años después).

El contexto existente cuando nació C++ era totalmente diferente al actual... tanto la programación como las capacidades HW distaban mucho de parecerse a lo que conocemos hoy en día.

C++ es mejor en:
  • Más rapidez (no podrás optimizar un código en C# o en Java que pueda hacer sombra a C++)
  • Más versatilidad (intenta hacer correr .NET en un sistema embebido... C++ puede funcionar practicamente en cualquier sistema. Entre otras cosas consume muuuuuchos menos recursos)

Java y .NET son mejores en:
  • Productividad: Son lenguajes más modernos, de más alto nivel, con una librería básica infinitamente más completa... picar código es mucho más rápido. Esto es innegable.

Cada lenguaje tiene su utilidad. Si bien es cierto que opino que C++ se ha quedado algo obsoleto en algunos puntos también es verdad que lleva tres estándares nuevos en menos de 10 años.

Ah, y no hay que perder de vista que detrás de Java y de .NET hay dos importantes tecnológicas que aportan recursos económicos que no va a ver la gente de C++ en milenios... esto también puede tener sus cosas malas, como que las versiones de Java y .NET se mueven más por motivos económicos que prácticos.

Cita:
Iniciado por REHome Ver Mensaje
No funciona al recibir datos desde el puerto serie porque los valores no le llega. La variable principal es esta al recibir datos.
En ese código usas var sin haberlo inicializado.


Cita:
Iniciado por REHome Ver Mensaje
¿Hay alguna manera de usar la variable Recibidos que dentro se almacena el ON y OFF que debe detectar el switch?
Tu por el puerto serie vas a recibir datos... esos datos pueden ser binarios, números, cadenas de caracteres... cada cosa significará algo distinto y eso es algo que forma parte del protocolo de comunicación entre tu app y lo que haya al otro extremo del puerto serie.

Si tu recibes un dato que quieres convertir a ON y OFF entiendo que pueden darse dos circunstancias:
  • El dato en cuestión únicamente admite dos valores posibles (supongamos A y B)
  • Si el dato es inferior (o superior) a X se presupone OFF, ON en caso contrario

Este formateo lo debes hacer a mano... y eso no te lo quitas ni tan siquiera en C# o JAVA (mucho ojo con usar datos externos sin validar dentro de tu aplicación), pero no es que vaya a ser nada del otro mundo:

Código C++:
Ver original
  1. Valores valor;
  2. if( *Recibidos == X ) // Sustituye X por el char que identifique al on
  3.  valor = Valores::On;
  4. else
  5.  valor = Valores::Off;

Cita:
Iniciado por REHome Ver Mensaje
Debo mirar el map, nunca lo he usado, a lo mejor se puede hasta mejor.
La gracia del mapa está en generar el mapeo una sola vez (por ejemplo al arrancar la conexión con el puerto serie) en vez de tener que generarlo cada vez que quieres comprobar el estado On/Off.

Un saludo.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.
  #5 (permalink)  
Antiguo 16/02/2016, 11:05
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 16 años, 10 meses
Puntos: 8
Respuesta: switch C++ 2015 CLI

Hola:

Muy buena explicación. Es cierto que el C se usa por todas partes, incluido para microcontroladores, eso si, también se usa mucho el asm para microcontroladores. Este lenguaje de asm si se me da bien ya que lo estudié a fondo, se puede hace un programa en C y ponerle bloques en asm para tener más rendimiento.

De forma internacional, bajo mi punto de vista, usar el switch como se usa en C# de forma cómoda, poner de de acuerdo en crear un lenguaje de C++ de bajo nivel moderno, en muhcos aspectos. Con razón que muchos se pasan en el mundo empresarial el VB y C#.

Eso que en la universidad un amigo está hasta la snarices de hacer win32, estoy conél probando esto y casi me entra depresión y estrés postraumático que necesita tener documentación que ya tenemos en pdf sobre hasta crear ventanas y los botones, una pasada, pero esto es otra historia.

Micrisoft sacó un lenguaje C# nuevo en su época, luego le dio por el Visual F# que al probarlo de visual no tiene nada, solo consola.

¿Para qué F# habiendo C#?

https://www.youtube.com/watch?v=Tbe-b941xlw

Funciona.
Código C++:
Ver original
  1. private: Void Actualizar(Object^ sender, EventArgs^ e)
  2.         {
  3.             if (Recibidos == "ON")
  4.             {
  5.                 panel1->BackColor = Color::Green;
  6.                 label_Lectura->Text = "Activado";
  7.                 pictureBox_Dibujo->Load("Led\\Led_rojo_encendido.png");
  8.                 Recibidos = "";
  9.             }
  10.             else
  11.             {
  12.                 panel1->BackColor = Color::Red;
  13.                 label_Lectura->Text = "Desactivado";
  14.                 pictureBox_Dibujo->Load("Led\\Led_rojo_apagado.png");
  15.                 Recibidos = "";
  16.             }
  17.         }
Funciona.
Código C++:
Ver original
  1. private: Void Actualizar(Object^ sender, EventArgs^ e)
  2.         {
  3.             if (Recibidos == "ON")
  4.             {
  5.                 panel1->BackColor = Color::Green;
  6.                 label_Lectura->Text = "Activado";
  7.                 pictureBox_Dibujo->Load("Led\\Led_rojo_encendido.png");
  8.                 Recibidos = "";
  9.             }
  10.            
  11.             if (Recibidos == "OFF")
  12.             {
  13.                 panel1->BackColor = Color::Red;
  14.                 label_Lectura->Text = "Desactivado";
  15.                 pictureBox_Dibujo->Load("Led\\Led_rojo_apagado.png");
  16.                 Recibidos = "";
  17.             }
  18.         }

¡¡¡Por fiiiiiiiiiiiiiinnnnnnnnnn!!!

Muchas gracias por la ayuda y la explicación mi muy distinguido amigo.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #6 (permalink)  
Antiguo 16/02/2016, 12:01
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: switch C++ 2015 CLI

Cita:
Iniciado por REHome Ver Mensaje
¿Para qué F# habiendo C#?
Programación funcional?
__________________
Aviso: No se resuelven dudas por MP!
  #7 (permalink)  
Antiguo 16/02/2016, 12:10
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Respuesta: switch C++ 2015 CLI

Hay que tener algo en cuenta antes de hablar de switch.

En programas de gran tamaño un switch-case normalmente no es tan útil como creemos. Mas que nada por las "buenas practicas" del desarrollo. Puedes leer Clean Code de Robert C. Martin. En su libro, que incluso va enfocado a las buenas practicas con Java, te dice como switch case normalmente se sustituye con polimorfismo. Mas que nada esto es porque un switch, como tal no te dice nada. En cambio un if-else, es bastante mas claro en la intención.

A pesar de que C++ ha tenido nuevos estandares y varias revisiones, es evidente que no modificaran pronto el comportamiento del switch-case. A pesar de que el lenguaje no es cómodo en un principio, podrás eventualmente darte cuenta del nivel de control que te deja tener. Nada de recolector de basura, nada de maquinas virtuales. Puro control.
Efectivamente Java y C# tienen una libreria muuuy extensa. Sin embargo, tanto el nuevo estandar C++14 como la librería boost dan toda una variedad de utilidades que pueden rivalizar con las de otros lenguajes.

Tenle paciencia a C++ y veras que tiene mucho que decir. Tampoco dejes C# o Java, para sus propositos, son también excelentes lenguajes de programacion.

Saludos
  #8 (permalink)  
Antiguo 16/02/2016, 13:50
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 16 años, 10 meses
Puntos: 8
Respuesta: switch C++ 2015 CLI

El C me lo como con los microcontroladores, se una mucho, pero si funcina el switch muy bien y en PC no.

De todas maneras seguirá siendo el rey como lenguaje de bajo nivel.

Java y C#, todo lo que sea máuina virtual, lo veo orientado a empresas, para electrónica C++.

Con el timepo mejorarán cosas en el C++ como el switch, que si esta instrucción lo inventaron, por algo será.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #9 (permalink)  
Antiguo 16/02/2016, 14:18
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: switch C++ 2015 CLI

@Instru Totalmente de acuerdo sobre el uso del switch. A medida que crece el desarrollo se hace poco mantenible. Es mejor usar otro tipo de soluciones más escalables.

Cita:
Iniciado por REHome Ver Mensaje
Java y C#, todo lo que sea máuina virtual, lo veo orientado a empresas, para electrónica C++.
Empresas grandes que trabajan con dispositivos electrónicos como máquinas de laboratorio y demás trabajan también con C#.

Cita:
Iniciado por REHome Ver Mensaje
Con el timepo mejorarán cosas en el C++ como el switch, que si esta instrucción lo inventaron, por algo será.
Si vas a esperar a que hagan eso, más vale que te compres una silla para no cansarte xD
__________________
Aviso: No se resuelven dudas por MP!
  #10 (permalink)  
Antiguo 16/02/2016, 14:21
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 16 años, 10 meses
Puntos: 8
Respuesta: switch C++ 2015 CLI

Hola:

Mejor no esperar. De todas maneras, inventarán otro lenguaje de programación completamente nuevo.

El cuanto de nunca acabar.

Saludos.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #11 (permalink)  
Antiguo 16/02/2016, 14:37
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Respuesta: switch C++ 2015 CLI

Investiga ya cuantos lenguajes de programación existen. Todo el tiempo surgen nuevos.
Sin embargo C++ lleva ya una larga vida. Aparte no deberías encasillar el uso de ciertos lenguajes.
Tanto Java como C# tienen buenas posibilidades en todos los ambitos (dispositivos moviles, microcontroladres, macro computadoras, etc).
LA diferencia radica en el contexto. Por ejemplo:
Java lo define Oracle. Osea que si Oracle secide quitar el switch, pum lo quita. Evidentemente es muy extremo. En general, Oracle escucha en su mayor parte a sus usuario para ver lo que necesitan.
Por otro lado C# es propietario de Microsoft. Microsoft decide como es el lenguaje y sólo lo puedes programar usando sus productos(Visual Sutdio, Visual Code).
Por otro lado C++, lo define un comite externo de personas que vienen de diferentes ambitos. Este comite se "sienta" dias y meses para ver si ponerle, cambiarle o hacerle algo nuevo C++ según la experiencia recolectada. Una vez que logran todos ponerse de acuerdo, se lanza un nuevo estandar. Ahora existen varios grupos encargados de hacer los compiladores de C++. Por eso mismo, tienes compiladores para todo tipo de plataformas.

La ventaja de lenguajes como C# o Java es que de cierta manera tienes un soporte de la compañia (si pagas). En cuanto a C++, no hay soporte privado, todo lo encuentras facilmente en internet, como este foro.

En fin. Para que veas la variedad puedes revisar excelentes lenguajes como Python el cual es muy sencillo de aprender y poderoso. Incluso hay una version que puede generar byte-code java. Checa también Ruby. Ambos lenguajes muy actuales, y muy poderosos.
Solo recuerda, los interpretes muy seguramente fueron hechos en C++ al igual que las máquinas virtuales.

Saludos
  #12 (permalink)  
Antiguo 16/02/2016, 14:58
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 16 años, 10 meses
Puntos: 8
Respuesta: switch C++ 2015 CLI

Gracias por los comentarios.

Siguiendo una cosa de C+, he guardado el proyecto dentro llamado Led con sus imágenes. Pero no he usado lo que he puesto en Recursos.



En C# es así:
Código C++:
Ver original
  1. pictureBox1.Image = Properties.Resources.Led_rojo_encendido;

He intentado imitarlo con sus :: y -> y que va, no lo he logrado.

Parece ser que está metido las imgagenes comprimido en un único archivo.

Ver zoom.

En España, el rey indicustible donde se usa mucho un lenguaje, por ahora es Java, aunque mi preferido es C#. Luego es Visual Basic, este si que nunca me ha gustado, nunca. Cosas de gustos.

https://www.youtube.com/watch?v=1JZnj4eNHXE

Saludos.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #13 (permalink)  
Antiguo 17/02/2016, 04:10
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 2 meses
Puntos: 3
Respuesta: switch C++ 2015 CLI

Cita:
Iniciado por REHome Ver Mensaje
Gracias por los comentarios.

Siguiendo una cosa de C+, he guardado el proyecto dentro llamado Led con sus imágenes. Pero no he usado lo que he puesto en Recursos.



En C# es así:
Código C++:
Ver original
  1. pictureBox1.Image = Properties.Resources.Led_rojo_encendido;

He intentado imitarlo con sus :: y -> y que va, no lo he logrado.

Parece ser que está metido las imgagenes comprimido en un único archivo.

Ver zoom.

En España, el rey indicustible donde se usa mucho un lenguaje, por ahora es Java, aunque mi preferido es C#. Luego es Visual Basic, este si que nunca me ha gustado, nunca. Cosas de gustos.

https://www.youtube.com/watch?v=1JZnj4eNHXE

Saludos.
Antes de nada, eso no es C++ puro, juraría que es Visual C++ y eso que quieres hacer seguro que es más fácil de lo que piensas. En C++Builder para eso que pretendes se usaría un ImageList el cual contendría todas las imágenes,lo asocias al compone te que necesita mostrar la imagen y luego solo tendrías que usar un índice para usar una de sus imágenes.
  #14 (permalink)  
Antiguo 17/02/2016, 09:10
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 16 años, 10 meses
Puntos: 8
Respuesta: switch C++ 2015 CLI

El programa que estoy haciendo es CLR, una imitiación de C++ puro ya que es de la plataforma .net si no estoy equivocado.

Perdón con la palabra, muchas personas me dicen que este C++ CLR es una copia barata del C++ purp y una gran basura.

¿Entonces para qué Microsoft hace estas cosas?

Cuando acabe todo, usaré para comparar el Visual C++ MFC, en el fondo es Win32 o conocido como WinAPI, este si que es complicado de narices. Como reto quiero hacer pruebas. Un amigo está dando WinAPI o Win32 en la universidad y no veas el estrés que siente. Me pasó sus pdf que le dieron de muchas páginas.

Gracias por los consejos, mejor lo dejo como está.

Saludos.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #15 (permalink)  
Antiguo 17/02/2016, 09:36
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: switch C++ 2015 CLI

Cita:
Iniciado por REHome Ver Mensaje
El programa que estoy haciendo es CLR, una imitiación de C++ puro ya que es de la plataforma .net si no estoy equivocado.

Perdón con la palabra, muchas personas me dicen que este C++ CLR es una copia barata del C++ purp y una gran basura.
La gente se acostumbra muchas veces a usar algo y no intentes sacarlos de ese nicho porque todo lo demás les parecerá una mierda.

Cuando salió el lenguaje ensamblador hubo gente que puso el grito en el cielo alegando básicamente que programar en ensamblador no era programar (eso de no poner las instrucciones con secuencias binarias era una basura)

Cuando salió el lenguaje C la gente no concebía que se pudiese programar el core de un sistema operativo con algo que no fuese ensamblador... "se pierde eficiencia", "pierdes el control de lo que estás haciendo", ...

Cuando han salido lenguajes de alto nivel, comunidades de C y compañía los han denostado alegando que eso no es programar... que para tener tantas facilidades te dediques a ver la tele...

y es la historia de la pescadilla que se muerde la cola.

Cita:
Iniciado por REHome Ver Mensaje
Cuando acabe todo, usaré para comparar el Visual C++ MFC, en el fondo es Win32 o conocido como WinAPI, este si que es complicado de narices. Como reto quiero hacer pruebas. Un amigo está dando WinAPI o Win32 en la universidad y no veas el estrés que siente. Me pasó sus pdf que le dieron de muchas páginas.
MFC no es WinAPI. MFC es una capa que se superpone encima de la api de windows. Si quieres programar directamente sobre la API te vas a aburrir a usar funciones tipo CreateWindowEx y a programar el ciclo de mensajes a mano. Piensa que la API de Windows no usa POO... es procedural...

Por otro lado, estudiar la API de Windows hoy en día no tiene demasiado sentido... es una condenada a muerte. Windows 8 en adelante implementan una nueva API que va a ser la empleada a partir de ahora... y no se parece en mucho a la vieja WinApi. Además es muy raro encontrar proyectos a realizar a tan bajo nivel... usar la MFC, Qt, wxWidgets o cualquier similar ahorra cientos de horas... vale que los curritos no valgamos demasiado, pero si se pueden ahorrar esas horas...

Un saludo.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.
  #16 (permalink)  
Antiguo 17/02/2016, 10:28
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: switch C++ 2015 CLI

Cita:
Iniciado por REHome Ver Mensaje
El programa que estoy haciendo es CLR, una imitiación de C++ puro ya que es de la plataforma .net si no estoy equivocado.
Te lo dije en otro hilo y te lo vuelvo a repetir. Antes de soltar siglas sin ton ni són, asegúrate de saber lo que son. CLR (Common Language Runtime) es el runtime que ejecuta a .NET independientemente del lenguaje de .NET que se use (F#, C#, VB.NET....).

Cita:
Iniciado por REHome Ver Mensaje
Perdón con la palabra, muchas personas me dicen que este C++ CLR es una copia barata del C++ purp y una gran basura.
Partiendo del punto anterior, C++ CLR no existe. Está lo que Microsoft ha llamado C++/CLI que es una implementación de C++ que corre bajo su máquina virtual y que se compila a MSIL. Esto hace que C++/CLI pueda hacer uso del framework de .NET. Así que lo de que es una "copia barata y una basura" sin aportar ningún razonamiento no es más que una afirmación gratuita que no dice nada.
__________________
Aviso: No se resuelven dudas por MP!
  #17 (permalink)  
Antiguo 17/02/2016, 11:14
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 16 años, 10 meses
Puntos: 8
Respuesta: switch C++ 2015 CLI

Hola:

En la universidad están dando WinAPI puro y duro. No entendemos el motivo pero tiene que hacer un proyecto y prácticas con WinAPI si o si, sobre la selección natural sobre ADN y con gráficos, tipo GDI+ por lo que me ha mostrado.

Desde que acabe, según él no quiere saber nada de API, si de Visual Studio .net

Saludos.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #18 (permalink)  
Antiguo 18/02/2016, 03:22
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 6 meses
Puntos: 204
Respuesta: switch C++ 2015 CLI

Cita:
Iniciado por REHome Ver Mensaje
Hola:

En la universidad están dando WinAPI puro y duro. No entendemos el motivo pero tiene que hacer un proyecto y prácticas con WinAPI si o si, sobre la selección natural sobre ADN y con gráficos, tipo GDI+ por lo que me ha mostrado.

Desde que acabe, según él no quiere saber nada de API, si de Visual Studio .net

Saludos.
Con todos mis respetos el profesor de esa asignatura no merece el puesto que ocupa.

No es de recibo enseñar algo que no es estándar, que está desfasado y que prácticamente nadie usa... esas enseñanzas sirven para... por decirlo educadamente, "nada".
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.
  #19 (permalink)  
Antiguo 18/02/2016, 10:35
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 16 años, 10 meses
Puntos: 8
Respuesta: switch C++ 2015 CLI

Cita:
Iniciado por eferion Ver Mensaje
Con todos mis respetos el profesor de esa asignatura no merece el puesto que ocupa.

No es de recibo enseñar algo que no es estándar, que está desfasado y que prácticamente nadie usa... esas enseñanzas sirven para... por decirlo educadamente, "nada".

Con todos sus respeto de esos alumnos, te dan la razón sin pensárselo dos veces.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #20 (permalink)  
Antiguo 20/02/2016, 15:58
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 2 meses
Puntos: 3
Respuesta: switch C++ 2015 CLI

Aprenderse el API de Windows sirve para programar solo en windows y además complicándose mucho la cosa. A veces es útil usar funciones del API para hacer ciertas cosas pero para todo es de locos. Para una cosa si que es muy útil, para realizar ingeniería inversa sobre aplicaciones windows ya que ahí si que puedes poner breakpoints en ciertas funciones que se usan para ciertas cosas. Por ejemplo, si un programa muestra un bocadillo que te dice que ha caducado pues los nbcadillos son ventanas con lo que se crean con CreateWindow y si pones un BP en esa función estarás muy cerca de la zona donde decide si caduca o no. Además te encuentras con que por ejemplo para VB la API es diferente del resto así que te tocaría también estudiar eso y para .net también hay cosas diferentes. Un lio la verdad.
  #21 (permalink)  
Antiguo 20/02/2016, 22:10
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 16 años, 10 meses
Puntos: 8
Respuesta: switch C++ 2015 CLI

Con razón en la época del Windows 95 los primeros programa que se hacía con API era un infierno y había muchos fallos de programación.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar

Etiquetas: char, cli, funcion, int, switch
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:39.