|
552
|
Informática / Electrónica / Guardar datos en la EEPROM interna del PIC
|
en: 27 Agosto 2009, 14:15 pm
|
Hola: Tengo medio hecho unos códigos del PIC16F84A-04, quiero grabar los Relay_1 al Relay_4 en la EEPROM, es decir, los últimos estados de los relés en ON o OFF. Aún así sigo intentado pero si les sale el código mejor que el mio, mejor que mejor. ;************************************ Meta_Control.asm ************************************** ; ; =================================================================== ; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS" ; E. Palacios, F. Remiro y L. López. www.pic16f84a.org ; Editorial Ra-Ma. www.ra-ma.es ; =================================================================== ; ; SISTEMA DE GOBIERNO DESDE ORDENADOR: Desde el teclado de un ordenador se desea comandar ; el movimiento de una estructura móvil, según la siguiente tabla: ; ; TECLA (Por ejemplo) MOVIMIENTO ; ------------------- ---------- ; t Adelante ; b Atrás ; a Izquierda ; l Derecha ; Espacio Parada ; ; La pulsación de cualquiera de estas teclas activa el estado de las salidas correspondiente ; RB3 (Adelante), RB2 (Atrás), RB1 (Izquierda), RB0 (Derecha) y apaga el resto. ; ; El movimiento que se está realizando aparece reflejado en un mensaje en el visualizador LCD ; del sistema y también en la pantalla del ordenador. ; ; El programa debe permitir modificar facilmente en posteriores revisiones en el hardware de ; la salida. Es decir, para activar las salidas conviene utilizar el direccionamiento por bit ; en lugar de por byte (utilizar instrucciones "bsf" y "bcf", en lugar de "mov.."). ; ; ZONA DE DATOS **********************************************************************
LIST P=16F84A INCLUDE <P16F84A.INC> __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
CBLOCK 0x0C TeclaPulsada ; Va a guardar el contenido de la tecla pulsada. MensajeApuntado ; Va a guarda la dirección del mensaje apuntado. Relay_1 Relay_2 Relay_3 Relay_4 ENDC
#DEFINE SalidaR1 PORTB,3 ; Define dónde se sitúan las salidas. #DEFINE SalidaR2 PORTB,2 #DEFINE SalidaR3 PORTB,1 #DEFINE SalidaR4 PORTB,0
TECLA_RELE_1_ON EQU 'q' ; Código de las teclas utilizadas. TECLA_RELE_1_OFF EQU 'a' TECLA_RELE_2_ON EQU 'w' TECLA_RELE_2_OFF EQU 's' TECLA_RELE_3_ON EQU 'e' TECLA_RELE_3_OFF EQU 'd' TECLA_RELE_4_ON EQU 'r' TECLA_RELE_4_OFF EQU 'f' TECLA_INICIO EQU 'z' TECLA_PARADA EQU ' ' TECLA_INFO EQU 'i' ; Código de la tecla espaciadora, (hay un espacio, ; tened cuidado al teclear el programa). ENTER EQU 0x0A ; Código de tecla "Enter" o "Retorno de Carro". CAMBIO_LINEA EQU 0x0D ; Código para el cambio de línea.
ORG 0x2100 ; Corresponde a la dirección 0 de la zona EEPROM ; de datos. DE 0x00, 0x00, 0x00, 0x00
; ZONA DE CÓDIGOS ********************************************************************
ORG 0 Inicio call LCD_Inicializa call RS232_Inicializa bsf STATUS,RP0 ; Configura como salidas las 4 líneas del bcf SalidaR1 ; del Puerto B respetando la configuración del bcf SalidaR2 ; resto de las líneas. bcf SalidaR3 bcf SalidaR4 bcf STATUS,RP0 call Parado ; En principio todas las salidas deben estar Principal ; apagadas. call RS232_LeeDato ; Espera a recibir un carácter. call TesteaTeclado goto Principal
; "Mensajes" ---------------------------------------------------------------------------- ; Mensajes addwf PCL,F MensajeParado DT "Sistema PARADO", 0x00 Mensaje_R1_ON DT "RELE 1 ON", 0x00 Mensaje_R1_OFF DT "RELE 1 OFF", 0x00 Mensaje_R2_ON DT "RELE 2 ON", 0x00 Mensaje_R2_OFF DT "RELE 2 OFF", 0x00 Mensaje_R3_ON DT "RELE 3 ON", 0x00 Mensaje_R3_OFF DT "RELE 3 OFF", 0x00 Mensaje_R4_ON DT "RELE 4 ON", 0x00 Mensaje_R4_OFF DT "RELE 4 OFF", 0x00 Mensaje_Info ; DT 0xC9, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xBB ; DT ENTER, CAMBIO_LINEA DT 0xBA, " FirmWare v1.00 ", 0xBA DT ENTER, CAMBIO_LINEA DT 0xBA, " PIC16F84A ", 0xBA DT ENTER, CAMBIO_LINEA DT 0xBA, " 4 MHz ", 0xBA ; DT ENTER, CAMBIO_LINEA ; DT 0xCC, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xB9 DT ENTER, CAMBIO_LINEA DT " metaconta@gmail.com", 0x00 Mensaje_Activar DT "Todos activos", 0x00
; Subrutina "TesteaTeclado" ------------------------------------------------------------- ; ; Testea el teclado y actúa en consecuencia.
TesteaTeclado movwf TeclaPulsada ; Guarda el contenido de la tecla pulsada. xorlw TECLA_RELE_1_ON ; ¿Es la tecla del movimiento hacia adelante? btfsc STATUS,Z goto R1_ON ; Sí, se desea movimiento hacia adelante. ; movf TeclaPulsada,W ; Recupera el contenido de la tecla pulsada. xorlw TECLA_RELE_1_OFF ; ¿Es la tecla del movimiento hacia atrás? btfsc STATUS,Z goto R1_OFF ; Sí, se desea movimiento hacia atrás. ; movf TeclaPulsada,W ; Recupera el contenido de la tecla pulsada. xorlw TECLA_RELE_2_ON ; ¿Es la tecla del movimiento hacia la izquierda? btfsc STATUS,Z goto R2_ON ; Sí, se desea movimiento hacia la izquierda. ; movf TeclaPulsada,W ; Recupera el contenido de la tecla pulsada. xorlw TECLA_RELE_2_OFF ; ¿Es tecla del movimiento hacia la derecha? btfsc STATUS,Z goto R2_OFF ; Sí, se desea movimiento hacia la derecha. ; movf TeclaPulsada,W xorlw TECLA_RELE_3_ON btfsc STATUS,Z goto R3_ON ; movf TeclaPulsada,W xorlw TECLA_RELE_3_OFF btfsc STATUS,Z goto R3_OFF ; movf TeclaPulsada,W xorlw TECLA_RELE_4_ON btfsc STATUS,Z goto R4_ON ; movf TeclaPulsada,W xorlw TECLA_RELE_4_OFF btfsc STATUS,Z goto R4_OFF ; movf TeclaPulsada,W xorlw TECLA_INICIO btfsc STATUS,Z goto Activar ; movf TeclaPulsada,W xorlw TECLA_INFO btfsc STATUS,Z goto Info ; movf TeclaPulsada,W ; Recupera el contenido de la tecla pulsada. xorlw TECLA_PARADA ; ¿Es la tecla de parada?. btfss STATUS,Z goto Fin ; No es ninguna tecla de movimiento. Sale. Parado bcf SalidaR1 ; Como se ha pulsado la tecla de parada se bcf SalidaR2 ; desactivan todas las salidas. bcf SalidaR3 bcf SalidaR4 movlw MensajeParado goto Visualiza R1_ON bsf SalidaR1 movlw Mensaje_R1_ON goto Visualiza R1_OFF bcf SalidaR1 movlw Mensaje_R1_OFF goto Visualiza R2_ON bsf SalidaR2 movlw Mensaje_R2_ON goto Visualiza R2_OFF bcf SalidaR2 movlw Mensaje_R2_OFF goto Visualiza R3_ON bsf SalidaR3 movlw Mensaje_R3_ON goto Visualiza R3_OFF bcf SalidaR3 movlw Mensaje_R3_OFF goto Visualiza R4_ON bsf SalidaR4 movlw Mensaje_R4_ON goto Visualiza R4_OFF bcf SalidaR4 movlw Mensaje_R4_OFF goto Visualiza Activar bsf SalidaR1 ; Como se ha pulsado la tecla de parada se bsf SalidaR2 ; desactivan todas las salidas. bsf SalidaR3 bsf SalidaR4 movlw Mensaje_Activar goto Visualiza Info movlw Mensaje_Info
; Según el estado de las salidas visualiza el estado del sistema en el visualizador LCD y en ; el monitor del ordenador.
Visualiza movwf MensajeApuntado ; Guarda la posición del mensaje. call LCD_Borra ; Borra la pantalla del modulo LCD. movf MensajeApuntado,W ; Visualiza el mensaje en la pantalla call LCD_Mensaje ; del visualizador LCD. call RS232_LineasBlanco ; Borra la pantalla del ordenador. movf MensajeApuntado,W call RS232_Mensaje ; Lo visualiza en el HyperTerminal. call RS232_LineasBlanco Fin return
INCLUDE <RS232.INC> INCLUDE <RS232MEN.INC> INCLUDE <LCD_4BIT.INC> INCLUDE <LCD_MENS.INC> INCLUDE <RETARDOS.INC> INCLUDE <EEPROM.INC> END
Un cordial saludo. EDITO: Lo estoy intentado en esta parte: R1_ON clrw call EEPROM_LeeDato movwf Relay_1
movf Relay_1,W call EEPROM_EscribeDato
bsf SalidaR1 movlw Mensaje_R1_ON goto Visualiza La idea es que si en el PORTB hay en la salida b'10100100', que se guarde ese valor del puerto B en la EEPROM. El motivo es por si se apaga la luz, se queda sin batería o cualquier otra cosa, al reiniciar el PIC de nuevo, lea los últimos valores que estaban antes de quedarse sin pilas.
|
|
|
553
|
Programación / .NET (C#, VB.NET, ASP) / Peleando con la tarbla ASCII
|
en: 27 Agosto 2009, 01:54 am
|
Buenas: Fijándote bien justo la imagen de abajo. se muestra que algunos comentarios de alrededor está en doble cuadro. En el RichTextBox1 con Visual C#, me parece el símbolo de interrogación en su lugar como este ??????????????Pongo en HEX los valores que puedes ver en la tabla de abajo. ¿Hay alguna solución de pasarlo bien al ASCII al RichTextBox? Saludo.
|
|
|
554
|
Informática / Electrónica / PIC mejorado ya con 49 instrucciones.
|
en: 31 Julio 2009, 10:23 am
|
[size=18] Primeros Microcontroladores PIC® con Núcleo Mejorado de Gama Media de 8 bit [/size] Microchip anuncia los seis primeros miembros de la familia de microcontroladores PIC16F193X, que incorporan un núcleo mejorado de gama media de 8 bit desarrollado por Microchip. El incremento de la capacidad de memoria y del núcleo proporcionan un mejor soporte a programadores de C y Ensamblador, mientras que los componentes de la familia ‘LF’ incorporan la Tecnología nanoWatt XLP de Microchip para trabajar con un consumo extremadamente bajo. Los PIC16F1934, PIC16LF1934, PIC16F1936, PIC16LF1936, PIC16F1937 y PIC16LF1937 amplían la oferta de microcontroladores PIC® de Microchip formada por más de 550 dispositivos compatibles, destinados a una amplia variedad de aplicaciones en los mercados de electrodomésticos, consumo, industrial, médico y automoción. Continuando con la tradición de los microcontroladores PIC de integrar un gran número de periféricos, la nueva familia ofrece controladores Directos para LCD y soporte a soluciones táctiles capacitivas mTouchTM. Los nuevos dispositivos permiten nuevos niveles de funcionalidad con un menor coste del sistema. Entre las restantes características de la familia PIC16F193X se encuentran: · Memoria de programa Flash hasta 14 KB · RAM de datos hasta 512 Bytes · EEPROM de datos de 256 Bytes · Controlador para LCD (96 segmentos) · Tecnología nanoWatt XLP en las versiones “LF” · Periféricos para Soluciones Táctiles mTouch · Oscilador interno de 32MHz · Hasta 5 periféricos PWM de Captura y Comparación Mejorada con bases de tiempos independientes · Latencia de Interrupción Reducida · Pila de hardware de 16 niveles, con interrupción de rebose/subdesbordamiento (overflow/underflow) · Funcionamiento de bajo consumo entre 1,8 y 5,5V, incluyendo funcionamiento completo de periféricos analógicos · SPI/I2C™ Maestro y soporte a EUSART para RS-232/RS-485, así como soporte LIN · Hasta 14 canales de conversión A/D de 10 bit · Dos comparadores de doble entrada de carril a carril (rail-to-rail) con funcionamiento de Temporizador 555 · Temporizadores de 4x8 bit y 1x16 bit, con soporte a Reloj en Tiempo Real de Bajo Consumo eXtreme · Monitores operativos robustos y fiables, como POR, BOR y WDT de bajo consumo Con un total de 49 instrucciones, los microcontroladores PIC16F193X optimizan el código de programa y el manejo de datos, al tiempo que incrementan la eficiencia y reducen los ciclos de reloj. Microchip ofrece a los ingenieros un conjunto completo de herramientas de desarrollo estándar para diseñar con los microcontroladores PIC16F193X. Fuente: http://www.elektor.es/noticias/primeros-microcontroladores-pic-con-nucleo.1028149.lynkx?utm_source=ES&utm_medium=email&utm_campaign=newsOpinión personal:Ya iba siendo hora de que tantos años ya cambiaron algo del nícleo del PIC. Me sorprende que ya vengan con 49 instrucciones, esto si que no me lo esperaba. Vendrán más nuevos en el futuro como también mejorar los PIC18F, el esperado por muchos y famoso USB 3.0 tanto en PIC18F hsta los PIC32, etc... PIC16F1934, PIC16LF1934, PIC16F1936, PIC16LF1936, PIC16F1937 y PIC16LF1937. Nota, en el futuro aparecerán, al menos eso dicen algunas Web que vienen timer de 32 bits. Saludo.
|
|
|
555
|
Media / Juegos y Consolas / Cosas de PS3 y 360
|
en: 25 Julio 2009, 11:48 am
|
Buenas: Tanto en PS3 y/o 360 quiero saber si realmente se puede hacer estas cosas de alguna manera. 1- Guardar copias de seguridad en el PC de las partidas guardadas de los juegos. 2- Cuando te bajas las demos, ¿hay alguna manera de guardarlo en tu PC? 3- ¿Realmente hace falta disco duro de tanta capacidad? Si hiciera falta algún día, puedo pasar los datos del disco duro viejo al nuevo para no tener que empezar todo otra vez. 4- ¿Las partidas guardadas se pueden guardar en un pendriver? Ya los hay de 256GB y pronto de 512GB. 5- ¿Algún comentario? Recuerda, que consola hablas. Saludo.
|
|
|
556
|
Programación / .NET (C#, VB.NET, ASP) / Traducir programas.
|
en: 25 Julio 2009, 03:41 am
|
Hola:
Tengo un programa hecho con Visual Studio por alguien en inglés, no se si usa el VB .net o el VC#.
El .exe es de unos 24Kb. ¿Hay alguna manera de traducir los label del Inglés al español?
Saludo.
|
|
|
557
|
Programación / ASM / Códigos ASM utilizado en Apolo 11 hace 40 años en la Luna.
|
en: 24 Julio 2009, 15:25 pm
|
Hola: Curiosamente he encontrado códigos de libre distribución de la época de Apolo 11 que usaron el día que fueron en la Luna (si es que realmente fueron) hace 40 años. La verdad que nunca he visto en mi vida estos ASM. Abro este tema por curiosidad. # Copyright: Public domain. # Filename: ALARM_AND_ABORT.agc # Purpose: Part of the source code for Luminary 1A build 099. # It is part of the source code for the Lunar Module's (LM) # Apollo Guidance Computer (AGC), for Apollo 11. # Assembler: yaYUL # Contact: Ron Burkey <info@sandroid.org>. # Website: www.ibiblio.org/apollo. # Pages: 1381-1385 # Mod history: 2009-05-10 SN (Sergio Navarro). Started adapting # from the Luminary131/ file of the same # name, using Luminary099 page images. # 2009-06-05 RSB Fixed a type. # # This source code has been transcribed or otherwise adapted from # digitized images of a hardcopy from the MIT Museum. The digitization # was performed by Paul Fjeld, and arranged for by Deborah Douglas of # the Museum. Many thanks to both. The images (with suitable reduction # in storage size and consequent reduction in image quality as well) are # available online at www.ibiblio.org/apollo. If for some reason you # find that the images are illegible, contact me at info@sandroid.org # about getting access to the (much) higher-quality images which Paul # actually created. # # Notations on the hardcopy document read, in part: # # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61 # 16:27 JULY 14, 1969 # Page 1381 # THE FOLLOWING SUBROUTINE MAY BE CALLED TO DISPLAY A NON-ABORTIVE ALARM CONDITION. IT MAY BE CALLED # EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL. # # CALLING SEQUENCE IS AS FOLLOWS: # TC ALARM # OCT AAANN # ALARM NO. NN IN GENERAL AREA AAA. # # (RETURNS HERE) BLOCK 02 SETLOC FFTAG7 BANK EBANK= FAILREG COUNT* $$/ALARM # ALARM TURNS ON THE PROGRAM ALARM LIGHT, BUT DOES NOT DISPLAY. ALARM INHINT CA Q ALARM2 TS ALMCADR INDEX Q CA 0 BORTENT TS L PRIOENT CA BBANK +1 EXTEND ROR SUPERBNK # ADD SUPER BITS. TS ALMCADR +1 LARMENT CA Q # STORE RETURN FOR ALARM TS ITEMP1 CHKFAIL1 CCS FAILREG # IS ANYTHING IN FAILREG TCF CHKFAIL2 # YES TRY NEXT REG LXCH FAILREG TCF PROGLARM # TURN ALARM LIGHT ON FOR FIRST ALARM CHKFAIL2 CCS FAILREG +1 TCF FAIL3 LXCH FAILREG +1 TCF MULTEXIT FAIL3 CA FAILREG +2 MASK POSMAX CCS A TCF MULTFAIL LXCH FAILREG +2 TCF MULTEXIT # Page 1382 PROGLARM CS DSPTAB +11D MASK OCT40400 ADS DSPTAB +11D MULTEXIT XCH ITEMP1 # OBTAIN RETURN ADDRESS IN A RELINT INDEX A TC 1 MULTFAIL CA L AD BIT15 TS FAILREG +2 TCF MULTEXIT # PRIOLARM DISPLAYS V05N09 VIA PRIODSPR WITH 3 RETURNS TO THE USER FROM THE ASTRONAUT AT CALL LOC +1,+2,+3 AND # AN IMMEDIATE RETURN TO THE USER AT CALL LOC +4. EXAMPLE FOLLOWS, # CAF OCTXX # ALARM CODE # TC BANKCALL # CADR PRIOLARM # ... ... # ... ... # ... ... # ASTRONAUT RETURN # TC PHASCHNG # IMMEDIATE RETURN TO USER. RESTART # OCT X.1 # PHASE CHANGE FOR PRIO DISPLAY BANK 10 SETLOC DISPLAYS BANK COUNT* $$/DSPLA PRIOLARM INHINT # * * * KEEP IN DISPLAY ROUTINES BANK TS L # SAVE ALARM CODE CA BUF2 # 2 CADR OF PRIOLARM USER TS ALMCADR CA BUF2 +1 TC PRIOENT +1 # * LEAVE L ALONE -2SEC DEC -200 # *** DONT MOVE CAF V05N09 TCF PRIODSPR BLOCK 02 SETLOC FFTAG7 BANK COUNT* $$/ALARM BAILOUT INHINT CA Q # Page 1383 TS ALMCADR INDEX Q CAF 0 TC BORTENT OCT40400 OCT 40400 INHINT WHIMPER CA TWO AD Z TS BRUPT RESUME TC POSTJUMP # RESUME SENDS CONTROL HERE CADR ENEMA P00DOO INHINT CA Q ABORT2 TS ALMCADR INDEX Q CAF 0 TC BORTENT OCT77770 OCT 77770 # DON'T MOVE CAF OCT35 # 4.35SPOT FOR GOP00DOO TS L COM DXCH -PHASE4 GOP00DOO INHINT TC BANKCALL # RESET STATEFLG, REINTFLG, AND NODOFLAG. CADR FLAGS CA FLAGWRD7 # IS SERVICER CURRENTLY IN OPERATION? MASK V37FLBIT CCS A TCF STRTIDLE TC BANKCALL # TERMINATE GRPS 1, 3, 5, AND 6 CADR V37KLEAN TC BANKCALL # TERMINATE GRPS 2, 4, 1, 3, 5, AND 6 CADR MR.KLEAN # (I.E., GRP 4 LAST) TCF WHIMPER STRTIDLE CAF BBSERVDL TC SUPERSW TC BANKCALL # PUT SERVICER INTO ITS "GROUND" STATE CADR SERVIDLE # AND PROCED TO GOTOP00H. CCSHOLE INHINT CA Q TC ABORT2 OCT21103 OCT 1103 CURTAINS INHINT CA Q TC ALARM2 OCT217 OCT 00217 # Page 1384 TC ALMCADR # RETURN TO USER BAILOUT1 INHINT DXCH ALMCADR CAF ADR40400 BOTHABRT TS ITEMP1 INDEX Q CAF 0 TS L TCF CHKFAIL1 P00DOO1 INHINT DXCH ALMCADR CAF ADR77770 TCF BOTHABRT ALARM1 INHINT DXCH ALMCADR ALMNCADR INHINT INDEX Q CA 0 TS L TCF LARMENT ADR77770 TCF OCT77770 ADR40400 TCF OCT40400 DOALARM EQUALS ENDOFJOB EBANK= DVCNTR BBSERVDL BBCON SERVIDLE # CALLING SEQUENCE FOR VARALARM # CAF (ALARM) # TC VARALARM # # VARALARM TURNS ON PROGRAM ALARM LIGHT BUT DOES NOT DISPLAY VARALARM INHINT TS L # SAVE USER'S ALARM CODE CA Q # SAVE USERS Q TS ALMCADR TC PRIOENT OCT14 OCT 14 # DONT MOVE TC ALMCADR # RETURN TO USER ABORT EQUALS WHIMPER BANK 13 SETLOC ABTFLGS BANK # Page 1385 COUNT* $$/ALARM FLAGS CS STATEBIT MASK FLAGWRD3 TS FLAGWRD3 CS REINTBIT MASK FLGWRD10 TS FLGWRD10 CS NODOBIT MASK FLAGWRD2 TS FLAGWRD2 TC Q
Fuentes: http://code.google.com/p/virtualagc/source/browse/trunk/Comanche055http://code.google.com/p/virtualagc/source/browse/trunk/Luminary099/http://softlibre.barrapunto.com/softlibre/09/07/21/148250.shtml
|
|
|
559
|
Informática / Electrónica / Empezando esperimentar con el puerto paralelo.
|
en: 11 Julio 2009, 18:06 pm
|
Hola: Estoy intentando hacer un nuevo manual sobre el control del puerto paralelo bajo C#, C++ y VB. Por ahora empiezo con C#. Fijándome en esta Web aquí: http://www.codeproject.com/KB/cs/csppleds.aspxCopié la Interfaz a mi manera ya que este está hecho con el primer Visual Studio y como que todo cambia, los de ahora están mejor preparados y cómodos. De igual modo, esta interfaz no me funciona o no se enciende ningún led y fijándome en el diagrama. Si lo comprueban ustedes y me loconfirman, mejor que mejor. La interfaz que rediseñé de nuevo el código por dentro es avismal. Quiero probar el original antes de meterme con el mio. ¿Hay que tocar la BIOS para configurar el puerto paralelo? Se que en algunos PC hay que hacerlo. Mi Pc es un Pentium 4 a 2.8GBHz. Fotos de la BIOS. Saludo. Un cordial saludo.
|
|
|
560
|
Programación / .NET (C#, VB.NET, ASP) / Cambiar imagen con un click
|
en: 11 Julio 2009, 14:29 pm
|
Hola: Uso el Visual C# Express 2008. He incrustado un PictureBox y un CheckBox en el Form principal. Eligo dos gif llamado off.gif y off.gif y lo incrusto como indica la imagen. No se si es el método adecuado peo lo hice así. Al final debe quedar algo similar a esto: Lo que no se es el código exacto para activar el off.gif y el on.gif. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace PParalelo01 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (algo) { // Se activa la imagen de la bombilla apagada. } else { // Se activa la imagen de la bombilla encendida. } } } }
Un cordial saludo.
|
|
|
|
|
|
|