# kurze verirrung in javascript



## ska3k (9. Okt 2008)

Ich programmiere eigendlich nur in Java, aber ich musste kurz auf Javascript zurückgreifen, um einen einfachen Geburtstagskalender zu schreiben:



```
var Schriftfarbe = "#ffffff"; // Schriftfarbe ändern
  var Schriftsize = "2";
  Name = new Array; GeburtsTag = new Array; GeburtsMonat = new Array; Bemerkung = new Array; 
  var n = 1, s= 1;
  Tag = new Array; Monat = new Array; 

  Tag[s]=31; Monat[s]=1; s++;
  Tag[s]=28; Monat[s]=2; s++;
  Tag[s]=31; Monat[s]=3; s++;
  Tag[s]=30; Monat[s]=4; s++;
  Tag[s]=31; Monat[s]=5; s++;
  Tag[s]=30; Monat[s]=6; s++;
  Tag[s]=31; Monat[s]=7; s++;
  Tag[s]=31; Monat[s]=8; s++;
  Tag[s]=30; Monat[s]=9; s++;
  Tag[s]=31; Monat[s]=10; s++;
  Tag[s]=30; Monat[s]=11; s++;
  Tag[s]=31; Monat[s]=12; s++;


// Oktober
  Name[n]="test 1"; GeburtsTag[n]=8; GeburtsMonat[n]=10; Bemerkung[n]=""; n++;
  Name[n]="test 2"; GeburtsTag[n]=9; GeburtsMonat[n]=10; Bemerkung[n]=""; n++;


  Monate = new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
  var t = 0, Geburtstage = n-1;
  var HeutigesDatum = new Date();
  var Tag = HeutigesDatum.getDate();
  var Monat = HeutigesDatum.getMonth()+1;
  var Jahr = HeutigesDatum.getFullYear();
  var check = Tag-7;
  var check2 " 7-Tag;

  for (i = 1; i <= Geburtstage; i++) {

      if (check <= 0) {
	   if (GeburtsMonat[i]-1 == Monat-1) {
	      if (GeburtsTag[i] >= Monat[i]-check2) {
	   	  document.writeln("<geb>[b]"+Name[i] + "[/b]");
	   	  document.writeln("(" + GeburtsTag[i] + "." + GeburtsMonat[i] + ")
[i]" +Bemerkung[i]+"[/i]</br></geb>");
	      }
	   }
	   
      }

      if (GeburtsMonat[i] == Monat) {
	   if (GeburtsTag[i] >= Tag-7 && GeburtsTag[i] <= Tag+1) {
             document.writeln("<geb>[b]"+Name[i] + "[/b]");
             if (GeburtsTag[i] == Tag) {
                document.writeln("(heute) ");
             }
             if (GeburtsTag[i] == Tag+1) {
                document.writeln("(morgen) ");
             }
             document.writeln("(" + GeburtsTag[i] + "." + GeburtsMonat[i] + ")
[i]" +Bemerkung[i]+"[/i]</br></geb>");
             t++;
	   }
      }
  }

  if (t==0) {
  document.writeln('Keine Geburtstage zur Zeit');
  }
```


Es soll mir einfach die Geburtsatage von heute, morgen und der letzten 7 Tage ausgeben und wenn in diesen Monat weniger als 7 Tage vergangen sind, dann soll er die restlichen Tage vom letzten Monate noch nehmen und diese anzeigen.

Er macht einfach keine Ausgabe!  Ich hoffe mir kann jemand den Code verbessern, weil ich mich nur mit Java gut auskenne.


Danke


----------



## Milo (10. Okt 2008)

Hi,

Du hast ein Tippfehler drin:

```
var check = Tag-7; 
var check2 " 7-Tag;
-----------^
```

Wenn ich das korrigiere, erhalte ich 

```
test 1 (8.10)

test 2 (9.10)
```

Den Fehler hättest Du der Fehlerkonsole Deines Browsers leicht entnehmen können.

Schöne Grüße Micha


----------



## ska3k (10. Okt 2008)

Vielen Dank! Stimmen aber auch meine anderen Überlegungen, mit der Anzeige von den Geburtstagen des vorherigen Monats?


----------



## Milo (11. Okt 2008)

Hi,

ich habe den Code nicht geprüft, sondern lediglich den (Anzeige)fehler aufgedeckt. Du kannst aber selbst prüfen, ob es geht. Setze einfach Deine Systemzeit/datum zurück und prüfe, was ausgegeben wird.

Gruß Micha


----------

