1

Topic: Текстове поле

тут такое дело для выведение в интерфейс значений нада писать допустим sprintf (RemoteXY.text_2, str);, так вот RemoteXY.text_2 - указывает на поле в котором должно вывести значение str, а если мне допустим нада по очеререди вывести в 10 полей значение, не писать же 10 раз  sprintf (RemoteXY.(название поля), допусти 10 полей text_1-10, можно как то написать чтоб например RemoteXY.text_1....RemoteXY.text_2.....RemoteXY.text_3... например 
text_1;
text_2;
text_3;
text_4;
text_5;

int r=0;
int str=1;
sprintf(RemoteXY.text_'r', str)
str=+1;
r++;

тоесть после каждого выполение кода, значение r меняетса, поетому и меняетса название текстового поля, обясните можна ли так зделать если да то как?

2

Re: Текстове поле

Вы можете определить массив ссылок на переменные из структуры RemoteXY и далее уже через этот массив ссылок обращаться к полям структуры по индексу.

struct {
  char text_1[11];
  char text_2[16];
  char text_3[5];
  char text_4[11];
} RemoteXY;

//дополнительный массив ссылок
char *textLinks[] = {
  RemoteXY.text_1, 
  RemoteXY.text_2, 
  RemoteXY.text_3, 
  RemoteXY.text_4
}; 

void setAllText()  { 
  for (int i=0; i<4; i++) {
    sprintf (*textLinks[i], "Field %d", i+1);
  }
}