with Ada.Directories; use Ada.Directories; with Ada.Strings.UTF_Encoding.Wide_Wide_Strings; use Ada.Strings.UTF_Encoding.Wide_Wide_Strings; with TextKonstanten; with SchreibeGrafiktask; with TexteingabeLogik; with LadezeitenLogik; package body SpielstandAllgemeinesLogik is function SpielstandNameErmitteln return Unbounded_Wide_Wide_String is begin SpielstandName := TexteingabeLogik.SpielstandName; SchreibeGrafiktask.Spielstandname (JaNeinExtern => False); case SpielstandName.ErfolgreichAbbruch is when True => -- Es wird hier keine Prüfung benötigt ob die Namenslänge > 0 ist, da dies schon in TexteingabeLogik.SpielstandName geprüft wird. -- Die Prüfung ob der Name kurz genug für das Dateisystem ist erfolgt in TexteingabeGrafik. return SpielstandName.EingegebenerText; when False => return TextKonstanten.LeerUnboundedString; end case; end SpielstandNameErmitteln; function SpielstandVorhanden (SpielstandnameExtern : in Unbounded_Wide_Wide_String) return Boolean is begin return Exists (Name => "Spielstand/" & Encode (Item => To_Wide_Wide_String (Source => SpielstandnameExtern))); end SpielstandVorhanden; procedure FortschrittErhöhen (AutospeichernExtern : in Boolean) is begin case AutospeichernExtern is when False => LadezeitenLogik.SpeichernLadenSchreiben (SpeichernLadenExtern => True); when True => null; end case; end FortschrittErhöhen; end SpielstandAllgemeinesLogik;