• Domingo 10 de Noviembre de 2024, 23:49

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 - Radger

Páginas: [1]
1
C/C++ / Re: ¿Normalmente se mezcla C con C++?
« en: Viernes 15 de Octubre de 2010, 21:49 »
La verdad es que en la mayoria de los aspectos no importa q mezcles algo de codigo en C con C++, es mas al incluir iostream te dara acceso a muchas funciones en C, como puedes ver no es demasiado importante, en cuanto a alternativas que existen en C y C++ por ejemplo printf y cout, te recomiendo que uses siempre la alternativa de C++ suele tener ventajas.

Saludos

2
Visual C++ / Re: VALIDAR double
« en: Jueves 14 de Octubre de 2010, 14:10 »
Puedes guardar la entrada del usuario en un char* o std::string de esta manera el programa no se cerrara y solo tendrias que comprobar que la cadena tiene los datos que necesitas.

3
Visual C++ / Re: Problema principiante cargar modulo
« en: Miércoles 13 de Octubre de 2010, 19:45 »
Buenas

El problema del codigo que pusiste es que declaras 2 veces la clase, pon esto en el Archivo.cpp y deberia compilar.

Código: C++
  1.  
  2. #include "Archivo.h"
  3.  
  4. void Archivo::funcion()
  5. {
  6. dato=5;
  7. }
  8.  
  9.  

4
Visual C++ / Re: Problema principiante cargar modulo
« en: Martes 12 de Octubre de 2010, 20:43 »
Buenas

Veras las clases en c++ se distruyen en 1 archivo .cpp y otro .h. En el .h suele estar la declaracion de la clase y metodos y en el .cpp esta la definicion.

Por lo que para usar la clase casa tendrias que poner #include "casa.h" y ya podrias crear un objeto de casa.Si tienes la declaracion y definicion en el archivo cpp podras incluirlo tambien para usarlo en el main.cpp, aunque lo recomendable para tener el codigo ordenado es tener un .h y .cpp por clase.

Saludos

5
C/C++ / Re: me da error con una funcion de allegro
« en: Sábado 9 de Octubre de 2010, 02:21 »
Hola

No se nada sobre allegro por lo que posiblemente que equivoque, pero creo que el problema es que buffer no lo inicializas osea apunta a cualquier sitio por lo que al hacer clear_bitmap(buffer) provoca ese fallo(eso si te refieres a la linea 21, por que pusiste la 31).

Prueba a declarar buffer asi BITMAP buffer y si  clear_bitmap requiere de un puntero pon lo siguiente:

Código: C++
  1. clear_bitmap(&buffer);
  2.  

6
C/C++ / Re: como asigno un valor a cada posicion de un vector de 10?
« en: Jueves 7 de Octubre de 2010, 14:01 »
El primer bucle se piden los datos y en el segundo se muestran, el resto es igual.

Código: C++
  1. int main()
  2. {
  3.      int dim;
  4.      cout << "Ingresa la dimension del vector" << endl;
  5.      cin >> dim; // Supongamos que ingrese 10
  6.      int *vector = new int[dim]; // mi vector es de tamaño 10
  7.  
  8.      for(int i=0;i < dim;i++)
  9.      {
  10.          cout << "Ingresa un numero" << endl;
  11.          cin >> vector[i];
  12.      }
  13.  
  14.      for(int i=0;i < dim;i++)
  15.      {
  16.          cout << vector[i] << " ";
  17.      }
  18.  
  19.      delete vector;
  20.  
  21.      return 0;
  22. }
  23.  

7
C/C++ / Re: como asigno un valor a cada posicion de un vector de 10?
« en: Miércoles 6 de Octubre de 2010, 20:08 »
Buenas

Otro fallo tambien es que inicializas el numero de elementos del vector en tiempo de ejecucion esto solo se puede hacer con un vector dinamico.

Código: C++
  1. int main()
  2. {
  3.      int dim;
  4.      cout << "Ingresa la dimension del vector" << endl;
  5.      cin >> dim; // Supongamos que ingrese 10
  6.      int *vector = new int[dim]; // mi vector es de tamaño 10
  7.  
  8.      for(int i=0;i < dim;i++)
  9.      {
  10.          vector[i] = i + i;
  11.          cout << vector[i] << " ";
  12.      }
  13.  
  14.  
  15.      delete vector;
  16.  
  17.      return 0;
  18. }
  19.  

8
Visual C++ / Re: ¿Hay algun comando para que se "pulsen" las teclas autom?
« en: Lunes 20 de Septiembre de 2010, 21:25 »
Echale un ojo a keybd_event de WINAPI.

Saludos

9
C/C++ / Re: Error Dev-c++
« en: Martes 7 de Septiembre de 2010, 19:35 »
Dev c++ es bastante obsoleto hace mas de 5 años que esta abandonado, te recomiendo que pruebes Code::blocks.

Saludos

10
C/C++ / Re: Problema Winapi
« en: Miércoles 11 de Agosto de 2010, 13:13 »
No, no es el mismo el HWND que almaceno en la clase deja de ser valido, si lo intento usar para crear un boton por ej. el boton no se crea.La teoria que tengo es que una vez empieza el buble de mensajes, windows internamente crea un nuevo HWND para la ventana y el que tenia almacenado, que fue devuelto por CreateWindowEx deja de ser valido.

Saludos

11
Visual C++ / Re: Aplicacion Basica, funciona en Codeblocks no en VS2005
« en: Sábado 7 de Agosto de 2010, 22:58 »
Bueno eso ocurre por que tendras configurado el proyecto como Unicode.

Puedes ponerlo en multibyte en las propiedades del proyecto>General, tambien puedes hacer un cast a LPCWSTR.

Saludos

12
C/C++ / Re: duda con una funcion que devuelve una cadena
« en: Sábado 7 de Agosto de 2010, 19:34 »
Aqui te pongo un pequeño ejemplo del manejo de strings.

Código: C++
  1.  
  2. char* funcion(char *cadena)
  3. {
  4. return cadena;
  5. }
  6.  
  7. int main()
  8. {
  9. char *str = "Welcome.";
  10. cout << funcion(str);
  11.  
  12. return 0;
  13. }
  14.  
  15.  

Basicamente para pasar strings como paremetros o como valor devuelto por una funcion es char*.

13
C/C++ / Re: Problema Winapi
« en: Sábado 7 de Agosto de 2010, 05:02 »
Lo se hace dias que lo arregle, tambien el fallo era que no enviaba un puntero nulo con la instancia de la clase al llamar a Createwindowex.

Aunque una duda que me quedo, es porque el HWND que devuelve la funcion CreateWindowEx es distinto del que luego recibe el procedimiento ?, es mas el HWND que devuelve CreateWindowEx es valido hasta que empieza el bucle de mensajes, es algo que no termino de enterderlo.

Gracias por contestar.

Saludos

14
C/C++ / Problema Winapi
« en: Martes 3 de Agosto de 2010, 16:41 »
Buenas

Tengo un codigo que en teoria deberia cambiar el texto de un boton pero no hay manera, creo que el problema esta en el bhwnd ya que si uso un HWND creado en el procedimiento funciona pero si uso un HWND miembro de la clase no.

Código: C++
  1.  
  2. #include <windows.h>
  3.  
  4. class aaa
  5. {
  6. public:
  7.     aaa()
  8.     {
  9.         MSG  msg ;    
  10.  
  11.         WNDCLASSEX wc = {0};
  12.         wc.cbSize           = sizeof(WNDCLASSEX);
  13.         wc.lpfnWndProc      = aaa::DialogP;
  14.         wc.hInstance        = GetModuleHandle(NULL);
  15.         wc.hbrBackground    = GetSysColorBrush(COLOR_3DFACE);
  16.         wc.lpszClassName    = "DialogClass";
  17.         RegisterClassEx(&wc);
  18.  
  19.         CreateWindowEx(WS_EX_DLGMODALFRAME | WS_EX_TOPMOST, "DialogClass",
  20.             "Dialog Box", WS_VISIBLE | WS_SYSMENU | WS_CAPTION ,
  21.             100, 100, 200, 150, NULL, NULL, GetModuleHandle(NULL),  NULL);
  22.  
  23.         while(GetMessage(&msg, NULL, 0, 0))
  24.         {
  25.             TranslateMessage(&msg);
  26.             DispatchMessage(&msg);
  27.         }
  28.     }
  29.     static LRESULT CALLBACK DialogP( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam )
  30.     {
  31.         aaa *bb = (aaa*)GetWindowLong(hwnd, GWL_USERDATA);
  32.         return bb->DialogProc(hwnd, msg, wParam, lParam);
  33.     }
  34.     LRESULT CALLBACK DialogProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam )
  35.     {
  36.         switch(msg)  
  37.         {
  38.         case WM_CREATE:
  39.         {
  40.             bhwnd = CreateWindow("BUTTON", "AAA",    
  41.                 WS_VISIBLE | WS_CHILD ,
  42.                 50, 50, 80, 25,        
  43.                 hwnd, (HMENU) 1, NULL, NULL);  
  44.             SetWindowText(bhwnd, "DDD");
  45.         }
  46.         break;
  47.  
  48.         case WM_COMMAND:
  49.             DestroyWindow(hwnd);
  50.             PostQuitMessage(0);
  51.             break;
  52.  
  53.         case WM_CLOSE:
  54.             DestroyWindow(hwnd);
  55.             PostQuitMessage(0);
  56.             break;      
  57.  
  58.       }
  59.       return DefWindowProc(hwnd, msg, wParam, lParam);
  60.     }
  61. private:
  62.     HWND bhwnd;
  63. };
  64.  
  65. int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
  66. {
  67.     aaa *nn = new aaa();
  68.     delete nn;
  69.  
  70.     return 0;
  71. }
  72.  
  73.  

Saludos

15
C/C++ / Re: Duda de programación orientada a objetos
« en: Lunes 2 de Agosto de 2010, 11:23 »
Buenas

El problema es que no creas punteros.Prueba con:

vector<CPadre*> myVector;

myVector.push_back(new CHijo1() );
myVector.push_back(new CHijo2() );

myVector[1]->preHazCosas();

Saludos

Páginas: [1]