예제 #1
0
  // 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;
  }
예제 #2
0
  // 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;
    }
  }