Für Funktion String = String(Nummer) zusammenfügen

Hallo zusammen,

ich wollte meinen Code ein bisschen zusammenfassen um ihn einfacher zu gestalten, bzw. so, dass ich ihn nicht fortlaufend erweitern muss.

Dies ist mein alter Code:

void editvaluesforedit() {
  if(editbs=="0"){
    ticket = ticket0;
    bemerkung = bemerkung0; }

  if(editbs=="1"){
    ticket = ticket1;
    bemerkung = bemerkung1; }

  if(editbs=="2"){
    ticket = ticket2;
    bemerkung = bemerkung2; }
}

Über eine erzeugte Webseite lese ich in der GET Abfrage vorher aus, welche Zahl (1-3) übergeben wurde, diese übermittle ich dann an die Funktion welche mir dann den Ticketnamen und die Bememerkung dazu anzeigen soll. Diese zweite Webseite wird mit dem Inhalt aus den Variablen ticket und bemerkung erzeugt.

Das war mein Versuch / Gedankengang die Funktion zu verschmalern.

void editvaluesforedit() {
    ticket = ticket(editbs);
    bemerkung = bemerkung(editbs);
}

Klappt leider nicht. error: no match for call to '(String) (String&)' bemerkung = bemerkung(editbs);

Wie löse ich das Problem am besten?

Mit freundlichen Grüßen

Sie sollten Arrays verwenden, dann wird es einfach sein:

ticket[editbs];
bemerkung[editbs];

Vielen Dank, dies werde ich mal probieren.

Dann könnte ich vermutlich sogar ein zwei Dimensionales Array, also eine Art Tabelle erstellen. Es geht nämlich um Daten einer 300 Zeilen x 5 Spalten Tabelle.

Gibt es eine Größenbeschränkung? "Bemerkung" ist so gesehen ein Beschreibungstext und soll am besten dynamisch so lang sein können wie es möglich ist.

Kann ich dann auch nur einzelne Spalten meiner Array Tabelle updaten und mit SPIFFS in das Dateisystem speichern und bei einem Neustart laden?

Ja, der RAM-Speicher Ihres Arduino :slight_smile:
Tabellen haben eine feste Größe.

Ja. Es erfordert besondere Entwicklung

Vielen Dank für Ihre Zeit und Mühe, ich denke Sie haben mir gut weitergeholfen.

Ich denke nur, dass die Preferences Library nicht so gut für mein Vorhaben geeignet ist. Im Artikel selbst steht auch: ,,This library is handy to save key:value pairs. Data held on the flash memory remains there even after resetting the ESP32 or removing power.

If you need to store bigger amounts of data or files, you should use the ESP32 filesystem (SPIFFS) or a microSD card instead:"

Entschuldigung, es war der erste Google-Hit
Suchen Sie nach "ESP32 SPIFFS CSV lesen und schreiben" (oder "ESP32 SPIFFS read and write CSV")

Hier finde ich leider nichts was mir weiterhilft.

Sie müssen Technik kombinieren

Und Eingabeanalyse Serial Input Basics (Spiff/Serial ersetzen)