Autor Tema: Modificar 3 cadenas en una funcion  (Leído 2124 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Modificar 3 cadenas en una funcion
« en: 15 de Octubre de 2012, 15:16:35 »
Hola a todos, la consulta es la siguiente tengo varios botones en pantalla que quiero que los textos puedan ser modificados por pantalla.

El codigo en C30 es el siguiente


Código: C
  1. void pantalla_boton(unsigned char boton,char *text1,char *text2,char *text3)
  2. {
  3. char                    nombre_1[15];
  4. char                    nombre_2[15];
  5. char                    nombre_3[15];
  6. unsigned short  cont_nombre_1,cont_nombre_2,cont_nombre_3;
  7.  
  8. memset(nombre_1,0,15);
  9. memset(nombre_2,0,15);
  10. memset(nombre_3,0,15);
  11.  
  12. strcpy(nombre_1,text1);
  13. strcpy(nombre_2,text2);
  14. strcpy(nombre_3,text3);
  15.  
  16. cont_nombre_1 = strlen(nombre_1);
  17. cont_nombre_2 = strlen(nombre_2);
  18. cont_nombre_3 = strlen(nombre_3);
  19.  
  20.  
  21. glcd_text57(x1_b+(x2_b-x1_b)/2-((cont_nombre_1)*tam_texto*5)/2-cont_nombre_1,y1_b+(y2_b-y1_b)/2-(tam_texto*7)/2,nombre_1,tam_texto,WHITE);///ESTO MUESTRA EL TEXTO1 INGRESADO, LO HACE BIEN
  22.  
  23.  
  24. }


Hasta alli todo va bien, el texto que ingreso es mostrado bien en la pantalla de modificacion, pero no se como cargar las modificaciones en las direcciones ingresadas, para que la funcion me devuelva el texto ya modificado.
Tener en cuenta que son 3 textos.

Me echan un cable porfa.


Saludos.
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Modificar 3 cadenas en una funcion
« Respuesta #1 en: 15 de Octubre de 2012, 16:19:42 »
Estoy haciendo lo siguiente pero no me da buen resultado


Código: C
  1. char                    *dest1;
  2.  
  3. *dest1 = nombre_1;
  4.  
  5. for(c=0;c<15;c++)
  6.     {
  7.      *text1++ = *dest1++;
  8.     }//

A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Modificar 3 cadenas en una funcion
« Respuesta #2 en: 15 de Octubre de 2012, 16:31:31 »
Epa ya está, la solución fue esta:

Código: C
  1. for(c=0;c<15;c++)
  2.                         {
  3.                         *text1++ = nombre_1[c];
  4.                        
  5.                         }//


Saludos.
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.