Dr.Pepper: Termin Kalender

Hallo Selfhtml Leute, wie gehts.
Ich habe einen kleinen Kalender gebastelt.
Ich habe ihn immer nur mit Zwei Terminen getestet und das hat ja auch funktioniert. Jetzt Stelle ich aber fest das geht immer nur mit Zwei Terminen. Und ich finde den Fehler nicht.
Dabei war ich schon fast fertig. (böse Flüche)
Wenn mir einer helfen kann währe ich sehr Dankbar.
MFG

<html>
<body text="#FFFFFF" bgcolor="#000000">
<script type="text/javascript">

var TerminDatum =           new Array( "01.07.2005",  "02.07.2005", "03.07.2005" );
  var TerminText =            new Array( "Test einmal", "Test 2 einmal", "test 3");

var TerminDatumJährlich =   new Array( "28.06",       "01.03",           "02.03");
  var TerminTextJährlich =    new Array( "Jahres tag1", "Mein Geburstag" , "wwwwwwwwwww");

var TerminDatumQuartal =    new Array( "28",            "03");
  var TerminTextQuartal =     new Array( "zb KFZ Steuer", "ddd");

var FesteFeiertageDatum =       new Array( "01.01",   "06.01",              "02.02",         "14.02",        "01.05",          "05.05",               "17.06",                         "21.06",        "27.06",          "15.08",            "23.09",        "03.10",                       "31.10",                       "01.11",         "11.11",       "06.12",    "08.12",            "22.12",        "24.12",       "25.12",           "26.12",            "31.12");
  var FesteFeiertageTerminText =  new Array( "Neujahr", "Heilige Drei Könige", "Murmeltiertag", "Valentinstag", "Tag der Arbeit", "Europatag (ab 1950)", "Tag der Dt. Einheit (bis 1989)", "Sommeranfang", "Siebenschläfer", "Mariä Himmelfahrt", "Herbstanfang", "Tag der Dt. Einheit(ab 1990)", "Reformationstag + Halloween", "Allerheiligen", "Sankt Martin", "Nikolaus", "Mariä Empfängnis", "Winteranfang", "Heiligabend", "1. Weihnachtstag", "2. Weihnachtstag", "Silvester");

function SchreibeTabelle () {
  document.write('<table border="1" cellpadding="1" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111"><tr>');
  document.write('<td bgcolor="#666666"> Datum </td>');
  document.write('<td bgcolor="#666666"> Termine </td>');
  document.write('<td bgcolor="#666666"> Jährlich </td>');
  document.write('<td bgcolor="#666666"> Quartal </td>');
  document.write('<td bgcolor="#666666"> Feiertage </td>');
  document.write('<td bgcolor="#666666"> Feiertage </td></tr>');

var TageVergangenheit = 31;
  var Heute = 1
  var TageZukunft = 366
  for (i=1; i <= (TageVergangenheit + Heute + TageZukunft); i = i + 1) {

var Zeit = new Date();
  var AbsolutJetzt = Zeit.getTime();
  var AbsolutDann = AbsolutJetzt - ((TageVergangenheit + Heute - i) * 24 * 60 * 60 * 1000);
  Zeit.setTime(AbsolutDann);
  var Jahr = Zeit.getYear();
  if (Jahr < 2000) Jahr = Jahr + 1900;
  var Monat = Zeit.getMonth();
  var Tag = Zeit.getDate() -1;
  var TagInWoche = Zeit.getDay();
  var Wochentag = new Array("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa");
  var Zahltag = new Array( "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31");
  var Zahlmonat = new Array( "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
  var Monatname = new Array("Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez");
  var Anzeige = Wochentag[TagInWoche] + " " + Zahltag[Tag] + "." + Monatname[Monat] + "." + Jahr
  var TerminVergleich = Zahltag[Tag] + "." + Zahlmonat[Monat] + "." + Jahr
  var TerminVergleichJährlich = Zahltag[Tag] + "." + Zahlmonat[Monat]
  var TerminVergleichQuartal = Zahltag[Tag]
  var TerminZähler = 0;

do {
  if (TerminVergleich == TerminDatum[TerminZähler]) AnzeigeTerminText = TerminText[TerminZähler];
  if (TerminVergleich != TerminDatum[TerminZähler]) AnzeigeTerminText = "q";
  TerminZähler = TerminZähler + 1;
      }
  while (TerminVergleich == TerminDatum[TerminZähler]);

var TerminZähler = 0;

do {
  if (TerminVergleichJährlich == TerminDatumJährlich[TerminZähler]) AnzeigeTerminTextJährlich = TerminTextJährlich[TerminZähler];
  if (TerminVergleichJährlich != TerminDatumJährlich[TerminZähler]) AnzeigeTerminTextJährlich = "w";
  TerminZähler = TerminZähler + 1;
      }
  while (TerminVergleichJährlich == TerminDatumJährlich[TerminZähler]);

var TerminZähler = 0;

do {
  if (TerminVergleichQuartal == TerminDatumQuartal[TerminZähler]) AnzeigeTerminTextQuartal = TerminTextQuartal[TerminZähler];
  if (TerminVergleichQuartal != TerminDatumQuartal[TerminZähler]) AnzeigeTerminTextQuartal = "e";
  TerminZähler = TerminZähler + 1;
      }
  while (TerminVergleichQuartal == TerminDatumQuartal[TerminZähler]);

a = Jahr % 19;
      b = Jahr % 4;
      c = Jahr % 7;
     H1 = Math.floor(Jahr/100);
     H2 = Math.floor(Jahr/400);
      N = 4 + H1 - H2;
      M = 15 + H1 - H2- Math.floor((8 * H1 + 13) / 25);
      d = (19 * a + M) % 30;
      e = (2 * b + 4 * c + 6 * d + N) % 7;
ostern = 22 + d + e;
        if (ostern == 57) ostern = 50;
        if ((d == 28) && (e == 6) && (a > 10)) ostern = 49 ;
         if (ostern > 31) {
           ostern  = ostern - 31;
           ostermonat = 4;
         }
         else ostermonat = 3;
  var MonatO = ostermonat -1;
  var TagO = ostern -1;
  var OsterTag = new Array( "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31");
  var OsterMonat = new Array( "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
  var TerminVergleichJährlichOsterDatum = OsterTag[TagO] + "." + OsterMonat[MonatO]

if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 48) AnzeigeFeiertagText = "Rosenmontag";
  if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 47) AnzeigeFeiertagText = "Fastnacht";
  if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 46) AnzeigeFeiertagText = "Aschermittwoch";
  if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 7 ) AnzeigeFeiertagText = "Palmsonntag";
  if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 3 ) AnzeigeFeiertagText = "Gründonnerstag";
  if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 2 ) AnzeigeFeiertagText = "Karfreitag";
  if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 0 ) AnzeigeFeiertagText = "Ostersonntag";
  if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 1 ) AnzeigeFeiertagText = "Ostermontag";
  if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 39) AnzeigeFeiertagText = "Christi Himmelfahrt";
  if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 49) AnzeigeFeiertagText = "Pfingsonntag";
  if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 50) AnzeigeFeiertagText = "Pfingstmontag";
  if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 60) AnzeigeFeiertagText = "Fronleichnam";
  if (TerminVergleichJährlichOsterDatum != TerminVergleichJährlich) AnzeigeFeiertagText = "r";

var TerminZähler = 0;

do {
  if (TerminVergleichJährlich == FesteFeiertageDatum[TerminZähler]) AnzeigeFesteFeiertageText = FesteFeiertageTerminText[TerminZähler];
  if (TerminVergleichJährlich != FesteFeiertageDatum[TerminZähler]) AnzeigeFesteFeiertageText = "t";
  TerminZähler = TerminZähler + 1;
      }
  while (TerminVergleichJährlich == FesteFeiertageDatum[TerminZähler]);

document.write("<td>" + Anzeige + "</td>");
    document.write("<td>" + AnzeigeTerminText + "</td>");
    document.write("<td>" + AnzeigeTerminTextJährlich + "</td>");
    document.write("<td>" + AnzeigeTerminTextQuartal + "</td>");
    document.write("<td>" + AnzeigeFeiertagText + "</td>");
    document.write("<td>" + AnzeigeFesteFeiertageText + "</td></tr>");

}

document.write("</table>");
}
SchreibeTabelle();
</script>
</body>
</html>

  1. Hallo Dr.Pepper,

    Ich habe ihn immer nur mit Zwei Terminen getestet und das hat ja auch funktioniert. Jetzt Stelle ich aber fest das geht immer nur mit Zwei Terminen.

    Was passiert beim Dritten? (Fehlermeldung?)

    Und ich finde den Fehler nicht.

    Wie sehen Deine Debugging-Versuche aus?

    Gruß aus Köln-Ehrenfeld,

    Elya

    1. Hallo Elya

      Gleich in den Ersten Zeilen

      var TerminDatum =           new Array( "01.07.2005",  "02.07.2005", "03.07.2005" );
        var TerminText =            new Array( "Test einmal", "Test 2 einmal", "test 3");

      "test 3" Wird nicht angezeigt.

      Hallo Dr.Pepper,

      Ich habe ihn immer nur mit Zwei Terminen getestet und das hat ja auch funktioniert. Jetzt Stelle ich aber fest das geht immer nur mit Zwei Terminen.

      Was passiert beim Dritten? (Fehlermeldung?)

      Und ich finde den Fehler nicht.
      Wie sehen Deine Debugging-Versuche aus?

      Gruß aus Köln-Ehrenfeld,

      Elya

      1. Hej,

          
        
        >  var TerminDatum = new Array( "01.07.2005",  "02.07.2005", "03.07.2005" );  
        >  var TerminText  = new Array( "Test einmal", "Test 2 einmal", "test 3");
        
        

        "test 3" Wird nicht angezeigt.

        *seufz* Es würde mich sehr wundern wenn aufgrund _dieser_ Zeilen "Test einmal" oder "Test 2 mal" angezeigt werden würde.

        Beste Grüße
        Biester*der jetzt ganz flott zur Mensa muss weil es Schnippo gibt*feld

        --
        "Nein! ... Nein, schneller, leichter, verführerischer die dunkle Seite ist."
        1. Also Das Progamm zeigt mir leider nicht Alle Termine an.
          Es kommt immer nur bis zur zweiten Position von "new Array".
          Dann hört die Schleife auf abzufragen. Wie muß ich die Schreife umbauen so das alles abgefragt wird?

          <html>
          <body text="#FFFFFF" bgcolor="#000000">
          <script type="text/javascript">

          var TerminDatum =           new Array( "01.07.2005",  "02.07.2005", "03.07.2005" );
            var TerminText =            new Array( "Test1", "Test2", "Test3" );

          var TerminDatumJährlich =   new Array( "28.06",       "01.03",           "02.03" );
            var TerminTextJährlich =    new Array( "Jahres tag1", "Mein Geburstag" , "xyz" );

          var TerminDatumQuartal =    new Array( "28",             "03",      "01" );
            var TerminTextQuartal =     new Array( "zb. KFZ Steuer", "Bla Bla", "Hallo" );

          var FesteFeiertageDatum =       new Array( "01.01",   "06.01",              "02.02",         "14.02",        "01.05",          "05.05",               "17.06",                         "21.06",        "27.06",          "15.08",            "23.09",        "03.10",                       "31.10",                       "01.11",         "11.11",       "06.12",    "08.12",            "22.12",        "24.12",       "25.12",           "26.12",            "31.12");
            var FesteFeiertageTerminText =  new Array( "Neujahr", "Heilige Drei Könige", "Murmeltiertag", "Valentinstag", "Tag der Arbeit", "Europatag (ab 1950)", "Tag der Dt. Einheit (bis 1989)", "Sommeranfang", "Siebenschläfer", "Mariä Himmelfahrt", "Herbstanfang", "Tag der Dt. Einheit(ab 1990)", "Reformationstag + Halloween", "Allerheiligen", "Sankt Martin", "Nikolaus", "Mariä Empfängnis", "Winteranfang", "Heiligabend", "1. Weihnachtstag", "2. Weihnachtstag", "Silvester");

          function SchreibeTabelle () {
            document.write('<table border="1" cellpadding="1" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111"><tr>');
            document.write('<td bgcolor="#666666"> Datum </td>');
            document.write('<td bgcolor="#666666"> Termine </td>');
            document.write('<td bgcolor="#666666"> Jährlich </td>');
            document.write('<td bgcolor="#666666"> Quartal </td>');
            document.write('<td bgcolor="#666666"> Feiertage </td>');
            document.write('<td bgcolor="#666666"> Feiertage </td></tr>');

          var TageVergangenheit = 31;
            var Heute = 1
            var TageZukunft = 366
            for (i=1; i <= (TageVergangenheit + Heute + TageZukunft); i = i + 1) {

          var Zeit = new Date();
            var AbsolutJetzt = Zeit.getTime();
            var AbsolutDann = AbsolutJetzt - ((TageVergangenheit + Heute - i) * 24 * 60 * 60 * 1000);
            Zeit.setTime(AbsolutDann);
            var Jahr = Zeit.getYear();
            if (Jahr < 2000) Jahr = Jahr + 1900;
            var Monat = Zeit.getMonth();
            var Tag = Zeit.getDate() -1;
            var TagInWoche = Zeit.getDay();
            var Wochentag = new Array("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa");
            var Zahltag = new Array( "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31");
            var Zahlmonat = new Array( "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
            var Monatname = new Array("Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez");
            var Anzeige = Wochentag[TagInWoche] + " " + Zahltag[Tag] + "." + Monatname[Monat] + "." + Jahr
            var TerminVergleich = Zahltag[Tag] + "." + Zahlmonat[Monat] + "." + Jahr
            var TerminVergleichJährlich = Zahltag[Tag] + "." + Zahlmonat[Monat]
            var TerminVergleichQuartal = Zahltag[Tag]
            var TerminZähler = 0;

          do {
            if (TerminVergleich == TerminDatum[TerminZähler]) AnzeigeTerminText = TerminText[TerminZähler];
            if (TerminVergleich != TerminDatum[TerminZähler]) AnzeigeTerminText = "";
            var TerminZähler = TerminZähler + 1;
                }
            while (TerminVergleich == TerminDatum[TerminZähler]);

          var TerminZähler = 0;

          do {
            if (TerminVergleichJährlich == TerminDatumJährlich[TerminZähler]) AnzeigeTerminTextJährlich = TerminTextJährlich[TerminZähler];
            if (TerminVergleichJährlich != TerminDatumJährlich[TerminZähler]) AnzeigeTerminTextJährlich = "";
            TerminZähler = TerminZähler + 1;
                }
            while (TerminVergleichJährlich == TerminDatumJährlich[TerminZähler]);

          var TerminZähler = 0;

          do {
            if (TerminVergleichQuartal == TerminDatumQuartal[TerminZähler]) AnzeigeTerminTextQuartal = TerminTextQuartal[TerminZähler];
            if (TerminVergleichQuartal != TerminDatumQuartal[TerminZähler]) AnzeigeTerminTextQuartal = "";
            TerminZähler = TerminZähler + 1;
                }
            while (TerminVergleichQuartal == TerminDatumQuartal[TerminZähler]);

          a = Jahr % 19;
                b = Jahr % 4;
                c = Jahr % 7;
               H1 = Math.floor(Jahr/100);
               H2 = Math.floor(Jahr/400);
                N = 4 + H1 - H2;
                M = 15 + H1 - H2- Math.floor((8 * H1 + 13) / 25);
                d = (19 * a + M) % 30;
                e = (2 * b + 4 * c + 6 * d + N) % 7;
          ostern = 22 + d + e;
                  if (ostern == 57) ostern = 50;
                  if ((d == 28) && (e == 6) && (a > 10)) ostern = 49 ;
                   if (ostern > 31) {
                     ostern  = ostern - 31;
                     ostermonat = 4;
                   }
                   else ostermonat = 3;
            var MonatO = ostermonat -1;
            var TagO = ostern -1;
            var OsterTag = new Array( "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31");
            var OsterMonat = new Array( "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
            var TerminVergleichJährlichOsterDatum = OsterTag[TagO] + "." + OsterMonat[MonatO]

          if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 48) AnzeigeFeiertagText = "Rosenmontag";
            if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 47) AnzeigeFeiertagText = "Fastnacht";
            if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 46) AnzeigeFeiertagText = "Aschermittwoch";
            if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 7 ) AnzeigeFeiertagText = "Palmsonntag";
            if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 3 ) AnzeigeFeiertagText = "Gründonnerstag";
            if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 2 ) AnzeigeFeiertagText = "Karfreitag";
            if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 0 ) AnzeigeFeiertagText = "Ostersonntag";
            if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 1 ) AnzeigeFeiertagText = "Ostermontag";
            if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 39) AnzeigeFeiertagText = "Christi Himmelfahrt";
            if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 49) AnzeigeFeiertagText = "Pfingsonntag";
            if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 50) AnzeigeFeiertagText = "Pfingstmontag";
            if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 60) AnzeigeFeiertagText = "Fronleichnam";
            if (TerminVergleichJährlichOsterDatum != TerminVergleichJährlich) AnzeigeFeiertagText = "";

          var TerminZähler = 0;

          do {
            if (TerminVergleichJährlich == FesteFeiertageDatum[TerminZähler]) AnzeigeFesteFeiertageText = FesteFeiertageTerminText[TerminZähler];
            if (TerminVergleichJährlich != FesteFeiertageDatum[TerminZähler]) AnzeigeFesteFeiertageText = "";
            TerminZähler = TerminZähler + 1;
                }
            while (TerminVergleichJährlich == FesteFeiertageDatum[TerminZähler]);

          document.write("<td>" + Anzeige + "</td>");
              document.write("<td>" + AnzeigeTerminText + "</td>");
              document.write("<td>" + AnzeigeTerminTextJährlich + "</td>");
              document.write("<td>" + AnzeigeTerminTextQuartal + "</td>");
              document.write("<td>" + AnzeigeFeiertagText + "</td>");
              document.write("<td>" + AnzeigeFesteFeiertageText + "</td></tr>");

          }

          document.write("</table>");
          }
          SchreibeTabelle();
          </script>
          </body>
          </html>

  2. Also Das Progamm zeigt mir leider nicht Alle Termine an.
    Es kommt immer nur bis zur zweiten Position von "new Array".
    Dann hört die Schleife auf abzufragen. Wie muß ich die Schreife umbauen so das alles abgefragt wird?

    <html>
    <body text="#FFFFFF" bgcolor="#000000">
    <script type="text/javascript">

    var TerminDatum =           new Array( "01.07.2005",  "02.07.2005", "03.07.2005" );
      var TerminText =            new Array( "Test1", "Test2", "Test3" );

    var TerminDatumJährlich =   new Array( "28.06",       "01.03",           "02.03" );
      var TerminTextJährlich =    new Array( "Jahres tag1", "Mein Geburstag" , "xyz" );

    var TerminDatumQuartal =    new Array( "28",             "03",      "01" );
      var TerminTextQuartal =     new Array( "zb. KFZ Steuer", "Bla Bla", "Hallo" );

    var FesteFeiertageDatum =       new Array( "01.01",   "06.01",              "02.02",         "14.02",        "01.05",          "05.05",               "17.06",                         "21.06",        "27.06",          "15.08",            "23.09",        "03.10",                       "31.10",                       "01.11",         "11.11",       "06.12",    "08.12",            "22.12",        "24.12",       "25.12",           "26.12",            "31.12");
      var FesteFeiertageTerminText =  new Array( "Neujahr", "Heilige Drei Könige", "Murmeltiertag", "Valentinstag", "Tag der Arbeit", "Europatag (ab 1950)", "Tag der Dt. Einheit (bis 1989)", "Sommeranfang", "Siebenschläfer", "Mariä Himmelfahrt", "Herbstanfang", "Tag der Dt. Einheit(ab 1990)", "Reformationstag + Halloween", "Allerheiligen", "Sankt Martin", "Nikolaus", "Mariä Empfängnis", "Winteranfang", "Heiligabend", "1. Weihnachtstag", "2. Weihnachtstag", "Silvester");

    function SchreibeTabelle () {
      document.write('<table border="1" cellpadding="1" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111"><tr>');
      document.write('<td bgcolor="#666666"> Datum </td>');
      document.write('<td bgcolor="#666666"> Termine </td>');
      document.write('<td bgcolor="#666666"> Jährlich </td>');
      document.write('<td bgcolor="#666666"> Quartal </td>');
      document.write('<td bgcolor="#666666"> Feiertage </td>');
      document.write('<td bgcolor="#666666"> Feiertage </td></tr>');

    var TageVergangenheit = 31;
      var Heute = 1
      var TageZukunft = 366
      for (i=1; i <= (TageVergangenheit + Heute + TageZukunft); i = i + 1) {

    var Zeit = new Date();
      var AbsolutJetzt = Zeit.getTime();
      var AbsolutDann = AbsolutJetzt - ((TageVergangenheit + Heute - i) * 24 * 60 * 60 * 1000);
      Zeit.setTime(AbsolutDann);
      var Jahr = Zeit.getYear();
      if (Jahr < 2000) Jahr = Jahr + 1900;
      var Monat = Zeit.getMonth();
      var Tag = Zeit.getDate() -1;
      var TagInWoche = Zeit.getDay();
      var Wochentag = new Array("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa");
      var Zahltag = new Array( "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31");
      var Zahlmonat = new Array( "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
      var Monatname = new Array("Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez");
      var Anzeige = Wochentag[TagInWoche] + " " + Zahltag[Tag] + "." + Monatname[Monat] + "." + Jahr
      var TerminVergleich = Zahltag[Tag] + "." + Zahlmonat[Monat] + "." + Jahr
      var TerminVergleichJährlich = Zahltag[Tag] + "." + Zahlmonat[Monat]
      var TerminVergleichQuartal = Zahltag[Tag]
      var TerminZähler = 0;

    do {
      if (TerminVergleich == TerminDatum[TerminZähler]) AnzeigeTerminText = TerminText[TerminZähler];
      if (TerminVergleich != TerminDatum[TerminZähler]) AnzeigeTerminText = "";
      var TerminZähler = TerminZähler + 1;
          }
      while (TerminVergleich == TerminDatum[TerminZähler]);

    var TerminZähler = 0;

    do {
      if (TerminVergleichJährlich == TerminDatumJährlich[TerminZähler]) AnzeigeTerminTextJährlich = TerminTextJährlich[TerminZähler];
      if (TerminVergleichJährlich != TerminDatumJährlich[TerminZähler]) AnzeigeTerminTextJährlich = "";
      TerminZähler = TerminZähler + 1;
          }
      while (TerminVergleichJährlich == TerminDatumJährlich[TerminZähler]);

    var TerminZähler = 0;

    do {
      if (TerminVergleichQuartal == TerminDatumQuartal[TerminZähler]) AnzeigeTerminTextQuartal = TerminTextQuartal[TerminZähler];
      if (TerminVergleichQuartal != TerminDatumQuartal[TerminZähler]) AnzeigeTerminTextQuartal = "";
      TerminZähler = TerminZähler + 1;
          }
      while (TerminVergleichQuartal == TerminDatumQuartal[TerminZähler]);

    a = Jahr % 19;
          b = Jahr % 4;
          c = Jahr % 7;
         H1 = Math.floor(Jahr/100);
         H2 = Math.floor(Jahr/400);
          N = 4 + H1 - H2;
          M = 15 + H1 - H2- Math.floor((8 * H1 + 13) / 25);
          d = (19 * a + M) % 30;
          e = (2 * b + 4 * c + 6 * d + N) % 7;
    ostern = 22 + d + e;
            if (ostern == 57) ostern = 50;
            if ((d == 28) && (e == 6) && (a > 10)) ostern = 49 ;
             if (ostern > 31) {
               ostern  = ostern - 31;
               ostermonat = 4;
             }
             else ostermonat = 3;
      var MonatO = ostermonat -1;
      var TagO = ostern -1;
      var OsterTag = new Array( "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31");
      var OsterMonat = new Array( "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
      var TerminVergleichJährlichOsterDatum = OsterTag[TagO] + "." + OsterMonat[MonatO]

    if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 48) AnzeigeFeiertagText = "Rosenmontag";
      if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 47) AnzeigeFeiertagText = "Fastnacht";
      if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 46) AnzeigeFeiertagText = "Aschermittwoch";
      if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 7 ) AnzeigeFeiertagText = "Palmsonntag";
      if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 3 ) AnzeigeFeiertagText = "Gründonnerstag";
      if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 2 ) AnzeigeFeiertagText = "Karfreitag";
      if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 0 ) AnzeigeFeiertagText = "Ostersonntag";
      if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 1 ) AnzeigeFeiertagText = "Ostermontag";
      if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 39) AnzeigeFeiertagText = "Christi Himmelfahrt";
      if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 49) AnzeigeFeiertagText = "Pfingsonntag";
      if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 50) AnzeigeFeiertagText = "Pfingstmontag";
      if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 60) AnzeigeFeiertagText = "Fronleichnam";
      if (TerminVergleichJährlichOsterDatum != TerminVergleichJährlich) AnzeigeFeiertagText = "";

    var TerminZähler = 0;

    do {
      if (TerminVergleichJährlich == FesteFeiertageDatum[TerminZähler]) AnzeigeFesteFeiertageText = FesteFeiertageTerminText[TerminZähler];
      if (TerminVergleichJährlich != FesteFeiertageDatum[TerminZähler]) AnzeigeFesteFeiertageText = "";
      TerminZähler = TerminZähler + 1;
          }
      while (TerminVergleichJährlich == FesteFeiertageDatum[TerminZähler]);

    document.write("<td>" + Anzeige + "</td>");
        document.write("<td>" + AnzeigeTerminText + "</td>");
        document.write("<td>" + AnzeigeTerminTextJährlich + "</td>");
        document.write("<td>" + AnzeigeTerminTextQuartal + "</td>");
        document.write("<td>" + AnzeigeFeiertagText + "</td>");
        document.write("<td>" + AnzeigeFesteFeiertageText + "</td></tr>");

    }

    document.write("</table>");
    }
    SchreibeTabelle();
    </script>
    </body>
    </html>

    1. Hallo Dr.Pepper,

      die Variable Terminzähler erscheint mehrmals mit var davor, auch innerhalb der do-Schleifen. Lösch mal das var, außer beim ersten Vorkommen. Mit var innerhalb einer Schleife ist es eine nur in dieser Schleife bekannte Variable. Sonst zum Debuggen in den Schleifen mit alert die Schleifenzähler oder andere Variablen (z.B. Terminzähler) ausgeben.

      Gruß, Jürgen

      1. Ich komm nicht weiter. Es geht immer noch nicht.

        1. Hallo Dr.Pepper,

          Ich komm nicht weiter. Es geht immer noch nicht.

          und was ist bei den alert-Versuchen herausgekommen?

          Gruß, Jürgen

          1. Ich habe immer nur Zwei Termine ich bin die ganze Zeit am tüfteln aber Schleifen sind sehr schwierig.
            Aber Danke für den Tip

            <html>
            <body text="#FFFFFF" bgcolor="#000000">
            <script type="text/javascript">

            var TerminDatum =           new Array( "01.08.2005",  "02.08.2005", "03.08.2005" );
              var TerminText =            new Array( "Test1", "Test2", "Test3" );

            var TerminDatumJährlich =   new Array( "28.06",       "01.03",           "02.03" );
              var TerminTextJährlich =    new Array( "Jahres tag1", "Mein Geburstag" , "xyz" );

            var TerminDatumQuartal =    new Array( "28",             "03",      "01" );
              var TerminTextQuartal =     new Array( "zb. KFZ Steuer", "Bla Bla", "Hallo" );

            var FesteFeiertageDatum =       new Array( "01.01",   "06.01",              "02.02",         "14.02",        "01.05",          "05.05",               "17.06",                         "21.06",        "27.06",          "15.08",            "23.09",        "03.10",                       "31.10",                       "01.11",         "11.11",       "06.12",    "08.12",            "22.12",        "24.12",       "25.12",           "26.12",            "31.12");
              var FesteFeiertageTerminText =  new Array( "Neujahr", "Heilige Drei Könige", "Murmeltiertag", "Valentinstag", "Tag der Arbeit", "Europatag (ab 1950)", "Tag der Dt. Einheit (bis 1989)", "Sommeranfang", "Siebenschläfer", "Mariä Himmelfahrt", "Herbstanfang", "Tag der Dt. Einheit(ab 1990)", "Reformationstag + Halloween", "Allerheiligen", "Sankt Martin", "Nikolaus", "Mariä Empfängnis", "Winteranfang", "Heiligabend", "1. Weihnachtstag", "2. Weihnachtstag", "Silvester");

            function SchreibeTabelle () {
              document.write('<table border="1" cellpadding="1" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111"><tr>');
              document.write('<td bgcolor="#666666"> Datum </td>');
              document.write('<td bgcolor="#666666"> Termine </td>');
              document.write('<td bgcolor="#666666"> Jährlich </td>');
              document.write('<td bgcolor="#666666"> Quartal </td>');
              document.write('<td bgcolor="#666666"> Feiertage </td>');
              document.write('<td bgcolor="#666666"> Feiertage </td></tr>');

            var TageVergangenheit = 31;
              var Heute = 1
              var TageZukunft = 366
              for (i=1; i <= (TageVergangenheit + Heute + TageZukunft); i = i + 1) {

            var Zeit = new Date();
              var AbsolutJetzt = Zeit.getTime();
              var AbsolutDann = AbsolutJetzt - ((TageVergangenheit + Heute - i) * 24 * 60 * 60 * 1000);
              Zeit.setTime(AbsolutDann);
              var Jahr = Zeit.getYear();
              if (Jahr < 2000) Jahr = Jahr + 1900;
              var Monat = Zeit.getMonth();
              var Tag = Zeit.getDate() -1;
              var TagInWoche = Zeit.getDay();
              var Wochentag = new Array("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa");
              var Zahltag = new Array( "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31");
              var Zahlmonat = new Array( "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
              var Monatname = new Array("Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez");
              var Anzeige = Wochentag[TagInWoche] + " " + Zahltag[Tag] + "." + Monatname[Monat] + "." + Jahr
              var TerminVergleich = Zahltag[Tag] + "." + Zahlmonat[Monat] + "." + Jahr
              var TerminVergleichJährlich = Zahltag[Tag] + "." + Zahlmonat[Monat]
              var TerminVergleichQuartal = Zahltag[Tag]

            TerminZähler1 = 0;
               do {

            if (TerminVergleich == TerminDatum[TerminZähler1]) AnzeigeTerminText = TerminText[TerminZähler1];
              if (TerminVergleich != TerminDatum[TerminZähler1]) AnzeigeTerminText = "";
              TerminZähler1 = TerminZähler1 + 1;

            }
              while (TerminVergleich == TerminDatum[TerminZähler1]);

            var TerminZähler2 = 0;

            do {
              if (TerminVergleichJährlich == TerminDatumJährlich[TerminZähler2]) AnzeigeTerminTextJährlich = TerminTextJährlich[TerminZähler2];
              if (TerminVergleichJährlich != TerminDatumJährlich[TerminZähler2]) AnzeigeTerminTextJährlich = "";
              TerminZähler2 = TerminZähler2 + 1;
                  }
              while (TerminVergleichJährlich == TerminDatumJährlich[TerminZähler2]);

            var TerminZähler3 = 0;

            do {
              if (TerminVergleichQuartal == TerminDatumQuartal[TerminZähler3]) AnzeigeTerminTextQuartal = TerminTextQuartal[TerminZähler3];
              if (TerminVergleichQuartal != TerminDatumQuartal[TerminZähler3]) AnzeigeTerminTextQuartal = "";
              TerminZähler3 = TerminZähler3 + 1;
                  }
              while (TerminVergleichQuartal == TerminDatumQuartal[TerminZähler3]);

            a = Jahr % 19;
                  b = Jahr % 4;
                  c = Jahr % 7;
                 H1 = Math.floor(Jahr/100);
                 H2 = Math.floor(Jahr/400);
                  N = 4 + H1 - H2;
                  M = 15 + H1 - H2- Math.floor((8 * H1 + 13) / 25);
                  d = (19 * a + M) % 30;
                  e = (2 * b + 4 * c + 6 * d + N) % 7;
            ostern = 22 + d + e;
                    if (ostern == 57) ostern = 50;
                    if ((d == 28) && (e == 6) && (a > 10)) ostern = 49 ;
                     if (ostern > 31) {
                       ostern  = ostern - 31;
                       ostermonat = 4;
                     }
                     else ostermonat = 3;
              var MonatO = ostermonat -1;
              var TagO = ostern -1;
              var OsterTag = new Array( "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31");
              var OsterMonat = new Array( "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
              var TerminVergleichJährlichOsterDatum = OsterTag[TagO] + "." + OsterMonat[MonatO]

            if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 48) AnzeigeFeiertagText = "Rosenmontag";
              if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 47) AnzeigeFeiertagText = "Fastnacht";
              if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 46) AnzeigeFeiertagText = "Aschermittwoch";
              if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 7 ) AnzeigeFeiertagText = "Palmsonntag";
              if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 3 ) AnzeigeFeiertagText = "Gründonnerstag";
              if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 2 ) AnzeigeFeiertagText = "Karfreitag";
              if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich - 0 ) AnzeigeFeiertagText = "Ostersonntag";
              if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 1 ) AnzeigeFeiertagText = "Ostermontag";
              if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 39) AnzeigeFeiertagText = "Christi Himmelfahrt";
              if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 49) AnzeigeFeiertagText = "Pfingsonntag";
              if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 50) AnzeigeFeiertagText = "Pfingstmontag";
              if (TerminVergleichJährlichOsterDatum == TerminVergleichJährlich + 60) AnzeigeFeiertagText = "Fronleichnam";
              if (TerminVergleichJährlichOsterDatum != TerminVergleichJährlich) AnzeigeFeiertagText = "";

            var TerminZähler4 = 0;

            do {
              if (TerminVergleichJährlich == FesteFeiertageDatum[TerminZähler4]) AnzeigeFesteFeiertageText = FesteFeiertageTerminText[TerminZähler4];
              if (TerminVergleichJährlich != FesteFeiertageDatum[TerminZähler4]) AnzeigeFesteFeiertageText = "";
              TerminZähler4 = TerminZähler4 + 1;
                  }
              while (TerminVergleichJährlich == FesteFeiertageDatum[TerminZähler4]);

            document.write("<td>" + Anzeige + "</td>");
                document.write("<td>" + AnzeigeTerminText + "</td>");
                document.write("<td>" + AnzeigeTerminTextJährlich + "</td>");
                document.write("<td>" + AnzeigeTerminTextQuartal + "</td>");
                document.write("<td>" + AnzeigeFeiertagText + "</td>");
                document.write("<td>" + AnzeigeFesteFeiertageText + "</td></tr>");

            }

            document.write("</table>");
            }
            SchreibeTabelle();
            </script>
            </body>
            </html>

            1. Hallo Dr.Pepper,

              TerminZähler1 = 0;
                 do {

              if (TerminVergleich == TerminDatum[TerminZähler1]) AnzeigeTerminText = TerminText[TerminZähler1];
                if (TerminVergleich != TerminDatum[TerminZähler1]) AnzeigeTerminText = "";
                TerminZähler1 = TerminZähler1 + 1;

              }
                while (TerminVergleich == TerminDatum[TerminZähler1]);

              hier wird zu früh abgebrochen. Ersetz den zitierten Block mal durch folgenden Code:

              AnzeigeTerminText="";
                 for (var z=0;z<TerminDatum.length;z++)
                   if (TerminVergleich == TerminDatum[z]) AnzeigeTerminText += TerminText[z];

              Jetzt müssten auch mehrere Termine möglich sein.

              Gruß, Jürgen

              1. Danke schön für die Hilfe.
                Du hast einen gut bei mir.
                MFG