|
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
« 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
« 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
« 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. #include "Archivo.h" void Archivo::funcion() { dato=5; }
4
« 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
« 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:
6
« 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. int main() { int dim; cout << "Ingresa la dimension del vector" << endl; cin >> dim; // Supongamos que ingrese 10 int *vector = new int[dim]; // mi vector es de tamaño 10 for(int i=0;i < dim;i++) { cout << "Ingresa un numero" << endl; cin >> vector[i]; } for(int i=0;i < dim;i++) { cout << vector[i] << " "; } delete vector; return 0; }
7
« 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. int main() { int dim; cout << "Ingresa la dimension del vector" << endl; cin >> dim; // Supongamos que ingrese 10 int *vector = new int[dim]; // mi vector es de tamaño 10 for(int i=0;i < dim;i++) { vector[i] = i + i; cout << vector[i] << " "; } delete vector; return 0; }
8
« en: Lunes 20 de Septiembre de 2010, 21:25 »
Echale un ojo a keybd_event de WINAPI.
Saludos
9
« 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
« 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
« 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
« en: Sábado 7 de Agosto de 2010, 19:34 »
Aqui te pongo un pequeño ejemplo del manejo de strings. char* funcion(char *cadena) { return cadena; } int main() { char *str = "Welcome."; cout << funcion(str); return 0; }
Basicamente para pasar strings como paremetros o como valor devuelto por una funcion es char*.
13
« 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
« 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. #include <windows.h> class aaa { public: aaa() { MSG msg ; WNDCLASSEX wc = {0}; wc.cbSize = sizeof(WNDCLASSEX); wc.lpfnWndProc = aaa::DialogP; wc.hInstance = GetModuleHandle(NULL); wc.hbrBackground = GetSysColorBrush(COLOR_3DFACE); wc.lpszClassName = "DialogClass"; RegisterClassEx(&wc); CreateWindowEx(WS_EX_DLGMODALFRAME | WS_EX_TOPMOST, "DialogClass", "Dialog Box", WS_VISIBLE | WS_SYSMENU | WS_CAPTION , 100, 100, 200, 150, NULL, NULL, GetModuleHandle(NULL), NULL); while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } } static LRESULT CALLBACK DialogP( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) { aaa *bb = (aaa*)GetWindowLong(hwnd, GWL_USERDATA); return bb->DialogProc(hwnd, msg, wParam, lParam); } LRESULT CALLBACK DialogProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) { switch(msg) { case WM_CREATE: { bhwnd = CreateWindow("BUTTON", "AAA", WS_VISIBLE | WS_CHILD , 50, 50, 80, 25, hwnd, (HMENU) 1, NULL, NULL); SetWindowText(bhwnd, "DDD"); } break; case WM_COMMAND: DestroyWindow(hwnd); PostQuitMessage(0); break; case WM_CLOSE: DestroyWindow(hwnd); PostQuitMessage(0); break; } return DefWindowProc(hwnd, msg, wParam, lParam); } private: HWND bhwnd; }; int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { aaa *nn = new aaa(); delete nn; return 0; }
Saludos
15
« 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]
|
|
|