Zurück   KNX-User-Forum > Supportforen > eibPC
knx-user-forum - International KNX Award Winner 2010


Links
Kalender
Spende

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 28.10.2009, 10:45
Benutzerbild von enertegus
Erfahrener Benutzer
 
Registriert seit: 25.04.2009
Ort: Forchheim
Beiträge: 1.330
enertegus wird schon bald berühmt werdenenertegus wird schon bald berühmt werden
Standard Geburstagskalender

Hier ein Geburtstagskalender für eine KNX Text-Anzeige
Angehängte Grafiken
Dateityp: png WebServer-Ergebnis4.png (24,3 KB, 213x aufgerufen)
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #2  
Alt 28.10.2009, 11:31
meudenbach
Gast
 
Beiträge: n/a
Standard

Ginge das auch mit Datenbank Zugriff ????

Dann wäre es evtl. interessant...

LG
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #3  
Alt 28.10.2009, 11:38
Benutzerbild von enertegus
Erfahrener Benutzer
 
Registriert seit: 25.04.2009
Ort: Forchheim
Beiträge: 1.330
enertegus wird schon bald berühmt werdenenertegus wird schon bald berühmt werden
Standard

Zitat von meudenbach Beitrag anzeigen
Ginge das auch mit Datenbank Zugriff ????

Dann wäre es evtl. interessant...

LG
Wenn Deine Datenbank udp-telegramme an den EibPC schickt, schon. Oder wie genau meinst Du das?
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #4  
Alt 28.10.2009, 11:49
meudenbach
Gast
 
Beiträge: n/a
Standard

nein eher generell, kann ich zB auf eine csv oder xml Datei zugreifen und diese auslesen ?? oder könnte ich den Text einer E-Mail nach einem speziellen Inhalt durchsuchen ??

Das ist natürlich kein "Datenbank" aber SQL oder ähnliches wird wohl nicht implementiert sein...

UDP:

könnte ihr empfangene Texte auch auswerten also parsen?

Bsp:

ich sende an euch folgendes UDp Paket

<ITUNES>GETPLAYERSTATE=PLAYING|OK|GETTITLE=Keep On Push (Piano Mix)|OK|GETSTREAMTITLE=|OK|GETARTIST=Alex Barattini|OK|GETALBUM=Pacha - The World's Most Famous Club Sound 2008|OK|GETID=1041|OK</ITUNES>

könnte ich gezielt diese Informationen ausfiltern und entsprechend zuordnen ??

LG
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #5  
Alt 28.10.2009, 12:11
Benutzerbild von enertegus
Erfahrener Benutzer
 
Registriert seit: 25.04.2009
Ort: Forchheim
Beiträge: 1.330
enertegus wird schon bald berühmt werdenenertegus wird schon bald berühmt werden
Standard

Zitat von meudenbach Beitrag anzeigen
nein eher generell, kann ich zB auf eine csv oder xml Datei zugreifen und diese auslesen ?? oder könnte ich den Text einer E-Mail nach einem speziellen Inhalt durchsuchen ??

Das ist natürlich kein "Datenbank" aber SQL oder ähnliches wird wohl nicht implementiert sein...

UDP:

könnte ihr empfangene Texte auch auswerten also parsen?

Bsp:

ich sende an euch folgendes UDp Paket

<ITUNES>GETPLAYERSTATE=PLAYING|OK|GETTITLE=Keep On Push (Piano Mix)|OK|GETSTREAMTITLE=|OK|GETARTIST=Alex Barattini|OK|GETALBUM=Pacha - The World's Most Famous Club Sound 2008|OK|GETID=1041|OK</ITUNES>

könnte ich gezielt diese Informationen ausfiltern und entsprechend zuordnen ??

LG
Ja sicher geht das. Anbei unser Testprogramm hierzu - ist ein Beispiel aus dem Handbuch S.55 und wird dort ausführlich erklärt.

Michael
Angehängte Grafiken
Dateityp: png WebServer-Ergebnis5.png (53,6 KB, 204x aufgerufen)
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #6  
Alt 28.10.2009, 12:28
meudenbach
Gast
 
Beiträge: n/a
Standard

Schön, dass das geht... die für mich wichtige Frage ist jedoch immer das "wie"...

In der Doku finde ich zu dem Beispiel eine "split" Funktion mit eben PosStart und PosEnde... und natürlich die "find" Funktion. So wie ich das sehe müsste ich bei meinem String zuerst die Positionen über "find" suchen um entsprechend PosStart und PosEnde für die "split" Funktion füllen zu können ???

Hilfreich in der Doku wäre der Ursprungsstring auf das sich das Beispiel bezieht...

LG
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #7  
Alt 28.10.2009, 12:53
Benutzerbild von enertegus
Erfahrener Benutzer
 
Registriert seit: 25.04.2009
Ort: Forchheim
Beiträge: 1.330
enertegus wird schon bald berühmt werdenenertegus wird schon bald berühmt werden
Standard

Zitat von meudenbach Beitrag anzeigen
Schön, dass das geht... die für mich wichtige Frage ist jedoch immer das "wie"...

In der Doku finde ich zu dem Beispiel eine "split" Funktion mit eben PosStart und PosEnde... und natürlich die "find" Funktion. So wie ich das sehe müsste ich bei meinem String zuerst die Positionen über "find" suchen um entsprechend PosStart und PosEnde für die "split" Funktion füllen zu können ???

Hilfreich in der Doku wäre der Ursprungsstring auf das sich das Beispiel bezieht...

LG
Im Handbuch:
– Der Musikplayer schickt dann auf Port 4806 einen String „Play Music: Title“ wobei Title der aktuell gespielte Titel sei. Der Enertex® EibPC soll den Titel auf die KNX Anzeige schreiben.

Also nochmal:
Pattern=$Play Music: $
Wenn ein Telegramm eintrifft wird das hier gültig:
if event(readudp(Port,IP,StringPlayer)) then ...
dann trennt dieser Aufruf den Titel raus:
Titel=split(StringPlayer,find(StringPlayer,Pattern ,0u16)+size(Pattern), END)

Z.B.
der Musikplayer sendet "Play Music: ABC - The Look of Love"
dann trägt Titel den Inhalt "ABC - The Look of Love"

Geändert von enertegus (28.10.2009 um 12:54 Uhr)
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #8  
Alt 28.10.2009, 13:22
meudenbach
Gast
 
Beiträge: n/a
Standard

Das ist mir so schon klar... mein Frage bezog sich auf das Ende bzw. die Länge des Strings... woher bezieht er diese innerhalb der Funktion. In o.a Funktion wird nach meinem Verständnis ja nur "schlicht" bis zum Ende geparst...

Genannter String endet ja nun mal nur mit dem Titel wären dort aber noch Daten anhängig ?! müßte ich doch noch die Länge der Nutzdaten ermitteln...

Geändert von meudenbach (28.10.2009 um 13:24 Uhr)
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #9  
Alt 28.10.2009, 13:42
Erfahrener Benutzer
 
Registriert seit: 28.10.2008
Ort: Stuttgart
Beiträge: 505
JoeHorn zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Statt "END" kannst Du ja auch einen anderen Index setzen, dann wird nur dieser Teilstring geliefert. Diesen Index ermittelst Du im Prinzip genauso, wie den ersten, per Suchausdruck:

Titel=split(StringPlayer,find(StringPlayer,Pattern ,0u16)+size(Pattern), find(StringPlayer,Pattern2 ,0u16))
__________________
Mfg
JH
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
  #10  
Alt 28.10.2009, 14:32
Benutzerbild von enertegus
Erfahrener Benutzer
 
Registriert seit: 25.04.2009
Ort: Forchheim
Beiträge: 1.330
enertegus wird schon bald berühmt werdenenertegus wird schon bald berühmt werden
Standard

Zitat von JoeHorn Beitrag anzeigen
Statt "END" kannst Du ja auch einen anderen Index setzen, dann wird nur dieser Teilstring geliefert. Diesen Index ermittelst Du im Prinzip genauso, wie den ersten, per Suchausdruck:

Titel=split(StringPlayer,find(StringPlayer,Pattern ,0u16)+size(Pattern), find(StringPlayer,Pattern2 ,0u16))
Genau-
das dritte Argument bei find gibt an, wie oft das "Pattern" übersprungen werden soll, z.B,
"Play Music: U2 : Pride : Rattle and Hum "
Band=split (StringPlayer,find($:$,0u16)+1u16,find($:$,1u16)-1u16) => "U2"
Titel=split (StringPlayer,find($:$,1u16)+1u16,find($:$,2u16)-1u16) => "Pride"
Album=split (StringPlayer,find($:$,2u16)+1u16,find($:$,3u16)-1u16) => "Rattle and Hum"

Das +1u16 überspringt den ":" und das -1u16 löscht das Leerzeichen am Ende.
Der Vollständigkeit halber: size() ermittelt die Stringlänge

Michael
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus



Alle Zeitangaben in WEZ +2. Es ist jetzt 12:44 Uhr.



SEO by vBSEO