void loop() { String AnzahlTreffer = ""; String GespielteZahlen = ""; String GezogeneZahlen = ""; byte Treffer = 0; String Auswertung; // auf Clienten warten ... client = server.available(); if (client) { String SchaltungLesen; // solange der Client verbunden ist ... while (client.connected()) { if (client.available()) { // Anforderung vom Clienten lesen ... char Zeichen = client.read(); // return (\n) gesendet if (Zeichen == '\n') { // wenn der String SchaltungLesen leer ist if (SchaltungLesen == "") { /* 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 " -> \" */ // HTML-Seite aufbauen 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("

Lottozahlen mit WiFi ziehen (6 aus " + String(Maximum) + ")

"); client.println(F("
")); client.println(F("")); // Button neue Ziehung client.print(F("
")); client.println(F("
")); client.println(F("
")); // 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] + " "; } DateTime aktuell = rtc.now(); char Datum[] = "DD.MM.YYYY"; client.println(aktuell.toString(Datum)); char Zeit[] = " Uhrzeit: hh:mm:ss"; client.println(aktuell.toString(Zeit)); // Zeit schreiben Durchlauf ++; switch (Treffer) { case 1: EinTreffer ++; break; case 2: ZweiTreffer ++; break; case 3: DreiTreffer ++; break; case 4: VierTreffer ++; break; case 5: FuenfTreffer ++; break; case 6: SechsTreffer ++; break; } client.println(F("
---------------------------------------------------------")); client.println(F("
Gespielte Zahlen: ")); client.println(GespielteZahlen); client.println(F("
---------------------------------------------------------")); client.println(F("
Gezogene Zahlen: ")); client.println(GezogeneZahlen); client.println(F("
---------------------------------------------------------")); if (Treffer == 0) client.println(F("
keine Treffer!")); // getroffene Zahlen anzeigen else { client.print("
" + String(Treffer)); client.print(F(" Treffer: ")); client.print(AnzahlTreffer); } client.println(F("
")); client.println(F("

Statistik:

")); client.println(F("---------------------------------------------------------")); client.println("
Anzahl Ziehungen: " + String(Durchlauf) + "
"); client.println(F("
Anzahl der Treffer:")); client.println(F("
---------------------------------------------------------")); client.println("
1 Treffer: " + String(EinTreffer)); String EinTrefferProzent = String(float(EinTreffer) / float(Durchlauf) * 100); EinTrefferProzent.replace(".", ","); client.println(" " + String(EinTrefferProzent) + "%"); client.println("
2 Treffer: " + String(ZweiTreffer)); String ZweiTrefferProzent = String(float(ZweiTreffer) / float(Durchlauf) * 100); ZweiTrefferProzent.replace(".", ","); client.println(" " + String(ZweiTrefferProzent) + "%"); client.println("
3 Treffer: " + String(DreiTreffer)); String DreiTrefferProzent = String(float(DreiTreffer) / float(Durchlauf) * 100); DreiTrefferProzent.replace(".", ","); client.println(" " + String(DreiTrefferProzent) + "%"); client.println("
4 Treffer: " + String(VierTreffer)); String VierTrefferProzent = String(float(VierTreffer) / float(Durchlauf) * 100); VierTrefferProzent.replace(".", ","); client.println(" " + String(VierTrefferProzent) + "%"); client.println("
5 Treffer: " + String(FuenfTreffer)); String FuenfTrefferProzent = String(float(FuenfTreffer) / float(Durchlauf) * 100); FuenfTrefferProzent.replace(".", ","); client.println(" " + String(FuenfTrefferProzent) + "%"); client.println("
6 Treffer: " + String(SechsTreffer)); String SechsTrefferProzent = String(float(SechsTreffer) / float(Durchlauf) * 100); SechsTrefferProzent.replace(".", ","); client.println(" " + String(SechsTrefferProzent) + "%"); client.println(F("
")); // IPs anzeigen client.print(F("Eigene IP: ")); client.print(client.remoteIP()); client.print(F("")); if (festeIP) client.print(F("
statische IP Arduino: ")); else client.print(F("
IP Adresse Arduino DHCP ")); client.print(WiFi.localIP()); client.print(F("")); client.println(F("")); client.println(F("")); // HTTP-Antwort endet mit neuer Zeile client.println(); // Seite vollständig geladen -> loop verlassen break; } // wenn Auswertung nicht leer ist -> Inhalt löschen else { Auswertung = ""; } } // bei einem anderen Zeichen als return (\r) // -> Zeichen dem String Auswertung hinzufügen else if (Zeichen != '\r') { Auswertung += Zeichen; } } } client.stop(); } }