Forum: PC-Programmierung Arduino Ethernet shield HTML probleme mit Anführungzeichen


von Quin (Gast)


Lesenswert?

Hallo com,

ich habe eigentlich nur eine kleine kurze Frage.
Und zwar immer wenn ich bei meinem Arduino UNO im Ethernet Shield in 
HTML ein Bild oder ein Link ausgeben möchte, meckert die IDE, da er 
probleme mit den "doppelten" Anführungszeichen hat.
Hier ein Beispiel:

client.println("<img src="Knopf.jpg"/>");

Hier sagt er als Fehler ich soll doch bitte eine ) vor Knopf setzen, 
aber das ist ja gar nicht mein Ziel.

Hat jemand hier eine Lösung. Am liebsten möchte ich die SD Karte erstmal 
NICHT verwenden.

Vielen Dank im Vorraus!

: Verschoben durch Admin
von Joachim D. (Firma: JDCC) (scheppertreiber)


Lesenswert?

client.println("<img src='Knopf.jpg'/>");

von Quin (Gast)


Lesenswert?

Hallo,

so schnell wie die Antwort kam, kann ich jar gar nicht meine Seite 
aktualisieren. ;-)

Hat geklappt.

Besten Dank!

von greg (Gast)


Lesenswert?

Der Compiler denkt, du willst mit dem " das Ende der Stringkonstante 
definieren. Wenn du in einer Stringkonstante Anführungszeichen verwenden 
willst, muss du mit einem Backslash escapen:

client.println("<img src=\"Knopf.jpg\"/>");

Oder du verwendest wie schon geschrieben ein anderes Zeichen, aber das 
ist nicht unbedingt immer möglich.

von Quin (Gast)


Lesenswert?

Hallo,

Danke ich werde mir einfach beide Möglichkeiten mal merken!

Vielen Dank auch dir für deine Mühe.

von Quin (Gast)


Lesenswert?

Hallo,

noch kurz ne andere Frage.

wenn ich das Verzeichnis von dem Ordner, wo das Bild gespeichert ist 
angeben will, nimmt der Arduino das nicht an, aber wieso?

Was muss ich eingeben, das der Arduino das nimmt?

client.println("<img src='C:\Users\...\Knopf.jpg'/>");


Lg Jonas

von Karl H. (kbuchegg)


Lesenswert?

Quin schrieb:

> aber wieso?

Weil du dich weigerst, die Regeln deiner Sprache zu lernen, indem du ein 
Buch liest.

Innerhalb eines Strings oder als Einzelzeichen muss ein \ als \\ 
geschrieben werden, da ein einzelner \ die sog. Fluchtsymbole einleitet.
1
\n    ein Zeilenvorschub
2
\"    ein Gänsefüsschen
3
\t    ein Tabulator
4
\\    ein \
es gibt noch mehr. In einem C-Buch oder einem C++-Buch würden die alle 
drinn stehen.
1
client.println("<img src=\"C:\\Users\\...\\Knopf.jpg\"/>");

Zum jeweils ersten \ gehört also immer das nächste geschriebene Zeichen 
mit dazu und gemeinsam beschreiben sie ein bestimmtes Zeichen. wie zb \n 
für einen Zeilenvorschub steht. Wenn aber mit den \ ein 'Sonderzeichen' 
beginnt, wie schreibt man dann ein \ selber? Ganz einfach. Das erste \ 
leitet das Sonderzeichen ein und der zweite \ sagt aus: Ich meine 
wirklich ein \

: Bearbeitet durch User
von PittyJ (Gast)


Lesenswert?

Also, der Web-Server läuft auf dem Arduino?

Dann müssen die Bilder ja auch auf ihm liegen?
Hat der Ardiuno überhaupt ein Filesystem, in dem man Dateien speichern 
kann? Wenn ja, dann sollte die Knopf-Datei dahin kopiert werden. Wenn 
nicht, sollte man das Konzept überdenken.

Wenn der Arduino ein Filesystem hat, beginnt das dann auch mit 
C:\\Users\\ oder sind die Pfad-Bezeichnungen ganz anders. Oder gibt es 
überhaupt ein Filesystem?


Fragen über Fragen.

von verzweifler (Gast)


Lesenswert?

Man kann in seine Webseite auch Links zu anderen Webseiten einbauen.
Man kann auch Bilder von anderen Webseiten einbauen, diese müssen dann 
nicht auf dem Arduino liegen.

von Kaj (Gast)


Lesenswert?

Karl Heinz schrieb:
> die sog. Fluchtsymbole
Gefällt mir :D
Nieder mit den Escape-Sequenzen, ein Hoch auf die Fluchtsymbole ;)

Karl Heinz schrieb:
> Weil du dich weigerst, die Regeln deiner Sprache zu lernen, indem du ein
> Buch liest.
Ist doch Arduino, da brauch man nichts lernen. Ein Buch lesen? Wo kommen 
wir denn da hin... also ich bitte dich! duck und weg

Grüße

von PittyJ (Gast)


Lesenswert?

>Man kann in seine Webseite auch Links zu anderen Webseiten einbauen.
>Man kann auch Bilder von anderen Webseiten einbauen, diese müssen dann
>nicht auf dem Arduino liegen.

Ich dachte immer, dann sollte man auch eine korrkete URL angeben. Und 
nicht C:\\users....
Aber unter Windows ist ja anscheinend alles möglich.

von Frank (Gast)


Lesenswert?

Wenn das Bild auf einem anderen Server liegt, muss die src-Angabge mit 
"http:// ..." beginnen. Bildquelle ist dann ein anderer Webserver, das 
geht schon, nur richtig muss man es machen.

Die Unkenntnis dieser Tatsache hat übrigens Nichts mit Arduino zu tun 
...

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Frank schrieb:
> muss die src-Angabge mit "http:// ..." beginne

Quatsch... Da kann jedes Protokoll stehen, was der Browser versteht. Ob 
das praktikabel ist was anderes als http/https zu nutzen sei mal 
dahingestellt aber müssen tut es das ganz sicher nicht (es gibt auch 
noch inline-bilder...).

Die Anzeige lokaler resourcen durch eine "entfernte" Seite kann zudem 
noch durch Sicherheitseinstellungen eingeschränkt sein.

von Quin (Gast)


Lesenswert?

Hallo

erstmal vielen Dank für eure Antwroten.

Karl Heinz schrieb:
> Weil du dich weigerst, die Regeln deiner Sprache zu lernen, indem du ein
> Buch liest.

Hehe an ein Buch habe ich noch gar nicht gedacht. ;-)
Probiere gerne viel selber aber manchmal ist man einfahc an den grenzen, 
wo man selber nicht mehr einfach so drauf kommen kann, da haben sie 
recht.

Aber was ich eigentlich wollte. Können sie oder auch die anderen 
vielleicht ein Buch empfehlen für C und eventuell in verbindung mit 
Arduino, was z.B. auch das Ehternet Shield enthalten könnte, oder 
einfach ein Buch mit dem ihr zufrieden seid?

Vielen Dank schonmal

von Karl H. (kbuchegg)


Lesenswert?

DU musst unterscheiden zwischen der Sprache an sich und seiner 
Verwendung.

Für die Sprache C gibt es jede Menge Literatur. Da wirst du 
hauptsächlich Bücher finden, mit denen man auf dem PC direkt loslegen 
kann.
Ob es was speziell für den Arduino gibt: keine Ahnung.

AUf dem PC ist immer noch der Klassiker Kernighan&Ritchie eine sichere 
Bank. Mit dem lernt man erst mal C.

Dein Problem gestaltet sich dergestalt:
Du kannst kein Russisch. Du willst aber in Murmansk in einem Atom-UBoot 
anheuern und suchst daher Russich Lehrgänge, die auf die Situation in 
einem Atom-U-Boot in Musmansk eingeht. So etwas wird es nicht geben. 
Dein vernünftigster Weg ist es, an der Volkshochsschule einen 
allgemeinen russisch Kurs zu belegen und dann den Rest vor Ort zu 
lernen. Aber ohne allgemeinen Kurs bist du aufgeschmissen, weil dir 
selbst die trivialsten Dinge, wie nach dem Klo fragen, nicht gelingen. 
Egal ob du einen spezial Murmansk Atom U-Boot russisch Kurs findest oder 
nicht.

von Quin (Gast)


Lesenswert?

Hallo

Danke für deine Antwort.

Karl Heinz schrieb:
> Dein Problem gestaltet sich dergestalt:
> Du kannst kein Russisch. Du willst aber in Murmansk in einem Atom-UBoot
> anheuern und suchst daher Russich Lehrgänge, die auf die Situation in
> einem Atom-U-Boot in Musmansk eingeht. So etwas wird es nicht geben.
> Dein vernünftigster Weg ist es, an der Volkshochsschule einen
> allgemeinen russisch Kurs zu belegen und dann den Rest vor Ort zu
> lernen. Aber ohne allgemeinen Kurs bist du aufgeschmissen, weil dir
> selbst die trivialsten Dinge, wie nach dem Klo fragen, nicht gelingen.
> Egal ob du einen spezial Murmansk Atom U-Boot russisch Kurs findest oder
> nicht.

exakt so ist es! :)

naja ich werde mal gucken, ob ich ein passendes Buch für mich finde.

Lg Jonas

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
Noch kein Account? Hier anmelden.