// Einstellungen aus dem Fahrtenbuch auslesen public boolean readEinstellungen() { String s; fbDaten.bootDatei = "boote.efbb"; fbDaten.mitgliederDatei = "mitglieder.efbm"; fbDaten.zieleDatei = "ziele.efbz"; fbDaten.statistikDatei = "statistik.efbs"; try { while ((s = freadLine()) != null && !s.startsWith("##ENDE_KONFIG")) { s = s.trim(); if (s.startsWith("BOOTE=")) fbDaten.bootDatei = s.substring(6, s.length()); if (s.startsWith("MITGLIEDER=")) fbDaten.mitgliederDatei = s.substring(11, s.length()); if (s.startsWith("ZIELE=")) fbDaten.zieleDatei = s.substring(6, s.length()); if (s.startsWith("STATISTIK=")) fbDaten.statistikDatei = s.substring(10, s.length()); if (s.startsWith("VORHERIGESFB=")) prevFb = s.substring(13, s.length()); if (s.startsWith("NAECHSTESFB=")) nextFb = s.substring(12, s.length()); if (s.startsWith("NAMENSANGABEN=")) fbDaten.erstVorname = s.substring(14, s.length()).equals("VORNACH"); if (s.startsWith("STATUS1=")) { // aus Kompatibilität zu FBs von vor 090 String t = s.substring(8, s.length()); if (!t.endsWith( "," + Daten.efaTypes.getValue( EfaTypes.CATEGORY_STATUS, EfaTypes.TYPE_STATUS_GUEST))) { t = t + "," + Daten.efaTypes.getValue(EfaTypes.CATEGORY_STATUS, EfaTypes.TYPE_STATUS_GUEST); } fbDaten.status = EfaUtil.statusList2Arr(t); } if (s.startsWith("STATUS=")) { String t = s.substring(7, s.length()); fbDaten.status = EfaUtil.statusList2Arr(t); } if (s.startsWith("ANZMITGLIEDER=")) { String t = s.substring(14, s.length()); fbDaten.anzMitglieder = EfaUtil.string2int(t, 0); } if (s.startsWith("MEHRTAGESFAHRT=")) { String t = s.substring(15, s.length()); DatenFelder d = new DatenFelder(6, t); Mehrtagesfahrt m = new Mehrtagesfahrt( d.get(0), d.get(1), d.get(2), EfaUtil.string2int(d.get(3), 1), d.get(4), d.get(5).equals("+")); mehrtagesfahrten.put(m.name, m); } } } catch (IOException e) { errReadingFile(dat, e.getMessage()); return false; } return true; }
// Zusatzdatenbanken lesen und bei neuErstellen=true ggf. ohne Nachfrage neu erstellen public void readZusatzdatenbanken(boolean neuErstellen) { String fbPath = EfaUtil.getPathOfFile(this.dat); // Boote einlesen if (fbDaten.bootDatei.equals("")) fbDaten.boote = null; else { fbDaten.boote = new Boote(EfaUtil.makeFullPath(fbPath, fbDaten.bootDatei)); if (DONTEVERWRITE) { fbDaten.boote.dontEverWrite(); } if (neuErstellen && !EfaUtil.canOpenFile(fbDaten.boote.getFileName())) fbDaten.boote.writeFile(); if (!fbDaten.boote.readFile()) fbDaten.bootDatei = null; } // Mitglieder einlesen if (fbDaten.mitgliederDatei.equals("")) fbDaten.mitglieder = null; else { fbDaten.mitglieder = new Mitglieder(EfaUtil.makeFullPath(fbPath, fbDaten.mitgliederDatei)); if (DONTEVERWRITE) { fbDaten.mitglieder.dontEverWrite(); } if (neuErstellen && !EfaUtil.canOpenFile(fbDaten.mitglieder.getFileName())) fbDaten.mitglieder.writeFile(); if (!fbDaten.mitglieder.readFile()) fbDaten.mitgliederDatei = null; } // Ziele einlesen if (fbDaten.zieleDatei.equals("")) fbDaten.ziele = null; else { fbDaten.ziele = new Ziele(EfaUtil.makeFullPath(fbPath, fbDaten.zieleDatei)); if (DONTEVERWRITE) { fbDaten.ziele.dontEverWrite(); } if (neuErstellen && !EfaUtil.canOpenFile(fbDaten.ziele.getFileName())) fbDaten.ziele.writeFile(); if (!fbDaten.ziele.readFile()) fbDaten.zieleDatei = null; } // Statistiken einlesen if (fbDaten.statistikDatei.equals("")) fbDaten.statistik = null; else { fbDaten.statistik = new StatSave(EfaUtil.makeFullPath(fbPath, fbDaten.statistikDatei)); if (DONTEVERWRITE) { fbDaten.statistik.dontEverWrite(); } if (neuErstellen && !EfaUtil.canOpenFile(fbDaten.statistik.getFileName())) fbDaten.statistik.writeFile(); if (!fbDaten.statistik.readFile()) fbDaten.statistikDatei = null; } }