void loop()
{
String AnzahlTreffer = "";
String GespielteZahlen = "";
String GezogeneZahlen = "";
byte Treffer = 0;
String Auswertung = "";
// neue Anfrage
EthernetClient Client = server.available();
if (Client)
{
// solange der Client verbunden ist ...
while (Client.connected())
{
if (Client.available())
{
// auf Eingabe warten ...
char Zeichen = Client.read();
// ... und die Antwort zusammenbauen
Auswertung += Zeichen;
// \n = Seite vom Clienten vollständig geladen
if (Zeichen == '\n')
{
// HTTP-Anforderung senden
Client.println(F("HTTP/1.1 200 OK Content-Type: text/html"));
// Leerzeile zwingend erforderlich
Client.println();
/*
HTML-Seite aufbauen
die folgenden Anweisungen müssen
mit print oder println gesendet werden
println "verschönert" den Quelltext
(erzeugt einen Zeilenumbruch im Quelltext)
" müssen mit \ maskiert werden " -> \"
*/
Client.println(F("
"));
Client.println(F("Lottozahlen
"));
/*
IP-Adressen anzeigen
Client.remoteIP() -> eigene IP
Ethernet.localIP() -> IP des Ethernet-Shields
*/
Client.print(F("Eigene IP: "));
Client.print(Client.remoteIP());
Client.print(F(""));
Client.print(F("
IP des Ethernet-Shields: "));
Client.print(Ethernet.localIP());
Client.print(F(""));
Client.println(F("
"));
// Buttons
Client.print(F("
"));
/*
ein Klick auf einen der Buttons erzeugt eine GET-Anweisung in der Form
GET /a HTTP/1.1 -> Button anzeigen auswerten
GET /s HTTP/1.1 -> Button speichern auswerten
GET /e HTTP/1.1 -> Button entfernen auswerten
indexOf durchsucht den String nach diesen Zeichen (> 0 = Zeichen gefunden)
*/
if (Auswertung.indexOf("a") > 0)
{
// Datei öffnen und Zahlen anzeigen
ZiehungLotto = SD.open("Lottozahlen.txt");
if (ZiehungLotto)
{
// solange sich Zeilen in der Datei befinden ...
while (ZiehungLotto.available())
{
// ... werden sie gelesen und ausgegeben
Client.write(ZiehungLotto.read());
}
// Datei schließen
ZiehungLotto.close();
}
else Client.println(F("Die Datei ist leer oder nicht vorhanden!"));
}
Client.println(F("