INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
String-Array füllen?
26.06.2016, 11:22
Beitrag #1
String-Array füllen?
Hallo,
ich möchte gern ein Array mit String-Variablen füllen. Dazu lege ich erst einmal das Array an:
Code:
char* myStrings[]={"","","","","",""};

Nun möchte ich das Array an der ersten Position füllen:
Code:
String wert = "Zeile 1";
  myStrings[0] = wert;

Dabei bekomme ich leider folgende Fehlermeldung:
Zitat:...
cannot convert 'String' to 'char*' in assignment

Wie bekomme ich jetzt den String an die jeweilige Array-Position???

Gruß
Torsten
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.06.2016, 11:25
Beitrag #2
RE: String-Array füllen?
Diese Frage gab es hier in diesem Forum schon einmal.

Suche mal hier im Forum.

P.S. was macht dein anderes Problem, ein Rückinfo wäre schon gut?

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.06.2016, 12:01 (Dieser Beitrag wurde zuletzt bearbeitet: 26.06.2016 12:04 von torsten_156.)
Beitrag #3
RE: String-Array füllen?
(26.06.2016 11:25)hotsystems schrieb:  Diese Frage gab es hier in diesem Forum schon einmal.

Suche mal hier im Forum.

ok, mache ich...

Zitat:P.S. was macht dein anderes Problem, ein Rückinfo wäre schon gut?

Wenn du das hier meinst, hatte ich doch in #5 geantwortet. Oder welches Problem meintest du?

Gruß
Torsten
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.06.2016, 12:09
Beitrag #4
RE: String-Array füllen?
(26.06.2016 12:01)torsten_156 schrieb:  Wenn du das hier meinst, hatte ich doch in #5 geantwortet. Oder welches Problem meintest du?

Ja, das meinte ich und hatte ja wegen der Zeichenanzahl geantwortet.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.06.2016, 12:18
Beitrag #5
RE: String-Array füllen?
Ok, ich hatte mich erst einmal mit der Lösung zufrieden gegeben. Denn ich habe den Scetch etwas umgebaut. Aber für´s Verständnis hatte ich ja eine Lösung.

Beim Umbau des Scetches bin ich dann leider auf das Problem mit dem String-Array gekommen. Mein Ziel ist es, auf einem OLED-Display in fünf Zeilen die einzelnen Schritte meiner ESP8266-Lösung (Bei Alarm eine EMail verschicken) darzustellen. Denn wenn alles dunkel abläuft, ist das ja nicht so toll Wink
Die einzelnen Zeilen sollen dann von unten nach oben laufen. Dazu das benötigte Array.

Gruß
Torsten
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.06.2016, 12:33 (Dieser Beitrag wurde zuletzt bearbeitet: 26.06.2016 12:35 von hotsystems.)
Beitrag #6
RE: String-Array füllen?
Ja, ok.
Ich habe da leider keine Lösung parat, kenne aber das Problem.
Wie schon gesagt, hierim Forum gab es diese Frage schon.

Hier die Antwort.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.06.2016, 13:08
Beitrag #7
RE: String-Array füllen?
Danke dafür. Ich werde es jetzt mal versuchen und das Ergebnis dann postenWink

Gruß
Torsten
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.06.2016, 21:15
Beitrag #8
RE: String-Array füllen?
So, ich habe mich jetzt von dem Array verabschiedet! Habe mir gedacht, dass es ja auch mit fünf String-Variablen gehen sollteBig Grin
Jetzt geht es wie gewünscht. Da das Display nur fünf Zeilen darstellen kann, müssen bei der Anzeige weiterer Strings die fünf bestehenden Zeilen dann eine POsition nach oben rutschen. Also das erste rutscht dann oben raus. Habe es wie folgt gelöst:

Code:
#include "U8glib.h"

U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9, 8);  // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9

void u8g_prepare(void) {
  u8g.setFont(u8g_font_6x10);
  u8g.setFontRefHeightExtendedText();
  u8g.setDefaultForegroundColor();
  u8g.setFontPosTop();
}

String str;
char valLine_1[10] = "";
char valLine_2[10] = "";
char valLine_3[10] = "";
char valLine_4[10] = "";
char valLine_5[10] = "";

String tmpValue;

int zaehler = 0;
//int Linepos = 0;
//bool letzteZeile = false;

void setup(void) {
  Serial.begin(9600);
pinMode(5,INPUT);

}

void loop(void) {
int buttonState = digitalRead(5); //liest den Taster ein
if (buttonState == HIGH)
  {
  zaehler++;
  Serial.println(zaehler);
  delay(500);

      switch(zaehler){
        case 1:
          tmpValue = "Zeile " + String(zaehler);
          tmpValue.toCharArray(valLine_1, 10);
          break;
        case 2:
          tmpValue = "Zeile " + String(zaehler);
          tmpValue.toCharArray(valLine_2, 10);
          break;
        case 3:
          tmpValue = "Zeile " + String(zaehler);
          tmpValue.toCharArray(valLine_3, 10);
          break;
        case 4:
          tmpValue = "Zeile " + String(zaehler);
          tmpValue.toCharArray(valLine_4, 10);
          break;
        case 5:
          tmpValue = "Zeile " + String(zaehler);
          tmpValue.toCharArray(valLine_5, 10);
          break;
        default:
          rotate();
          tmpValue = "Zeile " + String(zaehler);
          tmpValue.toCharArray(valLine_5, 10);
        }

} //von if

      //Schreibt das Display  
      u8g.firstPage();  
      do {
      u8g_prepare();
      u8g.drawStr(0, 0,  valLine_1);  
      u8g.drawStr(0, 10, valLine_2);
      u8g.drawStr(0, 20, valLine_3);
      u8g.drawStr(0, 30, valLine_4);
      u8g.drawStr(0, 40, valLine_5);
      } while( u8g.nextPage() );

}

void rotate()
{
  //Zeilen werden eine Zeile hoch geschoben
  //memcpy( ziel, quelle, anzahlbytes );
  memcpy(valLine_1, valLine_2, 10);
  memcpy(valLine_2, valLine_3, 10);
  memcpy(valLine_3, valLine_4, 10);
  memcpy(valLine_4, valLine_5, 10);
}

Gruß
Torsten
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  pinMode mit array luj1990 6 479 22.07.2017 10:24
Letzter Beitrag: Binary1
  String vergleichen georg01 15 663 18.07.2017 20:35
Letzter Beitrag: Tommy56
  String.charAt() ardun 3 273 02.07.2017 15:28
Letzter Beitrag: Tommy56
  Aus char string machen metzgefa 1 292 06.05.2017 15:15
Letzter Beitrag: Tommy56
  Array-Index zu groß: Tückisches Verhalten GuaAck 6 314 05.05.2017 22:03
Letzter Beitrag: Tommy56
  Array mit Serial.read befüllen Gonmaus 4 422 01.05.2017 09:13
Letzter Beitrag: Gonmaus
  String übergeben oOSpikeOo 9 510 28.03.2017 19:47
Letzter Beitrag: georg01
  Array länge oOSpikeOo 4 275 28.03.2017 18:57
Letzter Beitrag: oOSpikeOo
  String in tinygps++ einlesen hoko 17 969 07.03.2017 15:40
Letzter Beitrag: hoko
  String -> Char *gelöst* Binatone 2 481 31.01.2017 11:08
Letzter Beitrag: Binatone

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste