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
  String / HTTP Request Marc2014 1 18 Gestern 18:48
Letzter Beitrag: Tommy56
  Ein als "const" deklariertes Array übergeben Retian 5 126 08.11.2016 18:39
Letzter Beitrag: Tommy56
  String zusammensetzen Mathias 13 546 01.09.2016 21:15
Letzter Beitrag: Mathias
  String in EEPROM Speichern BennIY 2 415 27.06.2016 10:23
Letzter Beitrag: BennIY
  Messwerte in Array speichern ArduinoMega2560 2 419 07.06.2016 16:30
Letzter Beitrag: SkobyMobil
  String - Buchstabenposition auswerten scritch 5 662 01.04.2016 16:25
Letzter Beitrag: rkuehle
  String nach UTF16 konvertieren (UTF-16) ThoEngel 0 300 20.02.2016 19:22
Letzter Beitrag: ThoEngel
  array von Php --> Arduino zu senden (ethernet) Mourti 0 441 27.01.2016 22:11
Letzter Beitrag: Mourti
  Problem mit char array Retian 12 1.002 03.01.2016 22:34
Letzter Beitrag: hotsystems
Exclamation String Zerlegen in drei Variablen Wampo 4 848 28.12.2015 01:07
Letzter Beitrag: Wampo

Gehe zu:


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