void loop() { String AnzahlTreffer = ""; String GespielteZahlen = ""; String GezogeneZahlen = ""; byte Treffer = 0; String Auswertung = ""; // neue Anfrage EthernetClient Client = server.available(); if (Client) { // solange der Klient 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("HTTP/1.1 200 OK"); Client.println("Content-type:text/html"); // Leerzeile zwingend erforderlich Client.println(); Client.println(F("")); Client.println(F("")); 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("
")); // speichern Client.print(F("")); // anzeigen Client.print(F("")); // entfernen Client.print(F("")); Client.println(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) */ // Auswertung der Anzeige muss vor dem Schließen der Seite erfolgen 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("")); // Zeit, um die Antwort zu übertragen delay(1); // Verbindung beenden Client.stop(); // entfernen if (Auswertung.indexOf("e") > 0) { if (SD.exists("Lottozahlen.txt")) { // Datei entfernen SD.remove("Lottozahlen.txt"); } } // speichern if (Auswertung.indexOf("s") > 0) { // Ziehung der "angekreuzten" Zahlen Ziehung(); ZahlenSortieren(LottoZahl, 6); // String GespielteZahlen aus den Elementen des Arrays LottoZahl // zusammensetzen for (int i = 0; i < Anzahl; i++) { GespielteZahlen = GespielteZahlen + LottoZahl[i] + " "; SpielZahl[i] = LottoZahl[i]; } // Ziehung der Lottozahlen Ziehung(); // Zahlen sortieren ZahlenSortieren(LottoZahl, 6); // Vergleichen der Elemente der Arrays SpielZahl und LottoZahl for (int i = 0; i < Anzahl; i++) { for (int ii = 0; ii < Anzahl; ii++) { // Übereinstimmung gefunden -> Treffer um 1 erhöhen // AnzahlTreffer: String für übereinstimmende Zahlen erzeugen if (SpielZahl[i] == LottoZahl[ii]) { AnzahlTreffer = AnzahlTreffer + SpielZahl[i] + " "; Treffer ++; } } } // String GezogeneZahlen aus den Elementen des Arrays LottoZahl // zusammensetzen for (int i = 0; i < Anzahl; i++) { GezogeneZahlen = GezogeneZahlen + LottoZahl[i] + " "; } /* Datei zum Schreiben (FILE_WRITE) öffnen wenn sie noch nicht existiert, wird sie erstellt */ ZiehungLotto = SD.open("Lottozahlen.txt", FILE_WRITE); if (ZiehungLotto) { // aktuelle Zeit holen DateTime aktuell = rtc.now(); char Datum[] = "DD.MM.YYYY"; ZiehungLotto.print(aktuell.toString(Datum)); // Zeit schreiben char Zeit[] = " Uhrzeit: hh:mm:ss"; ZiehungLotto.println(aktuell.toString(Zeit)); ZiehungLotto.println(F("
")); // Daten in die Datei schreiben ZiehungLotto.println(F("Gespielte Zahlen")); ZiehungLotto.println(GespielteZahlen); ZiehungLotto.println(F("
")); ZiehungLotto.println(F("---------------------------------------")); ZiehungLotto.println(F("
")); ZiehungLotto.println(F("Gezogene Zahlen")); ZiehungLotto.println(GezogeneZahlen); ZiehungLotto.println(F("
")); ZiehungLotto.println(F("---------------------------------------")); ZiehungLotto.println(F("
")); // keine Treffer if (Treffer == 0) ZiehungLotto.println(F("keine Treffer!")); // getroffene Zahlen anzeigen else { ZiehungLotto.print(Treffer); ZiehungLotto.print(F(" Treffer: ")); ZiehungLotto.print(AnzahlTreffer); } ZiehungLotto.println(F("
")); ZiehungLotto.println(F("---------------------------------------")); ZiehungLotto.println(F("
")); // Datei schließen ZiehungLotto.close(); } } } } } } }