예제 #1
0
        /*
         * ################################################################################
         */
        public static bool startExportFbFragenKatalog(clsFragenKatalog pFrageKatalog, bool pKnzExportiereAntworten, bool pKnzExportiereKorrekteAntworten, bool pKnzExportiereFalscheAntworten, bool pKnzExportiereAntwortBezeichnung, bool pKnzAntwortReihenfolgeUmstellen)
        {
            bool fkt_ergebnis = false;

            /*
             * Pruefung: Parameter "pFragenKatalog" gleich "null" ?
             *
             * Wurde kein Fragenkatalog uebergeben, wird die Funktion mit FALSE verlassen.
             */
            if (pFrageKatalog == null)
            {
                return(fkt_ergebnis);
            }

            /*
             * Pruefung: Sind Fragen vorhanden ?
             *
             * Sind im Fragenkatalog keine Fragen vorhanden, wird die Funktion mit FALSE verlassen.
             */
            if (pFrageKatalog.getAnzahlFragen() == 0)
            {
                return(fkt_ergebnis);
            }

            /*
             * Letzter Dateiname
             * Aus der INI-Datei wird der Name der letzte Exportname geholt.
             * Dieser Name erscheint dann als Vorauswahl in der Dialog-Box.
             */
            String datei_name = fkIniDatei.readIniDateiName("DATEI_NAME_EXPORT_FRAGENKATALOG");

            /*
             * Dateifilter
             * Die zur Auswahl stehenden Datei-Erweiterungen werden als String initialisiert.
             */
            String datei_filter = "TXT-Datei (*.txt)\0*.txt\0alle Dateien (*.*)\0*.*\0";

            /*
             * Aufruf der Dateiauswahl-Dialog-Box
             */
            //datei_name = "c:\\Daten\\fragenkatalog.txt";// fkCommonDialog.getSaveName(datei_filter, "txt", "c:\\", datei_name, "Exportdatei wählen");
            datei_name = fkCommonDialog.getSaveName(datei_filter, "txt", "c:\\", datei_name, "Exportdatei wählen");

            if (datei_name != null)
            {
                /*
                 * Aufruf der Initialisierungsfunktion
                 */
                initLoesungsbogenVar(KNZ_LOESUNGSBOGEN_VERSON_1, pFrageKatalog);

                fkIniDatei.writeIniDateiName("DATEI_NAME_EXPORT_FRAGENKATALOG", datei_name);

                /*
                 * Aufruf der Exportfunktion fuer den Fragenkatalog
                 */
                fkt_ergebnis = exportTextFragenKatalog(pFrageKatalog, datei_name, pKnzExportiereAntworten, pKnzExportiereKorrekteAntworten, pKnzExportiereFalscheAntworten, pKnzExportiereAntwortBezeichnung, pKnzAntwortReihenfolgeUmstellen);
            }

            return(fkt_ergebnis);
        }
        /*
         * ################################################################################
         */
        private static bool exportXmlLernFabrik(clsFragenKatalog pFragenKatalog, clsLernFrabrik pLernFrabrik, int pExportModus, String pDateiName)
        {
            clsFrage temp_frage = null;

            String string_datei_inhalt = "";

            string_datei_inhalt += "<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>\n";
            string_datei_inhalt += getStartTag(XML_TAG_FRAGENKATALOG);
            string_datei_inhalt += getTag(XML_TAG_FRAGENKATALOG_BEZEICHNUNG, "unbenannt");
            string_datei_inhalt += getTag(XML_TAG_FRAGENKATALOG_DATUM_ERSTELLUNG, DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss"));

            bool fkt_ergebnis = true;

            int index_fragen_katalog = 0;

            int index_lern_fabrik = 0;

            while ((index_lern_fabrik < pLernFrabrik.getAnzahlFragen()))
            {
                if (pExportModus == fkExportFrageBogen.EXPORT_LERN_FABRIK_KORREKT)
                {
                    index_fragen_katalog = pLernFrabrik.getAbfrageIndexKorrekt(index_lern_fabrik);
                }
                else if (pExportModus == fkExportFrageBogen.EXPORT_LERN_FABRIK_FALSCH)
                {
                    index_fragen_katalog = pLernFrabrik.getAbfrageIndexFalsch(index_lern_fabrik);
                }
                else
                {
                    index_fragen_katalog = pLernFrabrik.getAbfrageIndex(index_lern_fabrik);
                }

                if (index_fragen_katalog >= 0)
                {
                    try
                    {
                        temp_frage = pFragenKatalog.getIndex(index_fragen_katalog);

                        if (temp_frage != null)
                        {
                            string_datei_inhalt += getXmlFrage(temp_frage);
                        }
                    }
                    catch (Exception err_inst)
                    {
                        Console.WriteLine("Fehler: exportXmlLernFabrik\n" + err_inst.Message + "\n\n" + err_inst.StackTrace);
                    }
                }

                index_lern_fabrik = index_lern_fabrik + 1;
            }


            string_datei_inhalt += getEndTag(XML_TAG_FRAGENKATALOG);

            System.IO.File.WriteAllText(pDateiName, string_datei_inhalt);

            return(fkt_ergebnis);
        }
예제 #3
0
        /**
         * Initialisiert die Anwendungsklasse
         */
        public bool initAnwFragenFrager()
        {
            m_fragen_katalog = null;

            m_lern_fabrik = null;

            m_modus = MODUS_KEINE_FRAGEN_GELADEN;

            return(true);
        }
        /*
         * ################################################################################
         */
        public static bool startExportXmlLernFabrik(clsFragenKatalog pFrageKatalog, clsLernFrabrik pLernFrabrik, int pExportModus)
        {
            bool fkt_ergebnis = false;

            if (pFrageKatalog == null)
            {
                return(fkt_ergebnis);
            }

            if (pLernFrabrik == null)
            {
                return(fkt_ergebnis);
            }

            if (pFrageKatalog.getAnzahlFragen() == 0)
            {
                return(fkt_ergebnis);
            }

            if (pLernFrabrik.getAnzahlFragen() == 0)
            {
                return(fkt_ergebnis);
            }

            /*
             * Letzter Dateiname
             * Aus der INI-Datei wird der Name der letzte Exportname geholt.
             * Dieser Name erscheint dann als Vorauswahl in der Dialog-Box.
             */
            String datei_name = fkIniDatei.readIniDateiName("DATEI_NAME_EXPORT_XML_LERN_FABRIK");

            /*
             * Dateifilter
             * Die zur Auswahl stehenden Datei-Erweiterungen werden als String initialisiert.
             */
            String datei_filter = "XML-Datei ( *.xml )\0*.xml\0alle Dateien ( *.* )\0*.*\0";

            /*
             * Aufruf der Dateiauswahl-Dialog-Box
             */
            datei_name = fkCommonDialog.getSaveName(datei_filter, "xml", "c:\\", datei_name, "Exportdatei wählen");

            if (datei_name != null)
            {
                fkIniDatei.writeIniDateiName("DATEI_NAME_EXPORT_XML_LERN_FABRIK", datei_name);

                fkt_ergebnis = exportXmlLernFabrik(pFrageKatalog, pLernFrabrik, pExportModus, datei_name);
            }

            return(fkt_ergebnis);
        }
예제 #5
0
        /**
         * @return die Instanz fuer den Fragenkatalog
         */
        public clsFragenKatalog getFragenKatalog()
        {
            /*
             * Pruefung: Instanz des Fragenkataloges vorhanden ?
             */
            if (m_fragen_katalog == null)
            {
                /*
                 * Ist die Instanz noch null, wird eine neue
                 * Instanz der Klasse clsFragenKatalog erstellt und
                 * der Membervariablen "m_fragen_katalog" zugewiesen.
                 */
                m_fragen_katalog = new clsFragenKatalog();
            }

            return(m_fragen_katalog);
        }
예제 #6
0
        /*
         * ################################################################################
         */
        private static void initLoesungsbogenVar(bool pKnzLoesungsbogenVersion1, clsFragenKatalog pFragenKatalog)
        {
            m_knz_loesungsbogen_version_1 = pKnzLoesungsbogenVersion1;

            if (m_knz_loesungsbogen_version_1)
            {
                m_loesungsbogen_antwort_a = LOESUNGSBOGEN_ANTWORT_A;
                m_loesungsbogen_antwort_b = LOESUNGSBOGEN_ANTWORT_B;
                m_loesungsbogen_antwort_c = LOESUNGSBOGEN_ANTWORT_C;
                m_loesungsbogen_antwort_d = LOESUNGSBOGEN_ANTWORT_D;
                m_loesungsbogen_antwort_e = LOESUNGSBOGEN_ANTWORT_E;
                m_loesungsbogen_antwort_f = LOESUNGSBOGEN_ANTWORT_F;
                m_loesungsbogen_antwort_g = LOESUNGSBOGEN_ANTWORT_G;
                m_loesungsbogen_antwort_h = LOESUNGSBOGEN_ANTWORT_H;
            }
            else
            {
                m_loesungsbogen_antwort_a = "X";
                m_loesungsbogen_antwort_b = "X";
                m_loesungsbogen_antwort_c = "X";
                m_loesungsbogen_antwort_d = "X";
                m_loesungsbogen_antwort_e = "X";
                m_loesungsbogen_antwort_f = "X";
                m_loesungsbogen_antwort_g = "X";
                m_loesungsbogen_antwort_h = "X";
            }

            m_max_anzahl_vorhandene_antworten = pFragenKatalog.getAnzahlMaxVorhandeneAntworten();

            m_max_anzahl_korrekte_antworten = pFragenKatalog.getAnzahlMaxKorrekteAntworten();

            knz_use_lfd_nr = pFragenKatalog.getKnzOriginalZustand() == false;

            m_loesungsbogen_antwort_a = LOESUNGSBOGEN_ANTWORT_A;
            m_loesungsbogen_antwort_b = LOESUNGSBOGEN_ANTWORT_B;
            m_loesungsbogen_antwort_c = LOESUNGSBOGEN_ANTWORT_C;
            m_loesungsbogen_antwort_d = LOESUNGSBOGEN_ANTWORT_D;
            m_loesungsbogen_antwort_e = LOESUNGSBOGEN_ANTWORT_E;
            m_loesungsbogen_antwort_f = LOESUNGSBOGEN_ANTWORT_F;
            m_loesungsbogen_antwort_g = LOESUNGSBOGEN_ANTWORT_G;
            m_loesungsbogen_antwort_h = LOESUNGSBOGEN_ANTWORT_H;

            m_einzug_frage   = fkString.right("                                                  ", ANZ_STELLEN_FRAGENNR) + ABSTAND_FNR_FRAGE;
            m_einzug_antwort = fkString.right("                                                  ", ANZ_STELLEN_ANTWORTBEZEICHNUNG) + ABSTAND_FBEZ_ANTWORT;
        }
예제 #7
0
        /**
         * Gibt die benutzten Resourcen wieder frei.
         *
         * Ruft die Funktion "clear" beim Fragenkatalog und bei
         * der Lernfabrik auf.
         *
         * Setzt anschliessend alle Membervariablen auf null.
         */
        public void clear()
        {
            /*
             * Ist eine Instanz des Fragenkataloges vorhanden, wird
             * bei dieser die Funktion "clear" aufgerufen.
             *
             * Das sorgt fuer die Resourcen-Freigabe der Instanz.
             */
            if (m_fragen_katalog != null)
            {
                m_fragen_katalog.clear();
            }

            /*
             * Ist eine Instanz der Lernfabrik vorhanden, wird
             * bei dieser ebenfalls die Funktion "clear" aufgerufen.
             */
            if (m_lern_fabrik != null)
            {
                m_lern_fabrik.clear();
            }

            /*
             * Es werden die Variablen des Fragenkataloges, der
             * Lernfabrik und des Bildverzeichnisses auf
             * "null" gestellt.
             */
            m_fragen_katalog = null;

            m_lern_fabrik = null;

            m_aktuelles_bild_verzeichnis = null;

            /*
             * Der Modus wird auf "MODUS_KEINE_FRAGEN_GELADEN" gestellt.
             */
            m_modus = MODUS_KEINE_FRAGEN_GELADEN;
        }
예제 #8
0
        /**
         * @return TRUE wenn der Testfragenkatalog erstellt werden konnte, sonst FALSE
         */
        public bool erstelleTestFragenKatalog()
        {
            bool fkt_ergebnis = false;

            /*
             * Es wird die "clear"-Funktion dieser Klasse gerufen
             * um einen sauberen Variablen-Stand zu bekommen.
             */
            clear();

            /*
             * Es wird die Funktion zum erstellen des Testfragenkataloges aufgerufen.
             *
             * Wird beim Erstellen eine Exception ausgeloest wird
             * das Funktionsergebnis  auf FALSE gestellt.
             */
            m_fragen_katalog = fkTestErstellungFragenkatalog.getTestFragenKatalog();

            m_modus = MODUS_FRAGEN_KATALOG_ANZEIGEN;

            fkt_ergebnis = true;

            return(fkt_ergebnis);
        }
예제 #9
0
        /*
         * ################################################################################
         */
        private static bool exportTextLernFabrik(clsFragenKatalog pFragenKatalog, clsLernFrabrik pLernFrabrik, int pExportModus, String pDateiName, bool pKnzExportiereAntworten, bool pKnzExportiereKorrekteAntworten, bool pKnzExportiereFalscheAntworten, bool pKnzExportiereAntwortBezeichnung, bool pKnzAntwortReihenfolgeUmstellen)
        {
            clsStringArray lb_reihenfolge = new clsStringArray();

            lb_reihenfolge.addString("000000000000000000000000Dummyzeile");

            clsFrage temp_frage          = null;
            String   string_datei_inhalt = "";

            string_datei_inhalt += "Export Abfrage Sitzung " + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + " - " + pFragenKatalog.getDateiName() + NEW_LINE;

            bool fkt_ergebnis         = true;
            int  index_fragen_katalog = 0;
            int  index_lern_fabrik    = 0;

            /*
             * While-Schleife ueber alle Fragen der Lernfabrik
             */
            while (index_lern_fabrik < pLernFrabrik.getAnzahlFragen())
            {
                /*
                 * Bestimmung: Index Fragenkatalog
                 *
                 * Es gibt 3 unterschiedliche Exportarten:
                 * - alle korrekt beantworteten Fragen
                 * - alle falsch beantworteten Fragen
                 * - alle Fragen
                 *
                 * Je nach Exportmodus wird die entsprechende Funktion in der Lernfabrik aufgerufen,
                 * welche den Index der naechsten zu exportierenden Frage ermittelt.
                 */
                if (pExportModus == EXPORT_LERN_FABRIK_KORREKT)
                {
                    index_fragen_katalog = pLernFrabrik.getAbfrageIndexKorrekt(index_lern_fabrik);
                }
                else if (pExportModus == EXPORT_LERN_FABRIK_FALSCH)
                {
                    index_fragen_katalog = pLernFrabrik.getAbfrageIndexFalsch(index_lern_fabrik);
                }
                else
                {
                    index_fragen_katalog = pLernFrabrik.getAbfrageIndex(index_lern_fabrik);
                }

                // System.Console.WriteLine(  "index_fragen_katalog =>" + index_fragen_katalog + "<  index_lern_fabrik =>" + index_lern_fabrik + "<" );

                /*
                 * Pruefung: Index im Fragenkatalog vorhanden ?
                 *
                 * Der Index fuer die Frage aus dem Fragenkatalog muss groesser gleich 0 sein.
                 *
                 * Ist der Index kleiner als 0, wird nichts exportiert.
                 */
                if (index_fragen_katalog >= 0)
                {
                    try
                    {
                        /*
                         * Aus dem Fragenkatalog wird die Frage am ermittelten Index geholt.
                         */
                        temp_frage = pFragenKatalog.getIndex(index_fragen_katalog);

                        /*
                         * Ist eine Frage vorhanden, wird diese exportiert.
                         */
                        if (temp_frage != null)
                        {
                            string_datei_inhalt += getFrageExportString(temp_frage, NEW_LINE, pKnzExportiereAntworten, pKnzExportiereKorrekteAntworten, pKnzExportiereFalscheAntworten, pKnzExportiereAntwortBezeichnung, pKnzAntwortReihenfolgeUmstellen);

                            lb_reihenfolge.addString(fkString.right("000000000000000000000" + (knz_use_lfd_nr ? temp_frage.getLfdNummer() : temp_frage.getNummer()), 20) + getKorrektStringFrageX(temp_frage));
                        }
                    }
                    catch (Exception err_inst)
                    {
                        Console.WriteLine("Fehler: errExportTextLernFabrik\n" + err_inst.Message + "\n\n" + err_inst.StackTrace);
                    }
                }

                /*
                 * Es wird der Index fuer die Lernfabrik um eins erhoeht und mit der
                 * naechsten Frage aus der Lernsitzung weitergemacht.
                 */
                index_lern_fabrik++;
            }

            /*
             * Erstellung des Loesungsbogens
             * Es wird die Funktion fuer die Erstellung des Loesungsbogens aufgerufen.
             */
            bool pKnzErstelleLoesungsbogen = true;

            string_datei_inhalt += getSringLoesungsbogen(pKnzErstelleLoesungsbogen, lb_reihenfolge);

            /*
             * Stringarray mit den Daten fuer den Loesungsbogen "clearen"
             * und anschliessend auf "null" stellen.
             */
            lb_reihenfolge.clear();

            lb_reihenfolge = null;

            /*
             * Der erstellte Fragenkatalog wird in der Datei gespeichert
             */
            System.IO.File.WriteAllText(pDateiName, string_datei_inhalt);

            return(fkt_ergebnis);
        }
예제 #10
0
        /*
         * ################################################################################
         */
        private static bool exportTextFragenKatalog(clsFragenKatalog pFragenKatalog, String pDateiName, bool pKnzExportiereAntworten, bool pKnzExportiereKorrekteAntworten, bool pKnzExportiereFalscheAntworten, bool pKnzExportiereAntwortBezeichnung, bool pKnzAntwortReihenfolgeUmstellen)
        {
            clsStringArray lb_reihenfolge = new clsStringArray();

            lb_reihenfolge.addString("000000000000000000000000Dummyzeile");

            clsFrage temp_frage = null;

            String string_datei_inhalt = "";

            string_datei_inhalt += "Export Abfrage Sitzung " + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + " - " + pFragenKatalog.getDateiName() + NEW_LINE;

            bool pKnzErstelleLoesungsbogen = true;

            bool fkt_ergebnis = true;

            int index_fragen_katalog = 0;

            /*
             * While-Schleife ueber alle Fragen im Fragenkatalog.
             */
            while (index_fragen_katalog < pFragenKatalog.getAnzahlFragen())
            {
                try
                {
                    /*
                     * Frage am aktuellem Index aus dem Fragenkatalog holen.
                     */
                    temp_frage = pFragenKatalog.getIndex(index_fragen_katalog);

                    /*
                     * Pruefung: Frage gesetzt ?
                     *
                     * Ist an der aktuellen Indexpositon keine Frage vorhanden, ist das Ergebnis
                     * der Funktion "getIndes" gleich "null". In so einem Fall wird mit dem
                     * naechsten Index weiter gemacht.
                     *
                     * Ist eine Frage vorhanden, wird diese exportiert.
                     */
                    if (temp_frage != null)
                    {
                        string_datei_inhalt += getFrageExportString(temp_frage, NEW_LINE, pKnzExportiereAntworten, pKnzExportiereKorrekteAntworten, pKnzExportiereFalscheAntworten, pKnzExportiereAntwortBezeichnung, pKnzAntwortReihenfolgeUmstellen);

                        lb_reihenfolge.addString(fkString.right("000000000000000000000" + (knz_use_lfd_nr ? temp_frage.getLfdNummer() : temp_frage.getNummer()), 20) + getKorrektStringFrageX(temp_frage));
                    }
                }
                catch (Exception err_inst)
                {
                    Console.WriteLine("Fehler: errExportTextFragenKatalog\n" + err_inst.Message + "\n\n" + err_inst.StackTrace);
                }

                /*
                 * Index der Fragen im Fragenkatalog um eins erhoehen und mit
                 * der naechsten Frage weitermachen.
                 */
                index_fragen_katalog++;
            }

            /*
             * Erstellung des Loesungsbogens
             * Es wird die Funktion fuer die Erstellung des Loesungsbogens aufgerufen.
             */
            string_datei_inhalt += getSringLoesungsbogen(pKnzErstelleLoesungsbogen, lb_reihenfolge);

            /*
             * Stringarray mit den Daten fuer den Loesungsbogen "clearen"
             * und anschliessend auf "null" stellen.
             */
            lb_reihenfolge.clear();

            lb_reihenfolge = null;

            /*
             * Der erstellte Fragenkatalog wird in der Datei gespeichert
             */
            System.IO.File.WriteAllText(pDateiName, string_datei_inhalt);

            return(fkt_ergebnis);
        }
예제 #11
0
        /*
         * ################################################################################
         */
        public static clsFragenKatalog getTestFragenKatalog()
        {
            clsFragenKatalog test_fragen_katalog = new clsFragenKatalog();

            clsFrage aktuelle_frage = null;

            test_fragen_katalog.setDateiName("TestFragenkatalog1.xls");

            int fragen_nr = 1;

            int fragen_anzahl = 2;

            int fragen_zaehler = 1;

            while (fragen_zaehler <= fragen_anzahl)
            {
                aktuelle_frage = new clsFrage();

                aktuelle_frage.setId("ID1_" + fragen_zaehler + "_" + fragen_nr);
                aktuelle_frage.setNummer("" + fragen_nr);
                aktuelle_frage.setText1("Fragenblock 1 Nr. " + fragen_zaehler + " von " + fragen_anzahl);
                aktuelle_frage.setText2("Fragentext 2 A");

                aktuelle_frage.setAntwortA(getTestAntwort(true, 1, true, "A"));
                aktuelle_frage.setAntwortB(getTestAntwort(true, 2, false, "B"));
                aktuelle_frage.setAntwortC(getTestAntwort(true, 3, false, "C"));
                aktuelle_frage.setAntwortD(getTestAntwort(true, 4, false, "D"));
                aktuelle_frage.setAntwortE(getTestAntwort(fragen_zaehler > 1, 5, false, "E"));
                aktuelle_frage.setAntwortF(getTestAntwort(fragen_zaehler > 1, 6, false, "F"));
                aktuelle_frage.setAntwortH(getTestAntwort(fragen_zaehler > 1, 7, false, "G"));
                aktuelle_frage.setAntwortG(getTestAntwort(fragen_zaehler > 1, 8, false, "H"));

                aktuelle_frage.setText2("Anzahl Antworten: " + aktuelle_frage.getAnzahlVorhandeneAntworten() + "   korrekt " + aktuelle_frage.getAnzahlKorrekteAntworten() + "   falsch " + aktuelle_frage.getAnzahlFalscheAntworten());

                test_fragen_katalog.addFrage(aktuelle_frage);

                fragen_zaehler++; fragen_nr++;
            }

            fragen_anzahl = 7;

            fragen_zaehler = 1;

            while (fragen_zaehler <= fragen_anzahl)
            {
                aktuelle_frage = new clsFrage();

                aktuelle_frage.setId("ID2_" + fragen_zaehler + "_" + fragen_nr);
                aktuelle_frage.setNummer("" + fragen_nr);
                aktuelle_frage.setText1("Fragenblock 2 Nr. " + fragen_zaehler + " von " + fragen_anzahl);
                aktuelle_frage.setText2("Fragentext 2 B");

                aktuelle_frage.setAntwortA(getTestAntwort(true, 1, true, "A"));
                aktuelle_frage.setAntwortB(getTestAntwort(true, 2, false, "B"));
                aktuelle_frage.setAntwortC(getTestAntwort(fragen_zaehler >= 2, 3, false, "C"));
                aktuelle_frage.setAntwortD(getTestAntwort(fragen_zaehler >= 3, 4, false, "D"));
                aktuelle_frage.setAntwortE(getTestAntwort(fragen_zaehler >= 4, 5, false, "E"));
                aktuelle_frage.setAntwortF(getTestAntwort(fragen_zaehler >= 5, 6, false, "F"));
                aktuelle_frage.setAntwortH(getTestAntwort(fragen_zaehler >= 6, 7, false, "G"));
                aktuelle_frage.setAntwortG(getTestAntwort(fragen_zaehler >= 7, 8, false, "H"));

                aktuelle_frage.setText2("Anzahl Antworten: " + aktuelle_frage.getAnzahlVorhandeneAntworten() + "   korrekt " + aktuelle_frage.getAnzahlKorrekteAntworten() + "   falsch " + aktuelle_frage.getAnzahlFalscheAntworten());

                test_fragen_katalog.addFrage(aktuelle_frage);

                fragen_zaehler++; fragen_nr++;
            }

            fragen_anzahl = 6;

            fragen_zaehler = 1;

            while (fragen_zaehler <= fragen_anzahl)
            {
                aktuelle_frage = new clsFrage();

                aktuelle_frage.setId("ID2_" + fragen_zaehler + "_" + fragen_nr);
                aktuelle_frage.setNummer("" + fragen_nr);
                aktuelle_frage.setText1("Fragenblock 2 Nr. " + fragen_zaehler + " von " + fragen_anzahl);
                aktuelle_frage.setText2("Fragentext 2 B");

                aktuelle_frage.setAntwortA(getTestAntwort(true, 1, true, "A"));
                aktuelle_frage.setAntwortB(getTestAntwort(true, 2, false, "B"));
                aktuelle_frage.setAntwortC(getTestAntwort(fragen_zaehler >= 2, 3, false, "C"));
                aktuelle_frage.setAntwortD(getTestAntwort(fragen_zaehler >= 3, 4, false, "D"));
                aktuelle_frage.setAntwortE(getTestAntwort(fragen_zaehler >= 4, 5, false, "E"));
                aktuelle_frage.setAntwortF(getTestAntwort(fragen_zaehler >= 5, 6, false, "F"));
                aktuelle_frage.setAntwortH(getTestAntwort(fragen_zaehler >= 6, 7, false, "G"));
                aktuelle_frage.setAntwortG(getTestAntwort(true, 8, false, "H"));

                aktuelle_frage.setText2("Anzahl Antworten: " + aktuelle_frage.getAnzahlVorhandeneAntworten() + "   korrekt " + aktuelle_frage.getAnzahlKorrekteAntworten() + "   falsch " + aktuelle_frage.getAnzahlFalscheAntworten());

                test_fragen_katalog.addFrage(aktuelle_frage);

                fragen_zaehler++; fragen_nr++;
            }


            fragen_anzahl = 4;

            fragen_zaehler = 1;

            while (fragen_zaehler <= fragen_anzahl)
            {
                aktuelle_frage = new clsFrage();

                aktuelle_frage.setId("ID2_" + fragen_zaehler + "_" + fragen_nr);
                aktuelle_frage.setNummer("" + fragen_nr);
                aktuelle_frage.setText1("Fragenblock 2 Nr. " + fragen_zaehler + " von " + fragen_anzahl);
                aktuelle_frage.setText2("Fragentext 2 B");

                aktuelle_frage.setAntwortA(getTestAntwort(true, 1, true, "A"));
                aktuelle_frage.setAntwortB(getTestAntwort(true, 2, false, "B"));
                aktuelle_frage.setAntwortC(getTestAntwort(fragen_zaehler >= 4, 3, false, "C"));
                aktuelle_frage.setAntwortD(getTestAntwort(fragen_zaehler >= 3, 4, false, "D"));
                aktuelle_frage.setAntwortE(getTestAntwort(fragen_zaehler >= 2, 5, false, "E"));
                aktuelle_frage.setAntwortF(getTestAntwort(fragen_zaehler >= 3, 6, false, "F"));
                aktuelle_frage.setAntwortH(getTestAntwort(fragen_zaehler >= 4, 7, false, "G"));
                aktuelle_frage.setAntwortG(getTestAntwort(true, 8, false, "H"));

                aktuelle_frage.setText2("Anzahl Antworten: " + aktuelle_frage.getAnzahlVorhandeneAntworten() + "   korrekt " + aktuelle_frage.getAnzahlKorrekteAntworten() + "   falsch " + aktuelle_frage.getAnzahlFalscheAntworten());

                test_fragen_katalog.addFrage(aktuelle_frage);

                fragen_zaehler++; fragen_nr++;
            }

            fragen_anzahl = 2;

            fragen_zaehler = 0;

            while (fragen_zaehler < fragen_anzahl)
            {
                aktuelle_frage = new clsFrage();

                aktuelle_frage.setId("ID3_" + fragen_zaehler + "_" + fragen_nr);
                aktuelle_frage.setNummer("" + fragen_nr);
                aktuelle_frage.setText1("Fragenblock 3 Nr. " + fragen_zaehler + " von " + fragen_anzahl);
                aktuelle_frage.setText2("Fragentext 2 C");

                aktuelle_frage.setAntwortA(getTestAntwort(true, 1, false, "A"));
                aktuelle_frage.setAntwortC(getTestAntwort(true, 3, false, "C"));
                aktuelle_frage.setAntwortD(getTestAntwort(true, 4, true, "D"));
                aktuelle_frage.setAntwortF(getTestAntwort(true, 6, false, "F"));
                aktuelle_frage.setAntwortG(getTestAntwort(true, 8, false, "H"));

                aktuelle_frage.setText2("Anzahl Antworten: " + aktuelle_frage.getAnzahlVorhandeneAntworten() + "   korrekt " + aktuelle_frage.getAnzahlKorrekteAntworten() + "   falsch " + aktuelle_frage.getAnzahlFalscheAntworten());

                test_fragen_katalog.addFrage(aktuelle_frage);

                fragen_zaehler++; fragen_nr++;
            }

            fragen_anzahl = 2;

            fragen_zaehler = 0;

            while (fragen_zaehler < fragen_anzahl)
            {
                aktuelle_frage = new clsFrage();

                aktuelle_frage.setId("ID4_" + fragen_zaehler + "_" + fragen_nr);
                aktuelle_frage.setNummer("" + fragen_nr);
                aktuelle_frage.setText1("Fragenblock 4 Nr. " + fragen_zaehler + " von " + fragen_anzahl);
                aktuelle_frage.setText2("Fragentext 2 D");

                aktuelle_frage.setAntwortA(getTestAntwort(true, 1, false, "A"));
                aktuelle_frage.setAntwortC(getTestAntwort(true, 3, false, "C"));
                aktuelle_frage.setAntwortD(getTestAntwort(true, 2, true, "B"));

                aktuelle_frage.setText2("Anzahl Antworten: " + aktuelle_frage.getAnzahlVorhandeneAntworten() + "   korrekt " + aktuelle_frage.getAnzahlKorrekteAntworten() + "   falsch " + aktuelle_frage.getAnzahlFalscheAntworten());

                test_fragen_katalog.addFrage(aktuelle_frage);

                fragen_zaehler++; fragen_nr++;
            }

            fragen_anzahl = 2;

            fragen_zaehler = 0;

            while (fragen_zaehler < fragen_anzahl)
            {
                aktuelle_frage = new clsFrage();

                aktuelle_frage.setId("ID5_" + fragen_zaehler + "_" + fragen_nr);
                aktuelle_frage.setNummer("" + fragen_nr);
                aktuelle_frage.setText1("Fragenblock 5 Nr. " + fragen_zaehler + " von " + fragen_anzahl);
                aktuelle_frage.setText2("Fragentext 2 E");

                aktuelle_frage.setAntwortA(getTestAntwort(true, 1, false, "A"));
                aktuelle_frage.setAntwortC(getTestAntwort(true, 3, false, "C"));
                aktuelle_frage.setAntwortD(getTestAntwort(true, 4, true, "D"));
                aktuelle_frage.setAntwortF(getTestAntwort(true, 6, false, "F"));
                aktuelle_frage.setAntwortH(getTestAntwort(true, 7, true, "G"));
                aktuelle_frage.setAntwortG(getTestAntwort(true, 8, false, "H"));

                aktuelle_frage.setText2("Anzahl Antworten: " + aktuelle_frage.getAnzahlVorhandeneAntworten() + "   korrekt " + aktuelle_frage.getAnzahlKorrekteAntworten() + "   falsch " + aktuelle_frage.getAnzahlFalscheAntworten());

                test_fragen_katalog.addFrage(aktuelle_frage);

                fragen_zaehler++;
                fragen_nr++;
            }


            fragen_anzahl = 2;

            fragen_zaehler = 0;

            while (fragen_zaehler < fragen_anzahl)
            {
                aktuelle_frage = new clsFrage();

                aktuelle_frage.setId("ID6_" + fragen_zaehler + "_" + fragen_nr);
                aktuelle_frage.setNummer("" + fragen_nr);
                aktuelle_frage.setText1("Fragenblock 6 Nr. " + fragen_zaehler + " von " + fragen_anzahl);
                aktuelle_frage.setText2("Fragentext 6 E");

                aktuelle_frage.setAntwortA(getTestAntwort(true, 1, true, "A"));
                aktuelle_frage.setAntwortB(getTestAntwort(true, 2, false, "B"));
                aktuelle_frage.setAntwortC(getTestAntwort(true, 3, false, "C"));
                aktuelle_frage.setAntwortD(getTestAntwort(true, 4, true, "D"));
                aktuelle_frage.setAntwortE(getTestAntwort(true, 5, false, "E"));
                aktuelle_frage.setAntwortH(getTestAntwort(true, 7, true, "G"));
                aktuelle_frage.setAntwortG(getTestAntwort(true, 8, false, "H"));

                aktuelle_frage.setText2("Anzahl Antworten: " + aktuelle_frage.getAnzahlVorhandeneAntworten() + "   korrekt " + aktuelle_frage.getAnzahlKorrekteAntworten() + "   falsch " + aktuelle_frage.getAnzahlFalscheAntworten());

                test_fragen_katalog.addFrage(aktuelle_frage);

                fragen_zaehler++;
                fragen_nr++;
            }


            return(test_fragen_katalog);
        }
예제 #12
0
        /*
         * PARAMETER: pXmlDateiName  = Pfad und Dateiname auf die zu parsende XML-Datei
         * PARAMETER: pFragenKatalog  = der Fragenkatalog, in welchem die Fragen gespeichert werden sollen
         *
         * RETURN   : TRUE sofern die Datei gelesen und geparst werden konnte, sonst false
         */
        public bool startImportXmlDatei(String pXMLDatei, clsFragenKatalog pFragenKatalog)
        {
            bool   knz_xml_datei_geparst = false;
            int    xml_node_zaehler      = 0;
            String xml_datei_inhalt      = "";
            String akt_root = "";

            /*
             * Pruefung: Instanz fuer die Speicherung der Fragen vorhanden ?
             *
             * Ist keine Speicherinstanzt uebergeben, bekommt der Aufrufer FALSE zurueck.
             */
            if (pFragenKatalog == null)
            {
                // Keine Instanz fuer die Speicherung vorhanden

                return(false);
            }

            /*
             * Dateiinhalt der XML-Datei in die Variable xml_datei_inhalt laden.
             */
            xml_datei_inhalt = getXmlDateiInhalt(pXMLDatei);

            pFragenKatalog.setDateiName(pXMLDatei);

            /*
             * Pruefung: Konnte die XML-Datei geladen werden?
             * Wenn die XML-Datei nicht geladen werden konnte, gibt es einen Leerstring zurueck.
             *
             * Die Datei kann nur dann verarbeitet werden, wenn es einen Dateiinhalt zum
             * verarbeiten gibt.
             */
            if (xml_datei_inhalt != "")
            {
                /*
                 * Den Klammerzaehler auf 1 stellen.
                 */
                xml_node_zaehler = 1;

                /*
                 * Erste XML-Klammern "FRAGE" ermitteln.
                 */
                akt_root = getTagString(xml_datei_inhalt, XML_TAG_FRAGE, xml_node_zaehler);

                /*
                 * While-Schleife
                 * Die While-Schleife laeuft solange wie:
                 * ... es noch XML-Klammern gibt, die Variable "akt_root" kein Leerstring ist.
                 * ... der Index-Zaehler noch nicht die Maximalgrenze der einzulesenden Objekte erreicht hat.
                 */
                while ((akt_root != "") && (xml_node_zaehler < MAX_ANZAHL_XML_KLAMMER_LESEN))
                {
                    /*
                     * Aufruf der Parse-Funktion fuer ein Element der Klasse "clsFrage".
                     * Die Ergenibsinstanz wird dem Vektor hinzugefuegt.
                     */
                    pFragenKatalog.addFrage(parseClsFrage(akt_root));

                    /*
                     * Index-Zaehler um 1 erhoehen
                     */
                    xml_node_zaehler++;

                    /*
                     * Naechste XML-Klammer "FRAGE" holen.
                     */
                    akt_root = getTagString(xml_datei_inhalt, XML_TAG_FRAGE, xml_node_zaehler);
                }

                knz_xml_datei_geparst = true;
            }
            else
            {
                /*
                 * Fehlerfall: XML-Datei konnte nicht geparst werden.
                 */
                knz_xml_datei_geparst = false;
            }

            return(knz_xml_datei_geparst);
        }