• Sábado 20 de Abril de 2024, 16: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.


Temas - carmamezo

Páginas: [1]
1
Visual C++ / Insertar Activex En Mfc
« en: Jueves 13 de Marzo de 2008, 16:27 »
Hola a todos, :hola:

Me encuentro con el siguiente problema, he hecho una aplicación mediante MFC y he introducido un par de controles activex...  Concretamente un "Microsoft ADO data control" y un "Microsoft datagrid control"...

El programa funciona correctamente en mi PC, pero cuando lo intento ejecutar en otro PC, ni siquiera arranca y no da ningún mensaje de error, realmente el programa no se ejecuta en ningún PC que no tenga instalado el Microsoft visual studio...

Las dll de MFC las he linkado estáticamente para poder ejecutar el programa en otro PC...
Por lo que he leido parece que el problema se debe a que los controles activex que se insertan en un programa de tipo MFC no se auto registran en el sistema y es por eso que cuando los intento ejecutar en otro PC fallan...

¿alguien sabe si el problema es realmente este y cómo se puede solucionar?

Gracias y un saludo.  :lightsabre:

2
Visual C++ / Crear Archivo Excel Mediante Ado
« en: Lunes 18 de Febrero de 2008, 13:35 »
Hola a todos,
no sé si será este el mejor sitio para postear este asunto, si no lo es lo siento mucho. :unsure:
En fin, estoy haciendo un programa para sacar datos desde una base de datos SQL mediante ADO (usando la funcionalidad de #import para la libreria msado15.dll)... Hasta aqui ningún problema, el caso es que al mismo tiempo quiero exportar esos datos filtrados a un documento excel...  He conseguido abrir un excel que ya existe y escribir datos en él mediante JET OLEDB de microsoft sin problemas, pero me gustaría crear un nuevo documento excel por cada exportación....
¿Es posible crear un nuevo documento excel mediante la funcionalidad ADO y JET OLEDB? si es así, agradecería que me indicaseis cómo.

Un saludo.
 :lightsabre:

3
C/C++ / Leer La Temperatura Del Pc
« en: Miércoles 16 de Agosto de 2006, 21:12 »
Primero, hola a todos  :hola:

Hace ya mucho tiempo que comencé un hilo sobre este tema.... la posibilidad de leer la temperatura de la placa base (motherboard) mediante un programa en C.  Por lo que sé no es una simple curiosidad que yo tengo sino que hay bastante gente que le interesa esta información...  
Por aquel entonces quería hacer un proyecto para la universidad, ahora que ya estoy trabajando tengo más tiempo para perder en estas cositas, así que lo que fué un proyecto inacabado se ha convertido en un objetivo de pura cabezonería

Bueno, ultimamente he retomado mis indagaciones y parece que he conseguido lo imposible...  POR FIN LEO LAS TEMPERATURAS!!!!  :comp:

Bien, el tema es bastante espeso, así que iré posteando todas mis averiguaciones sobre este hilo, si a los moderadores no les importa.  :rolleyes:

Ahora mismo estoy peleandome con las lecturas de Voltajes y velocidades de los ventiladores...  Iré posteando todo lo que saco.

Antes de que nadie se alegre demasiado he de decir que tan sólo funciona con placas base que tengan el Super IO chip ITE8712... Mirad el manual de la placa base o bajaros algún programa que sondee el hardware de vuestro sistema para comprobar qué tipo de SuperIO chip teneis.

La idea de este hilo es que cada uno vaya haciendo averiguaciones con su propia placa (y su propio IO chip) y así lo que ha empezado siendo una cuestión de cabezonería se convierta en todo un proyecto...

Por internet no hay demasiada información al respecto, así que voy a contar todo lo que he logrado y sobre todo cómo lo he logrado... :smartass:
Al fin y al cabo compartir es vivir y si puedo arrojar luz sobre este tema tan oscuro pues mejor que mejor... :D


No tengo todo el tiempo que necesitaría para escribir todo así que voy a ir escribiendo poco a poco en distintos mensajes...

PASOS PREVIOS:
--------------------
- Primero y antes que nada debemos saber un par de cosas sobre cómo funcionan las placas base, sobre todo cómo son capaces de darnos esa información que aparece en la bios en la parte de hardware monitor:
   
En nuestra placa base hay una serie de sensores montados, miden la temperatura del micro, de la placa, del chipset, miden las revoluciones de los ventiladores y permiten modificar su velocidad mediante PWM (modulación por ancho de pulso), miden las temperaturas que llegan al micro... +5v, -5v, +12v, -12v, +3,3v...

Bueno pues todos estos elementos suelen estar conectados a un chip llamado SuperIO chip, que se encarga de además de realizar estas tareas manejar los puertos serie y paralelo, los infrarojos, lectura de tarjetas de memoria...
Esto es, se encargan de controlar todo lo que es IO (entradas/salidas) de nuestro PC.

- Una vez dicho esto, el segundo paso será conocer el tipo de SuperIO chip que tiene nuestra placa base (si es que lo tiene), hay bastantes marcas y cada marca tiene un monton de modelos distintos:
Ali,ITE,National Semi Conductor (NS), SIS, SMC, Winbond...

Los más conocidos sin duda son los ITE y los Winbond.  Si vuestra placa es de cierta calidad seguro que los llevan.

Para poder saber qué tipo de SuperIOchip teneis, lo mejor es o bien leer el manual de vuestra placa o bien bajaros un programa que os lo diga.
Os recomiendo que os bajeis el programa Speedfan está realizado por un tal Alfredo Milani y es gratuito.  Además os servirá para comprobar si el programa que hacemos hace las mediciones correctamente o no.


- Bueno pues los pasos previos están dados.... ahora queda sin duda lo más dificil...
¿¿¿ Cómo se accede a los registros de estos SuperIO chips ???? pues esta es la gran pregunta sin respuesta.... Hasta ahora. :P

Vale, pues para poder comunicarnos con estos SuperIOchips hace falta usar las instrucciones Inp() y Outp(), que permiten hacer lecturas/escrituras en puertos.

**1er problema, estas instrucciones a partir de windows NT son privilegiadas y tan sólo los programas con un nivel de privilegio adecuado pueden usarlas, así que si estais usando windows NT, 2000, xp la cosa se complica.  Pero no pasa nada...
Tan sólo los drivers pueden realizar llamadas a estas instrucciones.

SOLUCION:
Aqui hay varias soluciones...
Necesitamos una dll, que nos permita hacer llamadas a un .sys de nuestro sistema que se encargue de ofrecernos una serie de funciones para lectura/escritura de los puertos.

Yo he encontrado dos, ambas gratuitas siempre y cuando no vayamos a hacer negocio con ellas (como es mi caso).
La primera es la CanIO.dll y CanIO.sys.  De CanSOFT, bueno, son canadienses como se nota...  Esta dll era la que usaba el MBM (mother board monitor) creo, un pedazo de programa donde los haya que desgraciadamente ha dejado de ser actualizado.
La librería puede ser descargada de aqui.

La segunda posibilidad es la que yo he usado finalmente, se trata de una dll llamada io.dll, que se encarga de llamar al io.sys de nuestro sistema y nos ofrece un monton de funciones para lectura/escritura de los puertos.
La podeis descargar de aqui.
Además esta última cuenta con unos archivos para compilar junto con nuestro programa y que nos facilitan mucho las cosas... están en varios lenguajes....


Bueno, hasta aqui por hoy, que se me hace tarde.
El próximo día hablaré de cómo se inicia esta dll y de cómo se inician las comunicaciones con el SuperIOchip....


Para los que están muy interesados.... deberes para casa!!!!  :devil:
Buscad y rebuscad por internet las especificaciones de vuestro SuperIOchip, esta es la clave del éxito, no hay más....
Para los que teneis un SuperIO chip de ITE... aqui os dejo un enlace a los documentos necesarios para conseguir nuestro objetivo.  Seguramente que aunque vuestro chip no sea el mismo funcionará de forma parecida...

Por cierto mi placa base es una ASUS A8NSLI DELUXE, si la teneis, ya sabeis que SuperIO chip teneis.

Un saludo.  :lightsabre:

4
Visual C++ / Añadir Una Librería Estática A Proyecto Mfc
« en: Jueves 6 de Octubre de 2005, 11:42 »
Hola a todos, :hola:
Lo primero, decir que lo del Visual C es nuevo para mi, programo con MFCs por comodidad y rapidez. :whistling:
estaba yo haciendo un pequeño programa con ventanitas usando MFCs... todo iba bien hasta que se me ocurrió programar una librería estática externa que contiene una serie de funciones externas a las propias del manejo de ventanas y linkarla al proyecto.
Uso el Visual Studio 6.0 y las linké como toda la vida: Project->settings->Link y luego añado el fichero .h al proyecto que contiene los prototipos de las funciones.  
Lo gracioso es que esto funciona perfectamente cuando se trata de un proyecto de tipo Win32 Console Application...
Pero con MFC application no la reconoce, cuando llamo a alguna función interna de la librería me dice lo típico de "unresolved external symbol..."
Alguien sabe como linkar una librería estática en un proyecto hecho con MFCs??
Un saludo y gracias. :lightsabre:

5
Programación en C / Problemas Con Array De Estructuras
« en: Sábado 9 de Julio de 2005, 18:52 »
Hola a todos!!!
Bueno, os cuento, estoy programando una LCD gráfica para un proyecto de la uni, lo hago con el PICC compiler de CCS y lo simulo con el ISIS de proteus.  Tengo que manejar una imagen y dibujar sobre ella una serie de puntos... (Me sirvió de mucho el programa bmp2asm que se encuentra en otra discusión).
En fin, he creado una estructura del tipo:
Código: Text
  1.  
  2. typedef struct
  3. {
  4.   char cadena[25];
  5.   int x;
  6.   int y;
  7. }puntos;
  8.  
  9.  
Bueno, en el código me interesa inicializar un array de estructuras de este tipo y lo hago de la siguiente manera:
Código: Text
  1.  
  2. void main()
  3. {
  4.   puntos prueba[5]={
  5.       {"algo",5,4},
  6.       {"asdf",6,7},
  7.       {"ñlkj",4,2},
  8.       {"qwer",4,3},
  9.       {"poiu",3,2}
  10.       };
  11.   ...
  12.   ...
  13. }
  14.  
  15.  
Luego voy recorriendo esos puntos, pero llega un momento en el que los datos no se leen correctamente, esto es cuando leo prueba[3].x en vez de darme un 4 me da un 0, y no sé por qué. Otras veces el texto no aparece...
No se si a alguien le ha pasado algo parecido, y sobre todo no se si es un problema del PICC (en el manejo de arrays de texto de distintos tamaños) o de la simulación del proteus...
Si alguien tiene alguna idea de por qué puede pasar esto que no dude en decírmela.  :lightsabre:
Un saludo y gracias a todos.

6
Programación en C / Compilador C Para Pics
« en: Lunes 25 de Abril de 2005, 09:45 »
Hola a todos!!!  :hola:
Me inicio en este foro por primera vez... creo. :lightsabre:
Simplemente quería daros mi opinión sobre éste tema del C y los PIC.  
La verdad es que siempre he programado en C, y el ensamblador me da escalofrios,  lo uso para programar DSPs pero la verdad es que me parece que es un coñazo.  En la universidad me enseñaron a programar en ensamblador los PICs y la verdad es que nunca conseguí hacer nada especial con ellos, por eso nunca les he tenido un especial aprecio.
Hace unos meses descubrí el maravilloso CCS picC compiler, y la perspectiva de programar algo con PICs cambió.  Funciona perfectamente, y en unas pocas líneas puedes hacer maravillas (con el inconveniente de que en ensamblador el programa sería más efectivo y mas rápido).  Pero si éstas características no son cruciales os lo aconsejo encarecidamente.
No trabajo para CCS...  :D  Pero hay que alabar su gran compilador.
Además, mediante el Proteus (el ISIS), se pueden probar los programas mediante simulaciones, lo que reduce el esfuerzo de programa-prueba...
En fin, éstos dos programas son los que uso normalmente...  :comp:
Gracias a este compilador me he fijado el objetivo de conectar una LCD de 20x4 retroiluminada azúl en el frontal de mi PC, controlada por un PIC y comunicada con el PC mediante RS-232, además de intentar hacer un sistema de control de revoluciones de los ventiladores conectados... De momento el proyecto está aparcado por motivos de estudios, pero en verano intentaré llevarlo a cabo.
El programa para conseguir los datos del Hardware del PC está ya casi listo (Jonathan tu sabes algo de ésto...  :P ).
Todo esto gracias al maravilloso compilador en C...
Teneis toda la información en su página web: CCS
Saludos.  :hola:

7
C/C++ / Visualización De Temperatura De La Bios
« en: Martes 9 de Diciembre de 2003, 23:58 »
Por lo que he visto ya se inició en su día una discusión sobre este tema....  Pero las respuestas no me sirven.
Lo que quiero es acceder a la memoria donde la bios guarda toda la información que tiene.  Entre esa información debe estar la Tª del sensor del micro (que es precisamente lo que busco).  La pregunta que expongo es... ¿como coño accedo yo a esos valores?.
La verdad es que la pregunta es complicada entre otras cosas porque los fabricantes de placas base no te dan ningún tipo de información, aunque les preguntes directamente (ya lo he intentado y me han dicho que es informacion restringida), en fin si nadie es capaz de ayudarme... me gustaría saber si alguien conoce alguna página donde aparezca mappeada la memoria RAM.  Un saludo para todos y gracias de antemano.

8
C/C++ / problemas usando las MFC
« en: Miércoles 2 de Julio de 2003, 11:51 »
Hola a todos, tengo un pequeño problema... He realizado una pequeña aplicación con listas doblemente enlazadas, una agenda electrónica, por supuesto he utilizado una aplicación de consola como interfaz entre usuario y programa.
En este campo no he tenido problemas, pero cuando intento introducir las distintas funciones que he creado en una aplicación visual con las MFC no consigo resultados, me explico:
He realizado una función que lee de un archivo del disco los distintos contactos que tenemos en la agenda, los carga en una lista doblemente enlazada de tal forma que luego se pueden añadir, quitar o editar los contactos de manera rápida.  El problema surge con las MFC pq funcionan con eventos, cuando se pulsa tal botón, cuando se hace doble click en tal sitio...
Lo que no se cómo hacer es utilizar una única lista en cada una de esos eventos, pues no puedo estar creando una nueva lista en cada evento.
Acaso no tienen una función principal que vaya llamando a todos esos eventos y desde la cual yo pueda manejar mi lista???
En fin no se si ha quedado muy claro pero bueno... Agradecería si conocierais algún manual de uso de las MFC gratuito por internet :gracias:
En fin un saludo y gracias

Páginas: [1]