/* * ################################################################################ */ 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); }
/** * @return die Anzahl der Fragen im aktuellen Fragenkatalog. Ist kein Fragenkatalog geladen -1 */ public int getAnzahlFragen() { /* * Pruefung: Fragenkatalog-Instanz vorhanden ? * * Ist die Fragenkatalog-Instanz vorhanden, wird * dem Aufrufer das Funktionsergebnis der Funktion * "getAnzahlFragen" zurueckgegeben. * * Ist kein Fragenkatalog vorhanden, bekommt der * Aufrufder -1 zurueck. */ if (m_fragen_katalog != null) { m_fragen_katalog.getAnzahlFragen(); } return(-1); }
/* * ################################################################################ */ 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); }
/* * ################################################################################ */ 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); }