TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Nosemucho en 09 de Octubre de 2003, 14:28:00

Título: Un problemilla con los arrays de texto
Publicado por: Nosemucho en 09 de Octubre de 2003, 14:28:00
const struct letra
 {
  char texta[40];
  } letra[3]={"hola","que","tal"};

Alguien sabe por que el siguiente codigo no funciona.
Al compilar da error, he probado de varias maneras y
siempre falla.

Gracias:
Título: RE: Un problemilla con los arrays de texto
Publicado por: solid84 en 09 de Octubre de 2003, 15:24:00
es muy simple coloca el texto dentro de las llaves ya que lo que estas haciendo es declarar como constante la variable texta y no letra que tiene el texto por eso te marca error otra cosa por que concatenar el texto si puede quedar en 1 solo por ejemplo:

const char letra[1][12]={
                                       {"Hola que tal"},
                                      }

ó igual :

const char letra[3]={
                                  {"Hola"},
                                  {"que"},
                                  {"tal"},
                               }
espero ser claro saludos
Título: RE: Un problemilla con los arrays de texto
Publicado por: Nosemucho en 09 de Octubre de 2003, 15:59:00
hola gracias por colaborar pero siento decierte que la segunda opcion que me dais tanpoco funciona.

La razon por la que uso este sistema es por que de esta manera puede mediante un bucle acceder a cuaquier texto
sin problemas, auque de momente no lo he logrado.
Es decir

const struct letra
 {
 char texta[40];  //numero maximo de letra por linea
 } letra[3]={"hola","que","tal"}; // numero de lineas

con letra[0].texta accederia en este caso a "hola"
con letra[1].texta accederia a "que" y asi sucesivamente

De esta manera se puede generar un menu con una sola variable con tan solo cambiar el puntero al array, no se si me explico.
gracias
Título: RE: Un problemilla con los arrays de texto
Publicado por: solid84 en 09 de Octubre de 2003, 22:42:00
no me queda muy claro pero me imagino que quieres hacer varios menus para un display por eso es de 40 caracteres en texta y varias variables letra para acceder a cada texto que sea como maximo 40 caracteres  o no se si puedes explicar un poco mas acerca de tu proyecto para tratar de averiguar cual es el error
Título: RE: Un problemilla con los arrays de texto
Publicado por: pocher en 11 de Octubre de 2003, 06:50:00
Vamos a ver si ahora está bien:

#include <16F876.h>
#use delay(clock=4000000)
#include <lcd2.c>

void main()
{
   char letra[3][7]={"hola","que","tal"};
   lcd_init();   
   printf(lcd_putc,"%s",letra[0]);
}

Con letra[0] saca hola, con letra[1] saca que y con letra[2] saca tal.

¿Te sirve así? sin necesidad de estructura.

Un saludo

Título: RE: Un problemilla con los arrays de texto
Publicado por: pocher en 11 de Octubre de 2003, 11:58:00
Ahora con estructura:

#include <16F876.h>
#use delay(clock=4000000)
#include <lcd2.c>

void main()
{
       struct{
             char nombre[9];
       }chicos[5]={{"Pio"},{"Pepe"},{"Paco"},{"Antonio"},{"Romualdo"}};
       lcd_init();            
       printf(lcd_putc,"%s",chicos[4].nombre);   
}
Título: RE: Un problemilla con los arrays de texto
Publicado por: Nosemucho en 13 de Octubre de 2003, 14:00:00
Gracias, si creo que esta formula ya funciona, gracias por todo, espero que yo tambien pueda ayudar en lo que sea dentro de mis posibilidades, gracias de nuevo.
Un saludo a todo el mundo. Estaremos en contacto.