• Sábado 18 de Mayo de 2024, 23:15

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

Páginas: 1 2 3 [4] 5 6 7
76
Visual C++ / Re: GUI para visual c++, a ser posible vc++ 6.0
« en: Jueves 29 de Julio de 2010, 12:13 »
Justo al contrario, queda poco software que tenga compatibilidad con Visual C++ 6. Es un compilador obsoleto con unas bibliotecas obsoletas, con un montón de problemas respecto al C++ estándar.

Con las versiones 2005, 2008 y 2010 de Visual Studio puedes hacer C++ estándar sin problemas. Las aplicaciones .NET son una de las cosas que pueden hacer (y de hecho el C++/CLI se ha quedado como lenguaje de nicho para interop, por lo que está desaconsejado hacer aplicaciones .NET en C++/CLI si no son de interop), pero el 2005/2008 compila todas esa bibliotecas que has citado sin problemas, aparte de soportar MFC (las Express no).

Recomendarte una es complicado, porque dependerá de muchas cosas.

wxWidgets está bien pero es tan vieja como MFC en el sentido de que, pese a estar actualizada, utiliza paradigmas un tanto caducos ya. QT es la que está dando caña de la buena, con un paradigma OO bastante decente (aunque tiene otras pegas, como el ciclo de versiones tan rápido y que es ENORME).

77
Visual C++ / Re: Dibujar sobre un CHtmlView
« en: Martes 27 de Julio de 2010, 09:33 »
No recuerdo si esa ventana tiene evento Paint, pero si lo tuviera, tras invalidar el rectángulo donde tu quieras pintar, en dicho evento, después de llamar al Paint del padre, podrías pintar.

Si no es así, siempre puedes acoplar una ventana transparente sin marco sobre el otro control y usar el evento Paint de dicha ventana para poner lo tuyo. El problema de este acercamiento es que tendrás que controlar el tamaño de la ventana superior a mano, así como seguir a la de abajo cuando se mueva, etc.

Otra opción es que captures el HTML y añadas por código tu dibujo...

78
C++ Builder / Re: Version del Builder
« en: Lunes 12 de Julio de 2010, 20:47 »
No necesariamente.

Lo que tienes que hacer es identificar esos controles y registrarlos en el ordenador de desarrollo (y luego en el cliente).

Esos ficheros que tienes en tu proyecto son el "wrapper" de esos OCX, que podrían formar parte del mismo "Project Group" o de otro proyecto o ser componentes comerciales. Por el nombre no me dicen nada.

Aunque también podrían ser el propio control... pero si hay un DCR es que hay PAS, y podrían ser "restos" del componente. Si están añadidos al proyecto, y son el componente en lugar del wrapper, debería compilar...

79
C++ Builder / Re: Version del Builder
« en: Lunes 12 de Julio de 2010, 13:15 »
Está hecho con la versión 4, aunque de la 4 a la 6 te podría valer bien, ya que prácticamente son la misma pero con ampliaciones a la VCL (y más bugs, por supuesto).

80
Visual C++ / Re: ventana llama a otra ventana
« en: Jueves 1 de Julio de 2010, 17:22 »
Lee esto en cuanto a C++ y C++/CLI (por lo menos la primera parte): http://geeks.ms/blogs/rfog/archive/2009 ... c-cli.aspx

C++/CLI se ha quedado para vestir santos. Es decir, todo lo que aprendas de C++/CLI no te va a servir de mucho, ya que en cualquier momento Microsoft abandona el soporte de Windows Forms y el lenguaje se quedará como herramienta de interoperabilidad entre código nativo y manejado.

Respecto a los punteros... si has leído eso...  :wacko: , quienes lo hayan escrito/copiado no tienen ni p*ta idea de C++.

Los punteros tienen muchos usos, el más utilizado es controlar el tiempo de vida de un objeto. Es decir, creas el objeto cuando tu queras y lo liberas también cuando tu quieras. Un puntero gasta algo más de memoria que una variable normal, porque está el uso del puntero en la pila y el de la variable en el montículo.

El truco está en que con un puntero puedes llamar "hacia atrás" en la pila de llamadas sin que el objeto desaparezca de ámbito, etc.

Otras veces es una optimización de memoria: la pila tiene un tamaño limitado, y usarla para asignar un objeto grande es contraproducente, así como pasar un objeto por valor suele ser una barbaridad (aunque estén las referencias a veces estas no se pueden usar, sobre todo cuando no sabes qué vas a recibir en tiempo de compilación)...

Y hay más usos (y abusos).

81
Visual C++ / Re: ventana llama a otra ventana
« en: Jueves 1 de Julio de 2010, 15:09 »
Lo que estás haciendo no es precisamente alejarte del C++/CLI, pero bueno.

Los punteros son lo que son, y te puedo asegurar que sin el concepto de puntero la informática no existiría como tal.

Que no te gusten o no los entiendas es habitual en principiantes, pero que debes aprenderlos es obligatorio.

Respecto a mi error, hace ya un par de años que no uso C++/CLI, y la verdad es que la memoria juega malas pasadas.

82
C++ Builder / Re: Comunicacion serie con centralita siemens h150e
« en: Jueves 1 de Julio de 2010, 11:11 »
Pues vaya mierd@ de empresa...

83
C++ Builder / Re: Algoritmo 20Q
« en: Jueves 1 de Julio de 2010, 10:47 »
Es el típico juego de acertar la palabra con menos de 20 preguntas...

A simple vista parece algo sencillo, pero es bastante complejo porque tienes que definirte el árbol de decisión, un diccionario en el que cada palabra contenga las respuestas SI/NO de cada pregunta (o al revés, cada pregunta la lista de palabras que es válida según se diga si o no), y el árbol de decisión.

Para números es sencillísimo: pregunta el valor mitad entre el máximo y el mínimo, y así vas acotando hasta llegar al número...

84
C++ Builder / Re: Imagen gif
« en: Jueves 1 de Julio de 2010, 10:45 »
Aquí tienes una lista de librerías que permiten el uso de gif (entre otras cosas):

http://www.freeprogrammingresources.com/imglib.html

No tiene por qué ser un control OCX, sino simple código añadido a tu proyecto. De todos modos C++Builder suele ser bastante malo compilando código de terceros...

85
C++ Builder / Re: Comunicacion serie con centralita siemens h150e
« en: Jueves 1 de Julio de 2010, 10:43 »
Vete al fabricante de la misma y pídele las especificaciones. A ves las dan gratis, a veces tienes que pagar, a veces tienes que firmar un NDA (acuerdo de no divulgación), y a veces es todo a la vez.

86
C++ Builder / Re: Linker error
« en: Jueves 1 de Julio de 2010, 10:39 »
Lo más probable es que no tengas permisos para escribir en esa carpeta, aunque el código de error 3 es que la ruta no es encuentra:

http://msdn.microsoft.com/en-us/library/ms681382(VS.85).aspx

87
C++ Builder / Re: Raya en c++ builder
« en: Jueves 1 de Julio de 2010, 10:37 »
Te indica el límite de impresión de las antiguas impresoras de texto.

Es un tema histórico. Cuando uno imprimía código para luego leerlo (algo no tan extraño como pueda parecer) o guardarlo, si tu código excedía los 80 caracteres, o bien la impresora lo cortaba o bien lo continuaba en la línea siguiente, armando buenos problemas...

Ahora eso no tiene mucho sentido ya que la mayoría de IDE entienden eso y dejan bien formateado el código, incluso con colorines, pero hay empresas en las que tienen un máximo largo de línea de código, y con esa línea (que se puede cambiar en las opciones), ves cuándo te vas a salir.

88
Visual C++ / Re: ventana llama a otra ventana
« en: Jueves 1 de Julio de 2010, 10:30 »
Primero, eso no es C++, es C++/CLI y es otro lenguaje diferente.

Segundo, el evento se llama Click, y en los botones, haciendo doble clic sobre el botón en tiempo de diseño, te lo crea automáticamente.

Luego, en el evento, tienes que crear el nuevo form y mostarlos:

Form2 ^f=gcnew Form2(this);
f->ShowModal();   //Creo que se llama así, no me acuerdo bien
delefe f;

Y no te olvides de incluir el fichero cabecera del form 2 en el form 1.

89
Otros CLR / Re: Código a C++
« en: Miércoles 9 de Junio de 2010, 23:23 »
Incluye el fichero cabecera en donde estén declaradas las funciones Input y Output que deberían venir con la DLL.

Y luego las usas:

Outport(0x3f8,55);

int valor=Input(0x3f8);

Así o con variables manejadas. No hay más secreto.

El Interop IJW de C++/CLI hará el resto: convertirá esos enteros manejados en enteros nativos y viceversa.

90
Otros CLR / Re: Código a C++
« en: Miércoles 9 de Junio de 2010, 18:30 »
Para C++/CLi no necesitas nada de eso. Llama a las funciones de la DLL como si fueran nativas y listo.

91
Visual C++ / Re: CFsoFileSystemObject
« en: Miércoles 9 de Junio de 2010, 08:42 »
Si empezáramos por el principio...

La forma en que lo quieres hacer es una burrada salvaje, porque Win32 tiene una forma directa sencilla: FindFirstFile/FindNextFile:

http://msdn.microsoft.com/en-us/library/aa364418(VS.85).aspx

92
Visual C++ / Re: CFsoFileSystemObject
« en: Martes 8 de Junio de 2010, 23:02 »
Buff, no me pongas VB que no tengo ni idea, aunque lo que parece que está haciendo el código que pones es unar un objeto de scripting...

De lo otro, te falta alguna inclusión, o más bien todas. Me he bajado el código que dices y por lo que veo necesita integrarse en un proyecto con ATL y creado con el asistente de Visual Studio... En stdafx.h tienes que tener las inclusiones adecuadas, si no no te funcionará.

93
Visual C++ / Re: CFsoFileSystemObject
« en: Martes 8 de Junio de 2010, 22:13 »
Fácil: el compilador no sabe qué es DWORD_PTR, así que lo más seguro es que te falte algún fichero cabecera... como, quizás, Windows.h

94
Visual C++ / Re: IDE
« en: Miércoles 26 de Mayo de 2010, 20:25 »
Por un lado tienes el SDK de Visual Studio que te suministra todo lo necesario para añadirle extensiones, y por otro tienes las "shells", que son el IDE pero sin compilador ni nada, sólo el entorno, listo para que se le añada cualquier cosa.

http://www.microsoft.com/downloads/deta ... laylang=en
http://www.microsoft.com/downloads/deta ... laylang=en
http://www.microsoft.com/downloads/deta ... laylang=en

95
C/C++ / Re: escribir float en archivo binario
« en: Sábado 22 de Mayo de 2010, 11:34 »
¿Y por qué no así:

fich<<libro.precio;

y así:

fich>>libro.precio;

?

Además, puedes guardar el array de una tacada sin problemas. Más o menos así (lo hago de cabeza, así que seguro que no está bien del todo):

fich.write(libro,sizeof(libro)*tama_array);

Ten en cuenta que si entre escritura y lectura no cierras/abres el archivo lo tendrás que rebobinar con el equivalente a fseek (que ahora no recuerdo cuál es) porque si no la lectura se hace después de la escritura...

96
Visual C++ / Re: No puedo ejecutar .exe
« en: Miércoles 12 de Mayo de 2010, 19:58 »
Lo mismo este enlace te soluciona el problema.

http://social.msdn.microsoft.com/Forums ... 191153f136

97
Visual C++ / Re: problema con directorios en VS2010
« en: Miércoles 12 de Mayo de 2010, 19:56 »
Cambia los permisos de D: para que sean:

Authenticathed Users: Modify para abajo.
Administrators: Full Control para abajo.
Users: Read & Execute para abajo.

Si no sabes cómo hacerlo, este no es precisamente el foro para preguntarlo.

98
Visual C++ / Re: Cómo establecer Juego de Caracteres VC?
« en: Miércoles 31 de Marzo de 2010, 09:34 »
Cita de: "blasata"
..y si el proyecto se copila como multibyte que puede pasar?

Pues que se compila como MBCS. Las cadenas serán una mezcla de ASCII y doble caracteres y seguirás teniendo problemas con la compilación y los juegos de caracteres, aparte de un par de bugs bastante insidiosos que tiene windows.

A fecha de hoy es un sinsentido compilar para otra cosa que no sea Unicode. Con Unicode dan igual los caracteres de destino: estarán todos.

99
C/C++ / Re: ERROR: how can you a vapor heap? at "lmem.c", line 1014
« en: Lunes 29 de Marzo de 2010, 10:45 »
Eso no tiene sentido, ni el error que te da ni lo de que tengas que ejecutarlo dos veces. O más bien sí: hay algo esencialmente mal en ese programa, pero muy mal. Como no nos pongas código y demás, las bolas de cristal están caras y estamos en crisis, además, yo siempre que miro dentro de una lo veo todo distorsionado...

100
Visual C++ / Re: debug y release y SYSTEMTIME
« en: Lunes 29 de Marzo de 2010, 10:40 »
1.- Eso se debe al optimizador de código de Visual C++: no debes preocuparte, el código se está ejecutando generalmente de una tacada en ensamblador o está saltando a alguna parte interna que ya tiene implementado lo que tu has hecho. También verás saltos raros a otras partes de tu código sin mucho sentido ni coherencia para ti. En general, lo que funciona en DEBUG funciona en RELEASE, y si no es así, ve buscando dónde está tu ]error.

2.- Es que no inicializas "ahora", por eso protesta el compilador, ya que estás copiando un valor (ahora.wYear) que no ha sido inicializado. En "sip" tendrás no sólo la misma basura que en el otro lado, sino que al tener basura quizás (lo más seguro) no haya un terminador nulo al final de wYear y estés sobreescribiendo un buen montón de memoria.

Aparte, el wYear es un WORD, un número, y tu estás poniendo un especificador de cadena, con lo que todavía la estás liando más.

3.- Si pones "%02d" en el especificador de cadena, lo que sobre a la izquierda se rellenará con ceros. En el caso que te pongo, al ser "02" es dos dígitos rellenos con ceros por la izquierda.

Páginas: 1 2 3 [4] 5 6 7