• Lunes 8 de Diciembre de 2025, 00:31

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

Páginas: [1] 2 3
1
Visual C++ / Re: Calculadora basica
« en: Jueves 28 de Abril de 2011, 18:07 »

2
Otros CLR / Re: Usar valor de String
« en: Lunes 17 de Enero de 2011, 17:14 »
No me agrada la sintaxis del codigo C++ de .NET  (opinion muy personal offtopic para este post)

3
Visual C++ / Re: Aplicaciones Debug - Release
« en: Viernes 12 de Noviembre de 2010, 23:44 »
Debes agregar la opcion /clr al compilador, buscas algo como "Common Language Runtime" en las propiedades del proyecto

http://msdn.microsoft.com/en-us/library ... 71%29.aspx

4
Visual C++ / Re: como programar el combobox
« en: Viernes 12 de Noviembre de 2010, 23:30 »
Es muy facil

Código: C++
  1. GetDlgItem(ID_TUCOMBO)->EnableWindow(FALSE);
  2.  
  3. GetDlgItem(ID_TUCOMBO)->EnableWindow(TRUE);
  4.  

5
C/C++ / Re: Duda Destructores C++
« en: Miércoles 21 de Julio de 2010, 19:10 »
Hola,

Solo para probar tu pregunta, escribi el codigo siguiente:

Código: C++
  1. #include <iostream>
  2. using namespace std;
  3. class Member
  4. {
  5.     string name ;
  6.     public:
  7.         Member(const char *n = "default")
  8.         {
  9.             name = n;
  10.             cout<<"Member "<<name<<" init"<<endl;
  11.         }
  12.         ~Member()
  13.         {
  14.             cout<<"Member "<<name<<" destroy"<<endl;
  15.         }
  16. };
  17.  
  18. class A
  19. {
  20.     Member m1;
  21.     Member *m2;
  22.     public:
  23.     A()
  24.     {
  25.         m2 = new Member("dynamic");
  26.         cout<<"A class init"<<endl;
  27.     }
  28.     ~A()
  29.     {
  30.         cout<<"A class destroy"<<endl;
  31.     }
  32. };
  33.  
  34. int main(int argc, char *argv[])
  35. {
  36.     A a;
  37. }
  38.  

El resultado es:

Código: Text
  1. ivancp@ivancp-ubuntu:~/projects/source$ ./destructor
  2. Member default init
  3. Member dynamic init
  4. A class init
  5. A class destroy
  6. Member default destroy
  7.  

En conclusion: Cuando la clase contenedora se destruye, tambien llama a los destructores de los miembros no punteros, por que si lo hiciera sería un gran problema para las referencias a otras clases y demas artificios que solemos hacer con los punteros, por lo que no es una falla sino una ventaja por que nos permite tener el control total del codigo que escribimos.

Para controla la variable Member *m2 , es necesario liberar la memoria de dicha variable en el destructor de la clase contenedora, de tal modo que queda asi:

Código: C++
  1.     ~A()
  2.     {
  3.         delete m2;
  4.         cout<<"A class destroy"<<endl;
  5.     }
  6.  
  7.  
Saludos.

6
Visual C++ / Re: Manejo de Mensajes: MFC
« en: Viernes 9 de Julio de 2010, 19:49 »
Las dos clases tienen que ser derivadas de CWnd para poder utilizar las notificaciones.

En esta pagina http://www.latindevelopers.com/articulo ... schart.php vas a encontrar una forma de implementar notificaciones (cuando ocurre algun evento) entre dos clases: CDialog y una clase derivada de CWnd ...

Saludos

7
Visual C++ / Re: grafiica de pastel
« en: Martes 13 de Octubre de 2009, 16:43 »

8
Visual C++ / Re: Problemas para implementar tipos globales
« en: Miércoles 12 de Noviembre de 2008, 02:34 »
En tu archivo Globales.h
Código: Text
  1. struct Triangulo_Mapa{
  2. .....
  3. }
  4.  
  5.  

En tu archivo Globales.cpp
Código: Text
  1. #include <globales.h>
  2. Triangulo_Mapa TM[100];
  3.  

En cualquier otra parte de tu proyecto:
Código: Text
  1. #include <globales.h>
  2. extern Triangulo_Mapa TM[100];
  3.  

Con eso solucionaras tu problema

9
Visual C++ / Re: Programa Para Resolver Grafos Con Lstas
« en: Viernes 26 de Septiembre de 2008, 18:38 »
Aca no hacemos la tarea de nadie.

10
Visual C++ / Re: Generador De Llaves En C++
« en: Viernes 26 de Septiembre de 2008, 18:35 »
hola,

podrías explicar a que se refieren las "llaves"? por que se puede interpretar de muchas formas.

11
Visual C++ / Re: mejor opción para mostrar datos
« en: Martes 23 de Septiembre de 2008, 23:46 »
cuando describas mejor el "desfazamiento de datos" y el codigo que carga los datos podremos ayudarte.

12
Visual C++ / Re: Función De Recursividad En El Juego Del Buscaminas
« en: Lunes 22 de Septiembre de 2008, 17:21 »
Creo que lo que te falta controlar en la recursividad es que necesitas una "condición de parada".

Concretamente debes controlar si una celda del buscaminas ha sido visitada por la función, por que no hay necesidad de visitar una celda mas de una vez (lo que generaría una recursividad infita)

13
Visual C++ / Re: mejor opción para mostrar datos
« en: Lunes 22 de Septiembre de 2008, 16:35 »
Una sugerencia es explotar todas las características del control CListCtrl para visualizar datos en forma de grilla.

No digiste que control estabas utilizando. Podrías mostrar un pantallazo de tu programa para dar alguna sugerencia, no sabemos como se vé.

14
Visual C++ / Re: Compilando Un Proyecto Con Detours.lib
« en: Martes 9 de Octubre de 2007, 18:53 »
Ese mensaje de error indica que el archivo detours.obj ha sido compilado en modo "Release" (seguramente), es decir que no tiene informacion para hacerle un debug, pero adicionalmente (al compilar ) se crea una base de datos del codigo para poder rastrear errores (archivos .pdb).
 
Tu proyecto debe de estar compilandose en modo Debug, por lo tanto necesita de los archivos necesarios para poder "debugarlo" ... pero el compilador te esta diciendo que aun no habiendo ese archivo lo va acompilar...

consecuencia: no podrás realizar debug si la librería detours.obj provoca un error, lo unico que te mostrará es codigo objeto o codigo assembler.

15
Visual C++ / Re: Formato Bitmap
« en: Martes 9 de Octubre de 2007, 18:47 »
No deberías tener ningun problema al abrir una imagen de 8 bits. La clase CBitmap y CDC se encarga de realizar todo ese trabajo.

16
Visual C++ / Re: Gráfica En Tiempo De Ejecución
« en: Martes 9 de Octubre de 2007, 18:45 »
Que control estas utilizando para visualizar las graficas?

17
Visual C++ / Re: Redibujar Pantalla
« en: Miércoles 18 de Abril de 2007, 04:06 »
La solucion a tu problema es utilizar la tecnica de double buffering:

http://www.latindevelopers.com/vcpp/bitmap/doble-buffer/

El ejemplo de la pagina  utiliza MFC, es cuestion de acomodar el codigo para que puedas utilizarlo en tu aplicacion Win32 SDK.

18
Visual C++ / Re: Utilizar El Ondraw
« en: Sábado 24 de Febrero de 2007, 00:23 »
Para poder dibujar necesitas derivarlo de CView o algun otro que no se derive de algun control.

20
Visual C++ / Re: Archivo Abrir - Nueva Ventana
« en: Viernes 9 de Febrero de 2007, 23:15 »
Me parece que estas utilizando la arquitectura documento vista simple (SDI Simple Document Interface), Debes cambiar a MDI (Multiple Document Interface)

21
Visual C++ / Re: Desabilitar Tecla Enter
« en: Viernes 9 de Febrero de 2007, 23:11 »
Intenta con agregarle esta linea atu codigo:

Código: Text
  1. case WM_KEYDOWN:
  2.     if(wParam == VK_RETURN)
  3.        return TRUE;
  4.     break;
  5.  

22
C/C++ / Re: Grafico Mfc Para Escribir
« en: Domingo 26 de Noviembre de 2006, 01:25 »
El block de notas del windows esta hecho con el mismo edit que estas utilizando.

Para que acepte multiples lineas solo tienes que agregarle (o activarle) la propiedad Multilinea y Want return .

saludos

23
Visual C++ / Re: Identificar Tecla Presionada Por El Usuario
« en: Domingo 26 de Noviembre de 2006, 01:14 »
En Visual C++ hay varias formas de capturar las pulsaciones del teclado.

Lo que puedes hacer es utilizar la notificacion WM_CHAR que generará una funcion con el nombre OnChar, alternativamente puedes tambien utilizar WM_KEYDOWN .

24
Visual C++ / Re: Error En Setcursel
« en: Domingo 26 de Noviembre de 2006, 01:11 »
Intenta insertarlos de esta manera

InsertString(0, "a");
InsertString(1, "b");
InsertString(2, "c");
InsertString(3, "d");

InsertString(nn, "a");

25
Visual C++ / Re: Codigo Seleccion Archivo
« en: Miércoles 19 de Julio de 2006, 16:46 »
Escribe esta linea antes del DoModal.
Código: Text
  1.  
  2. DlgAbrir.m_ofn.lpstrInitialDir = &#34;E:&#092;&#092;TuRuta&#34;;
  3.  

Páginas: [1] 2 3