Lernsoftware - wohin mit dem Fragenkatalog ?



  • Abend Leute ...

    Bin dabei eine kleine Lernsoftware über WinForms zu realisieren. Es stellt sich mir nun ein Problem, welches ich bis dato noch nicht hatte. Wie geht man dabei in der Regel vor ? Wo bringt man den Fragenkatalog unter ?

    Ich stelle mir eine spätere Miltiple Choice Lösung vor, so dass der Nutzer später zwischen 5 Antworten auswählen kann.

    Danke für Antworten



  • Auf jeden Fall sollte es in einer Separaten Datei ausgelagert werden, wie du es Speicherst ist dir überlassen. So kannst du es später auch austauschen und so offen für Veränderungen sein.

    Stellt sich nur die Frage der Position.
    - Soll der Benutzer die Datei editieren können? Wenn ja -> Local Application Data
    - Benötigt die Applikation Schreibrechte auf diese Bibliotheksdatei? Wenn ja -> Local Application Data
    - Soll die Datei nur beim Installieren/Update geschrieben werden und dann nur noch gelesen? Wenn ja -> Unterverzeichnis im Installationsverzeichnis (bei der exe)

    Bedenke immer, es gibt viele die alle Programme einfach nach "Program Files" installieren, dort hat deine Applikation dann keine Schreibrechte.

    Es ist aber auch eine Frage der Größe, wenn die Applikation total klein ist, keine Installation hat und der Benutzer es nur auspacken und ausführen muss, kann es per Default bei der exe liegen.

    Für das alles gibt es aber auch noch ein anderen Lösungsansatz -> Du weißt es nicht, du lässt den Benutzer einfach die Datei manuell Laden.



  • Diese gedanken habe ich mir auch schon gemacht. Ich hatte geplant einen Standard Fragenkatalog - auf irgendeine Art und Weise zu Integrieren. Allerdings sollte es auch die Möglichkeit geben - eigene Fragen etc. in einem Katalog zusammen zu fassen.

    Habe immer noch keine Idee - wie ich dieses in eine "Datei" verankern soll, da es ja später verschiedene Antwortmöglichkeiten geben soll. Wie würdet ihr so eine "Datenbank" aufbauen ?



  • Ich versuche das ganze nun via XML Dateien zu lösen. Leider komme ich grade nicht weiter. Die XML Datei habe ich mal ganz simpel aufgebaut. Ungefähr so:

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE  MeinErstesElement SYSTEM "index.dtd">
    <!-- Unser erstes XML-Dokument. -->
    
    <Main>
    
    <Definition>
     Das Aroma bezeichnet den spezifischen Geruch und/oder auch Geschmack, der durch einzelne chemische Verbindungen oder Stoffgemische in Erzeugnissen wie Lebensmitteln und Arzneimitteln verursacht wird. 
    </Definition>
    
    <Information>
    <Info>Dosierung im Fruchtgummi:</Info><Value>0,0001 – 0,01 %</Value>
    </Information>
    
    <Abbildung>
    </Abbildung>
    
    <Text>
    Einleitung: Warum wird aromatisiert ?
    
    Viele unserer Lebensmittel müssen nicht extra aromatisiert werden. So enthalten Obst und Gemüse bereits von Natur aus ein breites Aromaspektrum. Weniger aromaintensive Nahrungsmittel wie z.B. Fleisch, entwickeln dagegen bei der mechanischen, thermischen oder enzymatischen Verarbeitung so genannte sekundäre Aromastoffe.
    
    Der Duft frischen Brotes entwickelt sich beispielsweise erst beim Backen, das typische Kaffeearoma entfaltet sich erst bei der Röstung der Kaffeebohne.
    
    Meist machen erst die Aromastoffe verarbeitete oder vorgefertigte Lebensmittel geschmacklich attraktiv. So erhalten z.B. Kartoffelchips ein Paprika- oder Käse Aroma.
    
    Auch Verarbeitungsbedingte Verluste können mit Aromen ausgeglichen werden.
    
    Mehr als 4000 natürlich vorkommende aromawirksame Substanzen wurden bisher identifiziert, davon werden ca. 1500 in Aromen für die Lebensmittelindustrie verwendet. 
    </Text>
    
    </Main>
    
    <!-- Ende des XML-Dokumentes -->
    

    Hoffe das ist fürs erste in Ordnung - aber ich nehme Vorschläge immer gerne an. Das ganze versuche ich via:

    //neues XML Dokument erstellen
                XmlDocument doc = new XmlDocument();
    
                try
                {
                    //Datei als Xml Dokument laden
                    doc.Load(datei.FullName);
    
                    //Ruft das Stamm - Xml Element ab
                    XmlElement root = doc.DocumentElement;
    
                    foreach (XmlNode Information in root.ChildNodes)
                    {
                        //trägt aktuell ausgelesene Attribute in Informationen ein
                        //string x = Information.InnerText;
                    }
    
                }
                catch (Exception e)
                {
                    fehlerausgabe(e);
                }
    

    ...auszulesen. Was sagt ihr dazu ? Wie komme ich an meine Daten wie bspw. die Definition ?

    LG


Log in to reply