8 Einträge, 1 Seite |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Monat als HTML Tabelle mit Feiertagen
sub month_as_html{
return "-1" if scalar @_ < 2;
my ($month, $year) = @_;
my %feiertag = &feiertage($year);
my %fixtag = &fixtage($year);
my $x_day = 1;
my $row = 0;
my $table = ();
my @wochentag = qw(Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag);
my @monat = qw(null Januar Februar März April Mai Juni Juli August September Oktober November Dezember);
my $first_day = &weekday(1, $month, $year, 1);
my $days = &days_of_month($month, $year);
$table = "<table border cellpadding=0 cellspacing=0 width=\"100%\">\n";
$table .= "<tr>\n";
$table .= "<th colspan=7>$monat[$month] $year</th>\n";
$table .= "</tr>\n<tr>";
for(0..6){
$table .= "<th>$wochentag[$_]</th>\n"
}
$table .= "</tr>\n";
# Hier wird der Kalender zusammengebaut
for($row = 1; $row <= 6; $row ++){
$table .= "<tr>\n";
for(0..6){
if( $first_day <= $_ and $row == 1){ # Einstieg in Kalender
$table .= "<td>$x_day <b>$feiertag{\"$x_day.$month.$year\"}</b>
<b>$fixtag{\"$x_day.$month.$year\"}</b></td>\n";
$x_day++;
}
elsif( $x_day <= $days and $row != 1){
$table .= "<td>$x_day <b>$feiertag{\"$x_day.$month.$year\"}</b>
<b>$fixtag{\"$x_day.$month.$year\"}</b></td>\n";
$x_day++;
}
else{ # Tag stimmt nicht überein
$table .= "<td> </td>\n";
}
}
$table .= "</tr>\n";
}
# Abschluss der Tabelle
$table .= "</table>\n";
return $table;
}
QuoteHi Tom,
sorry, war 3 Tage Offline...
Du machst 2 Änderungen in der Funktion month_as_html():
1 - Überschriften einen Tag nach links
my @wochentag = qw(Montag Dienstag Mittwoch Donnerstag Freitag Samstag Sonntag);
2 - alle anderen Tage einen Tag nach links (Einstiegstag)
my $first_day = &weekday(1, $month, $year, 1); # wie gehabt
$first_day--;
Sollte tun, Gruss, Rolf
QuoteHi Tom,
sorry, da habch nicht alles beachtet.
Also die Überschriften einen Tag nach links zu rücken ist OK.
Aber beim Einstiegstag - ääähm.
Ich schrieb:
$first_day--;
Das allein reicht nicht. Hier muss noch rein, dass bei einem negativen wert dieser auf 6 gezirkelt wird.
($first_day < 0) ? ($first_day = 6) : () ;
Sollte dann thun.
Gruss, Rolf
8 Einträge, 1 Seite |