Добрый день всем форумчанам. Вопрос такой. Есть код Код (C++): void temperatura(){ if( flag==flag_id) { val1= digitalRead(12); tft.fillScreen(GOLUB); tft.setCursor(80, 20); tft.setTextColor(WHITE); tft.setTextSize(3); tft.println("TEMPERATURA"); } } Данный код все время повторяется. vМеняется лишь пара строчек данных а именно flag_id и tft.println("TEMPERATURA"); Как сделать чтоб функция была одна а надпись менялась таким образом. 1) В место строки Код (C++): tft.println("TEMPERATURA"); пишем переменную line_blok Код (C++): tft.println(line_blok); 2) Там где ее надо вывести просто пишем код Код (C++): temperatura("Блок 1 "); temperatura("Блок 2"); temperatura("Блок 3"); Так же меняем флаг flag==1 flag==2 flag==3 И так далее. В результате в место трех функций будет всего одна, и в ней меняется только название выводимой информации. Если можно примерчик. Спасибо.
Увы не работает. Код (C++): void modules(const char* string){ val1= digitalRead(12); tft.fillScreen(BLACK); tft.setCursor(80, 20); tft.setTextColor(WHITE); tft.setTextSize(3); tft.println(string); } modules("AAAA");
Код (C++): Ошибку выдает expected constructor, destructor, or type conversion before '(' token Похоже понял ошибку, код был за пределами lopp. Спасибо вы очень помогли. А второй b nhtnbq параметр я могу добавить? Пример. Первые 2 параметра работают а вот RED не передается. Цвет должен оказаться в строке tft.fillScreen(color); Хотя Любой другой цвет передается нормально. Код (C++): loop{ modules("text modules", 1, RED); } void modules(const char* string, int flag_id, char color){ if(2==flag_id) { val1= digitalRead(12); tft.fillScreen(color); tft.setCursor(80, 20); tft.setTextColor(GREEN); tft.setTextSize(3); tft.println(string); tft.println(color); } }