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
Rainbow File geht nicht zum compilieren!!!! Jocky 7 134 19.02.2017 20:01
Letzter Beitrag: Binatone
  IRremote bringe ich nicht zum laufen Franz54 5 83 19.02.2017 11:56
Letzter Beitrag: Tommy56
  Code aus 1.6.9 geht mit 1.8.1 nicht mehr zu kompilieren DL1AKP 7 253 02.02.2017 12:16
Letzter Beitrag: Tommy56
  Arduino Läst sich nicht Programmieren Micha06 4 180 29.01.2017 17:27
Letzter Beitrag: Micha06
  Nicht verzagen Forum fragen bergfrei 13 402 28.01.2017 06:09
Letzter Beitrag: dqb312
  Arduino UNO hat sich Aufgehängt?? huber5093 16 383 27.01.2017 23:59
Letzter Beitrag: hotsystems
  Sloeber findet meinen Com Port nicht :-( Pfeilebastler 2 106 27.01.2017 11:11
Letzter Beitrag: hotsystems
  nRF24l01 empfängt Daten nicht techniclover 1 181 09.01.2017 19:20
Letzter Beitrag: celle
  [Gelöst] SD Card (Ethernet Shield) IO funktioniert nicht __jb__ 7 412 05.01.2017 09:51
Letzter Beitrag: rpt007
Wink Funktioniert, funktioniert nicht. clandestino 7 334 04.01.2017 22:54
Letzter Beitrag: renid55

Gehe zu:


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