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
Ergebnis lässt sich nicht speichern?
30.08.2015, 16:01
Beitrag #1
Ergebnis lässt sich nicht speichern?
String autorisierteshandy = "5A020C";
String gefundeneshandy = "nix";

if (h >= 42) { // Langes ergebnis = Bluetooth Gerät gefunden
char *id = readSerial(h);
char *str;
while ((str = strtok_r(id, "\n", &id)) != NULL) {
if (strlen(str) - 1 > 17) { < alle ergebnisse ignorieren ausser handy id
String gefundeneshandy(str);
gefundeneshandy.remove(0, gefundeneshandy.indexOf(',') + 1);
Serial.println(gefundeneshandy);
if (gefundeneshandy.indexOf(autorisierteshandy) >= 0) {
autorisiert = 1;
}
}

Der Code funktionier gut, aber nach verlassen der while schleife ist das gefundeneshandy wieder wie ursprünglich "nix"...

Mir gelingt es nicht, den mit remove gekürzten String in der gefundeneshandy variable zu speichern.

Ein versuch mittels
gefundeneshandy = gefundeneshandy.remove(0, gefundeneshandy.indexOf(',') + 1);
zu speichern schlug fehl (compiler fehler)
ebenso wie viele andere Versuche...
Ich bin anfänger... hoffe Ihr könnt mir helfen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.08.2015, 17:01
Beitrag #2
RE: Ergebnis lässt sich nicht speichern?
Hallo schuballaa,
kann es sein, dass
Zitat:String autorisierteshandy = "5A020C";
String gefundeneshandy = "nix";
irgendwo oben beim setup() steht und
Zitat:if (h >= 42) { // Langes ergebnis = Bluetooth Gerät gefunden
char *id = readSerial(h);
char *str;
while ((str = strtok_r(id, "\n", &id)) != NULL) {
if (strlen(str) - 1 > 17) { // alle ergebnisse ignorieren ausser handy id
String gefundeneshandy(str);
gefundeneshandy.remove(0, gefundeneshandy.indexOf(',') + 1);
Serial.println(gefundeneshandy);
if (gefundeneshandy.indexOf(autorisierteshandy) >= 0) {
autorisiert = 1;
}
}
in einer eigenen Funktion?
Wenn ja ist es kein Wunder, denn gefundeneshandy wird zweimal deklariert, einmal oben und einmal in der Funktion? Die Variable oben wird garnicht angefasst und steht wahrscheinlich immer auf "nix".
Ist insgesamt Rätselraten, da ich weiß, dass du nicht den kompletten Code geschickt hast. So fehlen die Zusammenhänge und man erkennt nicht wirklich was du erreichen möchtest.Den Code auch besser mit dem "#"-Symbol eingrenzen, liest sich besser.
Du solltest folgenden Hinweis für strtok_r() beachten:
Zitat:Be cautious when using these functions. If you do use them, note that:
These functions modify their first argument.
Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
30.08.2015, 17:07 (Dieser Beitrag wurde zuletzt bearbeitet: 30.08.2015 17:09 von hotsystems.)
Beitrag #3
RE: Ergebnis lässt sich nicht speichern?
So wie ich es sehe, setzt du die Variable doch am Anfang der loop wieder auf "nix".
Evtl. Stellst du mal den kompletten code rein, dann wird es auch übersichtlicher.

Edit:
Ok, Ricardo war schneller.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  BME280 - Luftdruckoffset nicht einstellbar ? Stargazer 17 489 13.08.2017 15:38
Letzter Beitrag: hotsystems
  Ich komme mit millis nicht weiter !!! Gonmaus 8 519 09.07.2017 21:24
Letzter Beitrag: Tommy56
  WEMOS Motorshield funzt nicht Rumpl-X 8 361 07.06.2017 21:10
Letzter Beitrag: Tommy56
  LCD geht nicht - keine Ahnung warum?? DL1AKP 12 644 15.05.2017 13:17
Letzter Beitrag: DL1AKP
  433mHz Funkmodule senden/empfangen nicht metzgefa 2 582 06.05.2017 13:30
Letzter Beitrag: metzgefa
  Arduino UNO hat sich Aufgehängt?? huber5093 24 1.537 28.04.2017 19:58
Letzter Beitrag: Tommy56
  SD Karte wird nicht erkannt Maxi290997 6 350 31.03.2017 06:05
Letzter Beitrag: Bitklopfer
Sad Sketch funktioniert auf dem Mega 2560 nicht Frank1234 16 892 26.03.2017 14:15
Letzter Beitrag: oOSpikeOo
  Mein Skript macht nicht das was es soll ;( DerMatze79 4 405 16.03.2017 22:19
Letzter Beitrag: MicroBahner
Rainbow File geht nicht zum compilieren!!!! Jocky 7 460 19.02.2017 20:01
Letzter Beitrag: Binatone

Gehe zu:


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