• Jueves 31 de Julio de 2025, 04:32

Mostrar Mensajes

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


Mensajes - solarin

Páginas: [1] 2
1
C/C++ / Re: Dudas Sobre Punteros
« en: Martes 13 de Noviembre de 2007, 12:03 »
Muchisimas gracias.

2
C/C++ / Dudas Sobre Punteros
« en: Martes 13 de Noviembre de 2007, 11:45 »
Si tengo el siguiente puntero :
Código: Text
  1.  
  2. unsigned int * pointer;
  3.  
  4.  
si realizo
Código: Text
  1.  
  2. pointer++;
  3.  
  4.  

cuantos bytes estoy avanzando?
 -El tamaño del unsigned int, simplemente un byte, 4 ?


Por otro lado, lei que no es seguro para un metodo devolver un puntero a un objeto que a sido creado en la pila. Pero no me quedo para nada claro el xq. Alguien me podria resolver la duda?

Gracias.

3
Programación de Videojuegos / Re: Generador De Caras Aleatorio
« en: Viernes 12 de Enero de 2007, 12:11 »
Gracias a los 2. Este fin de semana me miro la lib. Os cuento la experiencia la semana que viene. (por fin es viernes!!  :D  )

4
Programación de Videojuegos / Re: Generador De Caras Aleatorio
« en: Jueves 11 de Enero de 2007, 17:47 »
Si el problema no es moverme, el problema es hacia donde. Crees que C# puede ser la mejor opcion? Ese es un principio. Solo queria algun consejo sobre que lenguaje o tecnologia es mejor usar.

Gracias por el consejo. Mirare la libreria que mencionas.

5
Programación de Videojuegos / Re: Generador De Caras Aleatorio
« en: Jueves 11 de Enero de 2007, 14:49 »
La idea es tener como producto final un conjunto de unas 10.000 caras diferentes. Todas con la misma silueta, pero con diferentes ojos, pelo, boca, nariz , color, etc

Las caras no han de ser de personas reales, es decir son dibujadas.

Como decia, lo primero que se me ocurre, es crear un conjunto de .jpg de p.e 10 tipos de ojos, 10 de pelo, 10 de bocas y 10 de narizes. Combinarlas de manera aleatoria y con cada conjunto de boca-ojos-pelo-nariz, crear una cara.

La pregunta seria:

que lenguaje/software/tecnica me recomendarias para crear este generador de caras. Es decir, con que lo tendre mas facil para unir imagenes. La velocidad no es problema.

Alguna clase/lib que me pueda ayudar a juntar estas imagenes, o recomendais directamente crear una tabla i llenarla con los diferentes .jpg.

He programado bastante en C++ pero no he tocado casi nada visual o con imagenes.

Un saludo.

6
Programación de Videojuegos / Generador De Caras Aleatorio
« en: Jueves 11 de Enero de 2007, 11:13 »
Hola a tod@s,

Necesitaria crear un generador de caras aleatorio. Que lenguajes de programacion i/o tecnicas me recomendariais usar.

Asi de forma rapida se me ocurre generar diferentes tipos de ojos/pelo/nariz/barba etc i hacer un mix de manera aleatoria. Pero antes de empezar a capturar imagenes y guardarlas queria saber si alguien ya tiene alguna cosa parecida o que pudiera aprovechar.

gracias por todo.

7
C/C++ / Re: Trazas De Informacion En Modo Debug
« en: Jueves 23 de Noviembre de 2006, 12:59 »
Al final he usado la recomendacion de Eternal.

Por lo que hace a los mensajes que me salian, eran todo de numeros como si referenciaran a posiciones de memoria. Esto solo salia al cerrar la aplicacion.

8
C/C++ / Trazas De Informacion En Modo Debug
« en: Miércoles 22 de Noviembre de 2006, 12:04 »
Buenas,

Estoy intentado que mis trazas (tipo "cout" o "printf") sólo aparezcan en modo debug. Para ello estoy usando la macro _rpt0. Pero al cerrar la aplicacion, se me generan muchos mensajes q no tengo ni idea de donde salen.

Alguien ha usado anteriormente esta macro? alguna idea de evitar esta clase de mensajes al cerrar la aplicacion?

gracias.

9
C/C++ / Reseteo De Alarmas
« en: Miércoles 6 de Septiembre de 2006, 09:16 »
buenas,

Necesito usar alarmas para el programa que estoy desarrollando. He estado mirando el timesetevent y los timers en general.

La pregunta es: Como puedo resetear el contador de un timer antes que este llegue a su fin, y que vuelva a empezar?

Por lo que he visto puedes hacer cosas una vez el timer a expirado.

El timer lo necesito para un control de alarmas. Tengo que recivir datos cada 20ms, si no tengo los datos (el timer expira), genero un error. Pero si recibo datos, deberia resetear el timer para que vuelva a empezar a contar los 20ms.

Supongo que una opcion seria comprobar , una vez ha saltado el timer, que durante los 20ms he recivido info, si la tengo, reiniciar el timer y si no la tengo generar error. Pero esto no es exactamente lo mismo que resetear el timer. Ya que puedo tener durante los 20ms mas de una llegada de info.

Gracias por la ayuda.

10
C/C++ / Re: Vector De Bits
« en: Miércoles 6 de Septiembre de 2006, 09:05 »
gracias, es lo justo q queria  :P

11
C/C++ / Vector De Bits
« en: Martes 5 de Septiembre de 2006, 18:24 »
Estoy intentando implementar el calculo de CRC. Para ello necesito un vector con todos los bits del mensaje para poder hacer la division con el polinomio generador.

Los mensajes que estoy tratando son entre 130 ~ 154 bits. Como se define/crea en C++ un array de bits?

Gracias.

12
C/C++ / Re: Monitorizar Puerto Com1
« en: Lunes 28 de Agosto de 2006, 16:27 »
No veo donde tengo el error:

Código: Text
  1.  
  2. void CSerialPort::ProcessTX()
  3. {
  4.    int r;
  5.    DWORD bytes_written = 0;
  6.    CBuffer bufferTx;
  7.      
  8.    CSingleLock LockTX(&mutex[TX]);
  9.  
  10.    while(comPort != INVALID_HANDLE_VALUE)
  11.    {
  12.  
  13.       LockTX.Lock();  
  14.     if(data[TX].ind > 0)
  15.     {
  16.       memcpy(&bufferTx,&data[TX],sizeof(CBuffer));
  17.           data[TX].ind = 0;
  18.       LockTX.Unlock();
  19.      
  20.       r = WriteFile (comPort, bufferTx.buffer, bufferTx.ind, &bytes_written, &overlapped[TX]);
  21.      
  22.       WaitForSingleObject (event[TX], INFINITE);
  23.      
  24.       if(bytes_written > 0)
  25.       {
  26.       logfromSerial = "write file ok \r\n";
  27.       logt=1;
  28.       }else
  29.       {
  30.         logfromSerial = "error writting in port \r\n";
  31.         logt=1;
  32.       }
  33.    
  34.     }
  35.     else
  36.     {  
  37.     LockTX.Unlock();
  38.     ResetEvent(event[TX]);
  39.     WaitForSingleObject (event[TX], 1);
  40.     }  
  41.    }
  42. }
  43.  

Pero al final bytes_written siempre es 0, es decir no escribe na de na. Ves alguna cosa rara?

13
Visual C++ / Re: Problemas Al Generar El .pdb
« en: Lunes 28 de Agosto de 2006, 15:47 »
nada...nada....  un fantastico checkbox que no tenia puesto.... :whistling:  :whistling:

14
Visual C++ / Problemas Al Generar El .pdb
« en: Lunes 28 de Agosto de 2006, 15:24 »
Estoy usando el VS6 (siiii es muuu viejoo), y no me genera el fichero .pdb, con lo que no puedo hacer un debug de mi programa. Lo tengo puesto que me compile en modo debug pero no hay manera. Al intentar debugar me sale el siguiente error (logico):

Citar
Loaded 'D:\CMS\Debug\CMS.exe', no matching symbolic information found.

Alguna idea? Tengo que configurar alguna cosa mas para que se me genere el .pdb? puedo generar yo este fichero?

Gracias.

15
C/C++ / Re: Puntero This
« en: Lunes 28 de Agosto de 2006, 10:31 »
Gracias por la respuesta, pero el numero de clases hijas es realmente muy alto. Al final he encontrado la solucion en la docu de msdn.

Código: Text
  1.  
  2. // expre_typeid_Operator.cpp
  3. // compile with: /GR /EHsc
  4. #include <iostream>
  5. #include <typeinfo.h>
  6.  
  7. class Base {
  8. public:
  9.    virtual void vvfunc() {}
  10. };
  11.  
  12. class Derived : public Base {};
  13.  
  14. using namespace std;
  15. int main()
  16. {
  17.    Derived* pd = new Derived;
  18.    Base* pb = pd;
  19.    cout << typeid( pb ).name() << endl;   //prints "class Base *"
  20.    cout << typeid( *pb ).name() << endl;   //prints "class Derived"
  21.    cout << typeid( pd ).name() << endl;   //prints "class Derived *"
  22.    cout << typeid( *pd ).name() << endl;   //prints "class Derived"
  23.    delete pd;
  24. }
  25.  
  26.  
  27.  


importante es declarar una funcion virtual en la clase padre i usar la opcion /GR para el compilador.

Gracias por la ayuda igualmente.

16
C/C++ / Re: Error Al Devolver Un String
« en: Lunes 28 de Agosto de 2006, 09:12 »
Gracias a todos por la ayuda. Al final , como siempre, fue error tonto total. Estoy usando el patron singleton, pero no tenia inicializada la instancia, con lo que me hacia cosillas raras como esta. Gracias otra vez por las molestias.

17
C/C++ / Re: Error Al Devolver Un String
« en: Lunes 28 de Agosto de 2006, 08:29 »
Cita de: "JuanK"
Seria bueno que mostraras desde donde y como estas llamado a
A::StringToLogger
En la misma clase A, tengo el siguiente metodo

Código: Text
  1.  
  2. void A::NotifyWarningMessage(MessagesNotifier_Client* client, CMessage *msg)
  3. {
  4.   string msgToLogger = GenerarString(client,msg);
  5.   Logger_Impl *logger = new Logger_Impl();
  6.         logger = static_cast<Logger_Impl*>(logger->GetInstance());
  7.   msgToLogger = GenerarStringParaLogger(client,msg);
  8.   logger->NotifyWarningMessage(msgToLogger);
  9. }
  10.  
  11.  

Para mas informacion , pongo el codigo desde donde llamo a la funcion A::NotifyWarningMessage



//MessagesNotifier_Client.cpp

Código: Text
  1.  
  2. #include "Sb_Ncb/GE/MessagesNotifier_Client.h"
  3.  
  4. MessagesNotifier_Client::MessagesNotifier_Client()
  5. {
  6.   theMessagesNotifier_Component = new A;
  7.   theMessagesNotifier_Component=static_cast<A*>(theMessagesNotifier_Component->GetInstance());
  8. }
  9.  
  10. void MessagesNotifier_Client::NotifyWarningMessage(MessagesNotifier_Client* theNotifier ,CMessage* msg)
  11. {
  12.  
  13.         theMessagesNotifier_Component=static_cast<MessagesNotifierLogger*>(theMessagesNotifier_Component->GetInstance());
  14.   theMessagesNotifier_Component->NotifyWarningMessage(theNotifier,msg);
  15.  
  16. }
  17.  
  18.  
  19.  
  20.  

//MessagesNotifier_Client.h

Código: Text
  1.  
  2.  
  3. using namespace std;
  4.  
  5.  
  6. class MessagesNotifier_Component;
  7.  
  8.  
  9. class MessagesNotifier_Client
  10. {
  11. public:
  12.  
  13.   MessagesNotifier_Client();
  14.  
  15.  
  16.      
  17.  
  18.  
  19.     void NotifyWarningMessage(MessagesNotifier_Client* theNotifier ,CMessage* msg);
  20.  
  21.  
  22. private:
  23.  
  24.     MessagesNotifierLogger* theMessagesNotifier_Component;
  25.  
  26. };
  27.  
  28.  
  29.  
  30.  
  31.  

18
C/C++ / Re: Error Al Devolver Un String
« en: Lunes 28 de Agosto de 2006, 08:12 »
Citar
¿msg de donde salio? Comproba que no sea un puntero erroneo (no inicializado) ... para resolver estos problemas suele ser una gran ayuda la depuracion.


msg->GenerateString() se genera bien. El problema es cuando tengo que asignar el string resultado a msgToLogger. msgToLogger es un string que tengo definido en el .h, pero cuando depuro , puedo ver que msgToLogger no se puede resolver y cuando asigno el resultado de msg->GenerateString() a msgToLogger da el error.

Para solucionarlo momentaneamente he vuelto a definir el string de la manera siguiente:

Código: Text
  1.  
  2. string msgToLogger = msg->GenerateString();
  3.  

Pero no tengo ni idea de porque tengo que volver a definir el string.

19
C/C++ / Error Al Devolver Un String
« en: Viernes 25 de Agosto de 2006, 10:25 »
Tengo el siguiente codigo:

(las variables estan definidas en el codigo, solo pongo la parte importante)
Código: Text
  1.  
  2. Class CMessage{
  3.  
  4. string CMessage::GenerateString()
  5. {
  6.  
  7.   string finalmessage;
  8.   stringstream s;
  9.   s << codeClass;
  10.     finalmessage = "CODE: "+s.str() + " - ";
  11.   //finalmessage = codeClass + "----";
  12.    finalmessage = finalmessage + messageClass + " - ";
  13.  
  14.   return finalmessage;
  15. }
  16.  
  17. }
  18.  
  19.  
Código: Text
  1.  
  2. //A.h
  3.  
  4. Class A {
  5.   public:
  6.      string StringToLogger(MessagesNotifier_Client* client, CMessage *msg)
  7.   private:
  8.      string msgToLogger;
  9. }
  10.  
  11.  
  12.  
Código: Text
  1.  
  2. // A.cpp
  3.  
  4.   string  A::StringToLogger(MessagesNotifier_Client* client,CMessage *msg)
  5.     {  
  6.   msgToLogger = msg->GenerateString(); // Error here.
  7.   invokerClass = typeid( client ).name();
  8.   msgToLogger = msgToLogger + invokerClass;
  9.   msgToLogger = msgToLogger + "----";
  10.   // Enviamos:  "Codigo_de_error" + ---- + "miss de error" + ---- + "Nombre de la classe"
  11.   return msgToLogger;
  12.  
  13.    }
  14.  
  15. }
  16.  
  17.  
  18.  

Dentro de la clase A, estoy llamando al metodo "GenerateString" de la clase CMessage. Este metodo tiene que devolver un string, y lo genera correctamente. El error aparece cuando el compilador assigna el valor devuelto por "GenerateString" a el string msgToLogger.

El error es el siguiente:


Access violation reading in 0xcdcdcdf1.
Access violation writting in 0xcdcdcdcd.


Alguna idea o sugerencia?

Gracias.

20
C/C++ / Re: Monitorizar Puerto Com1
« en: Jueves 24 de Agosto de 2006, 16:02 »
I si con la aplicacion abro el COM1, conecto un cable serie del 1 al 2. Puedo ahora mirar el dos con alguna cosilla de windows? (lo he intentado con "terminal virtual" pero no veo na..)

No he usado break points :( i al final he pasado a la marrulleria de los miss. Con esto he visto que la funcion writefile retorna lo que toca.

21
C/C++ / Re: Monitorizar Puerto Com1
« en: Jueves 24 de Agosto de 2006, 12:48 »
el problema lo tengo con los breakpoints  :(  . No consigo depurar el programa.

los problemas:

Loaded 'D:\prj\simulador HMS\Enviar Datos al sim\CMS\Release\CMS.exe', no matching symbolic information found.
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\mfc42.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\msvcrt.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\gdi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\user32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\mfc42loc.dll', no matching symbolic information found.
The program 'D:\prj\simulador HMS\Enviar Datos al sim\CMS\Release\CMS.exe' has exited with code 0 (0x0).

22
C/C++ / Monitorizar Puerto Com1
« en: Jueves 24 de Agosto de 2006, 12:29 »
Tengo un programa que envia (o deberia) enviar datos a traves de uno de los puertos serie.

Qual es la mejor manera de mirar si estoy realmente enviado alguna cosa? Es decir, hay alguna manera en windows de monitorizar lo que se envia por los puertos serie (COM1, COM2)?

23
Visual C++ / Re: No Matching Symbolic Information Found
« en: Jueves 24 de Agosto de 2006, 12:15 »
Estoy compilando el debug, pero donde puedo mirar (VS 6) la linea de comandos que esta generando?

gracias

24
Visual C++ / No Matching Symbolic Information Found
« en: Jueves 24 de Agosto de 2006, 11:48 »
Tengo desarrollado un programa, que compila y se ejecuta bien. El problema es que no hace lo que tiene que hacer... :whistling:

Pero cuando me pongo a debugar, me sale un miss diciendo que todos mis breakpoints van a ser desabilitados y los siguientes miss de error:

Loaded 'D:\CMS\Debug\CMS.exe', no matching symbolic information found.
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.
Loaded symbols for 'C:\WINDOWS\system32\MFC42D.DLL'
Loaded symbols for 'C:\WINDOWS\system32\MSVCRTD.DLL'
Loaded 'C:\WINDOWS\system32\gdi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\user32.dll', no matching symbolic information found.
Loaded symbols for 'C:\WINDOWS\system32\MFCO42D.DLL'
Loaded 'C:\WINDOWS\system32\mfc42loc.dll', no matching symbolic information found.
The program 'D:\CMS\Debug\CMS.exe' has exited with code 0 (0x0).

Estoy usando Visual C++ 6 y windows.

Alguna idea de como puedo arreglar esto. Intentar hacer que el programa tire sin debug... es como una locura ... :(

25
C/C++ / Timers En C++?
« en: Miércoles 23 de Agosto de 2006, 10:20 »
Estoy programdo un simulador para un driver. Basicamente voy reciviendo tramas y actuo en consecuencia. Tengo una trama que me obliga durante los siguientes 3 segundos a mantener unos valores (aunque sigo reciviendo tramas). Como me puedo montar un timer d 3 secs?


Gracias por todo.

Páginas: [1] 2