/* * ################################################################################ */ 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); }
/** * 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); }
/** * @return die Instanz fuer die Lernfabrik */ public clsLernFrabrik getLernFrabrik() { /* * Pruefung: Instanz der Lernfabrik vorhanden ? */ if (m_lern_fabrik == null) { /* * Ist die Instanz noch null, wird eine neue Instanz * der Klasse ^"clsLernFrabrik" erstellt und der * Membervariablen "m_lern_fabrik" zugewiesen. */ m_lern_fabrik = new clsLernFrabrik(); } return(m_lern_fabrik); }
/** * 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; }
/* * ################################################################################ */ 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); }
/* * ################################################################################ */ public static bool startExportFbLernFabrik(clsFragenKatalog pFrageKatalog, clsLernFrabrik pLernFrabrik, int pExportModus, 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: Parameter "pLernFrabrik" gleich "null" ? * * Wurde keine Lernfrabrik uebergeben, wird die Funktion mit FALSE verlassen. */ if (pLernFrabrik == null) { return(fkt_ergebnis); } /* * Pruefung: Sind Fragen im Fragenkatalog vorhanden ? * * Sind im Fragenkatalog keine Fragen vorhanden, wird die Funktion mit FALSE verlassen. */ if (pFrageKatalog.getAnzahlFragen() == 0) { return(fkt_ergebnis); } /* * Pruefung: Sind Fragen in der Lernfabrik vorhanden ? * * Sind in der Lernfabrik keine Fragen vorhanden, wird die Funktion mit FALSE verlassen. */ 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_FB_LERN_FABRIK"); /* * 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 = 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_FB_LERN_FABRIK", datei_name); fkt_ergebnis = exportTextLernFabrik(pFrageKatalog, pLernFrabrik, pExportModus, datei_name, pKnzExportiereAntworten, pKnzExportiereKorrekteAntworten, pKnzExportiereFalscheAntworten, pKnzExportiereAntwortBezeichnung, pKnzAntwortReihenfolgeUmstellen); } return(fkt_ergebnis); }