/*
         * ################################################################################
         */
        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);
        }
        /*
         * ################################################################################
         */
        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);
        }