Hi! Ich habe einen String : +Clip: "+491731234567",145,,,"K1" Nun mein Problem, der Atmega 8 soll diesen String auswerten. Er entsteht von einem Modem, welches den eingehenden Anruf so anzeigt. K1 ist der gespeicherte Name auf dem Telefonbuch. ich möchte dieses K1 oder besser die Nummer ausfiltern, heisst es soll ein neuer String mit Inhalt K1 oder +491731234567 entstehen. Wenn ich bascom sage if String = "+Clip: "+491731234567",145,,,"K1"" dann meckert bascom natürlich wegen den " im String!!!! Was kann ich tun? Gibt es eine Möglichkeit die kommas zu zählen oder so ähnlich? Bitte meldet euch auch per gert.neubert@t-online.de dazu. Vielen Dank!
Entweder das Gäsenfüsschen "escapen" (üblicherweise mit \) oder das Gänsefüsschen als Ascii-Zeichen in den String einhängen (z.B. chr() oder ord()) Eins von beiden wird Bascom schon kennen.
@ Uwe Neubert (Gast) >die Nummer ausfiltern, heisst es soll ein neuer String mit Inhalt K1 >oder +491731234567 entstehen. Also einfach die Nummer rausfiltern. Sollte einfach sein, es ist der erste Text von vorn in Gänsefüsschen. >Wenn ich bascom sage if String = "+Clip: "+491731234567",145,,,"K1"" >dann meckert bascom natürlich wegen den " im String!!!! Was kann ich >tun? RTFM. Die Schlüsselworte lauten ASC(), MID() und FOR Schleife. >Gibt es eine Möglichkeit die kommas zu zählen oder so ähnlich? Sicher. >Bitte meldet euch auch per gert.neubert@t-online.de dazu. Vielen Dank! Nööö, du must schon ab und zu mal vorbei schauen. Oder dich anmelden und die automatische Emailbenachrichtigung aktivieren. MFG Falk
Falk Brunner wrote: >>Bitte meldet euch auch per gert.neubert@t-online.de dazu. Vielen Dank! > > Nööö, du must schon ab und zu mal vorbei schauen. Oder dich anmelden und > die automatische Emailbenachrichtigung aktivieren. Es gibt offensichtlich immernoch Leute, die nicht wissen, wie so ein Internet-Forum eigentlich funktioniert und warum es funktioniert...
Bin ja registriert, hab mein Passwort vergessen :-) ich habe mal in die Hilfe von bascom geschaut,dort steht auch was zu den "Schlüsselwörtern", hab ich das richtig verstanden, dass ich mit "Trimm" die Gänsefüßchen wegbekomme?
@ Falk, was heisst das hier: RTFM. ???? Ich gukhier öfter vorbei. Mein Hauptgebiert sind GSM_modems und deren Anwendung. Und nun suche ich ne Lösung zu der Clip-Funktion, ich brauch halt die Nummern einzeln erkannt.
Uwe Neubert wrote:
> @ Falk, was heisst das hier: RTFM. ????
Read The F*cking Manual...
Das ist Englisch und bedeutet Umgangssprachlich: "liess die verdammte
Anleitung", wobei 'verdammt' schon sehr abgeschwächt vom original etwas
abweicht....
@ falk Bist mir ne große Hilfe... Wenn ich das (englische!!!) Manual so schnell durchgelesen hätte wie du es kennst müßte ich hier nicht um Hilfe bitten.
@ Uwe Neubert (Gast) >@ Falk, was heisst das hier: RTFM. ???? http://www.gidf.de http://en.wikipedia.org/wiki/RTFM MFG Falk
@ Uwe Neubert (Gast) >Bist mir ne große Hilfe... >Wenn ich das (englische!!!) Manual so schnell durchgelesen hätte wie du >es kennst müßte ich hier nicht um Hilfe bitten. Ich KENNE es so ziemlich gar nicht. Es oxidiert nur auf meiner Festplatte und belegt ca. 15 MB. Ein Doppelclick öffnet es, dauert hier ca. 5 Sekunden (Jaja, nicht die schnellste Maschine). CTRL+F ist die Tastenkombination deiner Wahl. Suchbegiff eingeben und schwups. OK, meine Basic-Vergangenheit holt mich da ein ;-) Win-Tastenkombinationen MFG Falk
@ Niels Hüsken (monarch35) >Anleitung", wobei 'verdammt' schon sehr abgeschwächt vom original etwas >abweicht.... Warum? Das ist die recht offizielle Übersetzung. Und ich meine offiziell, nicht das PEEP geschönte aus dem amerikanischen Fernsehen. Da gibst ein schönes, ironisches MP3, welches die manigfaltige Verwendung des berühmten F-Words im Englischen sehr schön veranschaulicht. Finde ich aber leider im Moment nicht. :-( F***erdamt ;-) MFG Falk, auch ein F-Word mit 4 Buchstaben, bei amerikanischer Aussprache 8-0
Falk Brunner wrote: >>Anleitung", wobei 'verdammt' schon sehr abgeschwächt vom original etwas >>abweicht.... > > Warum? Das ist die recht offizielle Übersetzung. Und ich meine Naja, ich mit meiner acht-monatiger Erfahrung mit Amerikanern würde das F-Wort nicht unbedingt generell mit 'verdammt' übersetzen. Im Deutschen gibt es einfach kein Wort, daß unter Garantie selbst bei Erwachsenen entweder einen verschreckten oder hämigen Gesichtsausdruck hervoruft. Wenn ich es Übersetzen müsste und dabei sowohl den emotionalen als auch den sinnlichen Kontext zu wahren versuche, würde ich es so probieren: "Liess die verschissene, bekackte Anleitung, du Arsch!" Das Suffix "du Arsch" ist nötig, weil "verschissen" und "bekackt" zusammen nicht selbigen emotionalen Wert erreichen, wie "f*cking". Ich glaub, wir sind etwas vom Thema ab....
Bin ja mal gespannt ob man weiter Beleidigungen loswird oder ob das hier noch brauchbares ausspuckt... Fahre ich besser, den String in ASCII umzuwandeln und dann zu sortieren? Bascom akzeptier kein If zeichen = """, sprich es erkennt die Gänsefüßchen nicht an, und beim deklarieren muss man alles in denen schreiben: "gänsefüßchen"
Uwe Neubert wrote: > Bin ja mal gespannt ob man weiter Beleidigungen loswird oder ob das hier > noch brauchbares ausspuckt... Wurde doch schon gesagt: Nach dem ersten " suchen Ab dort bis zum nächsten " suchen und alles dazwischenliegende zb in einen neuen String umkopieren. Die Schlüsselworte dazu sind ASC(), MID() und FOR Vorallem FOR, wenn du nicht zufällig in der Doku noch eine Stringfunktion findest, die nach einem Zeichen in einem String suchen kann. Warum glauben eigentlich immer soviele Leute, dass es für alles und jeden Problemfall ein eigenes Schlüsselwort in der Sprache geben muss? > Fahre ich besser, den String in ASCII umzuwandeln und dann zu sortieren? > Bascom akzeptier kein If zeichen = """, sprich es erkennt die > Gänsefüßchen nicht an, Da gibt es bestimmt eine bestimmte Schreibweise für Gänsefüschen in einem String. Jede Sprache hat da was dafür.
Karl heinz Buchegger wrote: > Uwe Neubert wrote: >> Bin ja mal gespannt ob man weiter Beleidigungen loswird oder ob das hier >> noch brauchbares ausspuckt... > > Wurde doch schon gesagt: > Nach dem ersten " suchen > Ab dort bis zum nächsten " suchen und alles dazwischenliegende > zb in einen neuen String umkopieren. > > Die Schlüsselworte dazu sind ASC(), MID() und FOR > > Vorallem FOR, wenn du nicht zufällig in der Doku noch eine > Stringfunktion findest, die nach einem Zeichen in einem > String suchen kann. InStr() heisst das Ding in VB. Wird es in BASCOM bestimmt auch geben. > Warum glauben eigentlich immer soviele Leute, dass es für alles > und jeden Problemfall ein eigenes Schlüsselwort in der Sprache > geben muss? BASCOMer sind wohl so erzogen ^^ >> Fahre ich besser, den String in ASCII umzuwandeln und dann zu sortieren? >> Bascom akzeptier kein If zeichen = """, sprich es erkennt die >> Gänsefüßchen nicht an, > > Da gibt es bestimmt eine bestimmte Schreibweise für Gänsefüschen > in einem String. Jede Sprache hat da was dafür. VB: s = """" Also einfach die Anführungszeichen verdoppeln (s = "abc""xyz""blub").
Versuch mal: if String = "+Clip: ""+491731234567"",145,,,""K1""" also die Anführungszeichen verdoppeln geht bei allen mir bekannten BASIC-Dialekten...
Hab mir eben mal ein BASCOM Manual im Netz besorgt. Da steht: <quote> Strings A string is used to store text. A string must be dimensioned with the length specified. DIM S as STRING * 5 Will create a string that can store a text with a maximum length of 5 Bytes. The space used is 6 bytes because a string is terminated with a null byte. To assign the string: s = "abcd" To insert special characters into the string: s = "AB{027}cd" The {ascii} will insert the ASCII Value into the string. The number of digits must be 3. s = "{27 will assign "{27}" to the string instead of escape character 27! </quote> http://www.mcselec.com/download/avr/bascom-avr%20manual%201.11.7.pdf
@Uwe Neubert (Gast) >Fahre ich besser, den String in ASCII umzuwandeln und dann zu sortieren? Ein String ist bereit eine Kette von ASCII-Zeichen. Hear, Hear. >Bascom akzeptier kein If zeichen = """, sprich es erkennt die >Gänsefüßchen nicht an, und beim deklarieren muss man alles in denen >schreiben: "gänsefüßchen" Siehe die Poster oben. Es gibt sogar schon eine Funktion, die eine String nach speziellen Zeichen durchsucht und zerhackt. SPLIT. Einfacher gehts nimmer. MFG Falk
Falk Brunner wrote: > Es gibt sogar schon eine Funktion, die eine String nach speziellen > Zeichen durchsucht und zerhackt. SPLIT. Einfacher gehts nimmer. Lass mich raten: Du hast das Unaussprechliche getan und ins Manual geschaut?
@Karl heinz Buchegger (kbuchegg) >> Es gibt sogar schon eine Funktion, die eine String nach speziellen >> Zeichen durchsucht und zerhackt. SPLIT. Einfacher gehts nimmer. >Lass mich raten: >Du hast das Unaussprechliche getan und ins Manual geschaut? Hatte ich mich nicht schon geoutet? ;-) MfG Falk
Hi, mal ein paar Anregungen zu deinem Problem Wenn dein String namens GSM folgendes beinhaltet: +Clip: "+491731234567",145,,,"K1" 1.Version 'Zuerst mal das erste Anführungszeichen suchen mit P=INSTR(GSM,"{034}") ' Ab hier beginnt die Nummer Incr P ' Nun das zweite Anführungszeichen suchen P1=INSTR(P,GSM,"{034}") ' eins zurück Decr P1 ' und nun die Nummer ausschneiden Nummer=Mid(GSM,P,P1) 2.Version Dim GSM as String * 30 Dim GSM_Array(30) as Byte at GSM Overlay Dann kannst du den String einfach als Array durchsuchen. Der String ist bei der Geschichte im Speicher ein Byte länger, da er nullterminiert ist und dieses Zeichen noch dazu kommt. Also als Beispiel zum Ansprechen: For Count=1 to 30 If GSM_Array(Count)=34 Then ' mach was du willst End if Next Count Ich würde dir, falls du weitere Anwendungen mit GSM planst, aus eigener Erfahrung zu der Array-Variante raten. Spätestens bei der Auswertung von SMS-Nachrichten im PDU-Mode wirst du auf Daten stossen, die ein Chr(0) enthalten und im String dadurch Probleme machen. mfg. Joachim
@ Joachim: Vielen Dank! Du hast mich echt weiter gebracht, man hätte auch direkt ins Thema einsteigen können ohne das Themafremde Gelaber anderer hier... Weiss nicht ob die Punkte für ihre Threads sammeln oder warum man über S.......e diskutieren muss. Zurück zum Thema, ich benutze nur den Textmodus, daher muss ich gottseidank keine PDUs auswerten (Puhh...!) Ich meld mich wenn mein Problem behoben ist, bzw. wenn die Kiste läuft. Danke sehr!
Uwe Neubert wrote: > Vielen Dank! Du hast mich echt weiter gebracht, man hätte auch direkt > ins Thema einsteigen können ohne das Themafremde Gelaber anderer hier... > Weiss nicht ob die Punkte für ihre Threads sammeln oder warum man über > S.......e diskutieren muss. Da muss man halt durch :-). Es ist manchmal etwas heftig hier im Forum. > Zurück zum Thema, ich benutze nur den Textmodus, daher muss ich > gottseidank keine PDUs auswerten (Puhh...!) Ich meld mich wenn mein > Problem behoben ist, bzw. wenn die Kiste läuft. Danke sehr! Da hst du es besser wie ich. Da mir die GSM-Module zu teuer sind, muss halt mein altes S25 dafür herhalten. Und mittlerweile hab ich zumindestens schon mal die SMS-PDU-Dekodierung im Griff. mfg. Joachim
Hallo Forum, Ich habe mir diesen Thread mal durchgelesen. Ich wollte gerad einen neuen erstellen aber der Titel dieses Beitrags entspricht genau dem was ich suche. Nur der Inhalt nicht^^ Ich möchte in Bascom einen String der vom UART kommt in Teile zerlegen. Leider sind es nicht immer gleichgroße Stücke. Beispiel: 123b456b789 b=Trenner zwischen die Abschnitten kann auch so sein: 12b345b67 Ich kann auch gerne nochmal die Funktion beschrieben. Vom PC kommen nacheinander 3 Werte (RGB) Diese soll Bascom dann trennen und auf jeweils 3 PWM Kanäle geben. Mit dem PWM ist alles Toll und funktioniert mein Problem liegt nur bei der aufteilung der empfangenen Daten.
@ Robin Tönniges (rotoe) >Ich habe mir diesen Thread mal durchgelesen. Ich wollte gerad einen >neuen erstellen aber der Titel dieses Beitrags entspricht genau dem was >ich suche. Nur der Inhalt nicht^^ Dann hast du wohl Tomaten auf den Augen. SPLIT ist der Befehl den du suchst. MFG Falk
Vielen Dank, auch mir hat Bastelbaer sehr geholfen. Als Hinweis zum gräsigen PDU mode. In der eBucht gibts im Moment tc35 Module auf development-Board mit TEXT-Mode für 24,99€
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.