Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ivancea96

#411
Programación C/C++ / Re: Problema con GTK y C
27 Julio 2017, 04:54 AM
La función letras es incorrecta, el retorno debe ser "char*", no "char". ¿Lo has cambiado?
#412
Programación C/C++ / Re: Problema con GTK y C
27 Julio 2017, 03:58 AM
No del todo:

Cita de: ivancea96 en 27 Julio 2017, 01:29 AM
Una cadena no es un char. Es un char*. Puntero a char, no un solo char. Tendrás que cambiar el retorno de la función


Es decir:

char* letras()
#413
Programación C/C++ / Re: Problema con GTK y C
27 Julio 2017, 01:29 AM
Tienes varios errores importantes en estos códigos.

char letras(void)
{
      char a;
      a = "hola amigos";
      return a;
}

Una cadena no es un char. Es un char*. Puntero a char, no un solo char. Tendrás que cambiar el retorno de la función y la variable "a" (o, simplemente, cambiarlo por return "hola amigos";.

Luego:

void texto_label(void)
{
       char text[] = "hola como estan";
}

gtk_label_set_text (GTK_LABEL(label), text);

No es posible que accedas a la variable "text" desde fuera de la función. No sé en qué contexto haces eso.

En cualquier caso, para próximos problemas, pon el error. El error da toda la información necesaria para resolver el problema. El error también dirá en qué líneas ocurre, así que es interesante que nos digas en qué línea te lo daba.
#414
Pues tal y como lo pusiste al principio:
Cita de: KINGARZA en 26 Julio 2017, 09:44 AM
Por ejemplo, se que para acceder al primer elemento es:
Código (cpp) [Seleccionar]

int a = (*Cola.begin()).first;


Para el segundo elemento es:
Código (cpp) [Seleccionar]

int a = (*Cola.begin()).second.first;


Y etc. Es un pair dentro de un pair dentro de un pair (...).

Teniendo:
Código (cpp) [Seleccionar]
pair<int, pair<int, pair<int, pair<int, int> > > > &var = (*Cola.begin());

Sabemos que:
Código (cpp) [Seleccionar]
var.first == int
var.second == pair<int, pair<int, pair<int, int> > >
var.second.first == int
var.second.second == pair<int, pair<int, int> >
var.second.second.first == int

Y etc. Simplemente fíjate en qué es cada miembro. El primer second retorna un XXXXX. El segundo retorna un YYYYY.

Y acerca del tema de guardar los pair así, como verás, no es agradable. Has dicho que es una estructura de la forma: "d, x, y, x2, y2". Puedes hacer eso, una estructura o clase:
Código (cpp) [Seleccionar]
struct Estado{
    int d, x, y, x2, y2;
};


Así, en vez de var.second.second.first, usarías, por ejemplo, "var.y".
Ahora el problema es ordenarlo en el set. Para ello, el set requiere que el objeto tenga un operador "<". Así que hagámoslo:

Código (cpp) [Seleccionar]
struct Estado{
    int d, x, y, x2, y2;

    bool operator<(const Estado& estado){
        return d < estado.d;
    }
};


En fin, tanto pair como tuple son clases que se debería evitar utilizar salvo que sean realmente necesarias. Es mejor crear una clase con nombre y con campos cuyos nombres sean auto-explicativos.
#415
Te dicen que utilices WaitCommEvent Para esperar un evento del puerto serie. El puerto serie tiene un HANDLE si lo abres con CreateFile. ¿Cómo estás abriendo el puerto serie?

En fin, que WaitCommEvent espera hasta que hay un evento. Aquí el cómo funciona: https://msdn.microsoft.com/en-us/library/aa363479(VS.85).aspx
#416
Por el bien de todos drvy, pon la letra delante de cada opción en la encuesta please xDDDD
#417
Ya decía yo que estábamos discutiendo... y dando los mismos argumentos. Era extraño jaja
#418
Casi lo tenías :D!
Código (java) [Seleccionar]
Runtime.getRuntime().exec()
El método exec retorna un Process. Lo puedes ver aquí: https://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html
Y bueno, el Process tiene estos métodos: https://docs.oracle.com/javase/7/docs/api/java/lang/Process.html
Te interesan los métodos getInputStream y getOutputStream. Una vez tengas el outputStream de tu primer proceso y el inputStream del segundo, puedes leer del input y escribirlo en el output.
Y luego supongo que querrás coger el output del segundo proceso para analizarlo o lo que quieras hacer con él.

En principio, así debería funcionar. Nunca hice esto en Java, así que si hay algún problema, coméntalo.
#419
Mm creo que no me entendiste bien. Dije "puedes pasar A C++", no "pasar DE C++" xD
Que puede aprender C++, vaya, estoy a favor de que aprenda C++.
#420
Cita de: engel lex en 26 Julio 2017, 20:36 PM
es cierto, pero yo recomendaría lo contrario... C++ al ser más alto nivel es más facil, a demás se parece más a los lenguajes modernos... y si quiere aprender las profundidades de los lios de memoria y el manejo, puede bajar a C

Dijo que ya sabe C. Lo que no sé, es a qué nivel.
Y bueno, he de decir que no es más fácil C++. Tiene un montón de cosas, desde templates hasta herencia, cosas importantes para aprender casi cualquier otro lenguaje.