IT-Academy Logo
Sign Up Login Help
Home - Programmieren - Windows - Mit dem Windows Scripting Host Schaltjahre berechnen



Mit dem Windows Scripting Host Schaltjahre berechnen

Wenn sie schon immer mal wissen wollten, welches Jahr 365 und welches 366 Tage hat, können sie die Jahreszahl einfach durch 4 teilen (gerade Zahl als Ergebnis: Schaltjahr, ungerade: kein Schaltjahr), oder sie programmieren mit dem Windows Scripting Host ein Programm, das ihnen diese Rechenschwerstarbeit abnimmt.


Autor: Peter Schmitz (dav133)
Datum: 27-05-2003, 21:53:02
Referenzen: Computerbild
Schwierigkeit: Fortgeschrittene
Ansichten: 7076x
Rating: 6.8 (5x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Einleitung

Erstellen Sie bitte eine Textdatei auf dem Desktop oder anderswo (Rechtsklick auf freie Stelle, Neu, Textdatei). Nun ändern Sie den Dateinamen der Textdatei (Datei markieren und F2 drücken) in Schaltjahre.wsf. Rechtsklicken Sie nun darauf und wählen Sie "bearbeiten" aus. Nachfolgend der Quellcode dieses Programms.

Was ist eigentlich WSF?

WSF ist eine Vereinigung mehrerer Scriptsprachen in einer Datei, in diesem Falle also JScript und VBScript. Das ist nötig, da das Programm nur unter größten Aufwänden mit VBScript oder JScript alleine hätte programmiert werden können. PS: Die Kommentare für den jeweiligen Textabschnitt stehen immer darunter, nicht darüber.

Der Code

<JOB>
//Muss bei wsf Files immer als erstes angegeben werden.
<Script language="VBScript">
'wechseln in die Scriptsprachen Visual Basic Script (VBS)
function prompt(Eingabe)
prompt=inputbox(Eingabe)
end function
//Diese Funktion bereitet den PC quasi darauf vor, dass bald eine Eingabebox erscheinen wird
</script>
<script language="JScript">
//Beenden von VBS und wechseln zur Scriptsprache JScript
var Jahr;
Jahr=prompt("Geben Sie eine Jahreszahl ein (z.B. 1985).");
//Lässt eine Eingabebox aufploppen und speichert die Eingabe in der zuvor definierten
//Variable Jahr

if(Jahr%4==0)
{
if(Jahr%100==0)
{
if(Jahr%400==0)
{
WScript.Echo("Schaltjahr!");
}
else
{
WScript.Echo("kein Schaltjahr!");
}
}
else
{
WScript.Echo("Schaltjahr!");
}
}
else
{
WScript.Echo("kein Schaltjahr!");
}
//Wenn sich die Jahreszahl durch 4 oder durch 400 oder durch 100 teilen lässt, erscheint die
//Messagebox mit Text Schaltjahr!, ansonsten die Messagebox mit dem Text Kein Schaltjahr!
</script>
</JOB>
//Beenden der Scriptsprachen und des WSF Programmes.


paedubucher
Professonial
Beitrag vom:
08-06-2007, 17:34:39

Codeformat, Berechnung mit 100

Ich kann den Code nur schlecht lesen, da du leider auf eine Einrückung verzichtet hast. Deinem Kommentar kann man jedoch entnehmen, dass ein Schaltjahr gemäss deiner Definition auch alle 100 Jahre ist, ohne dass es durch 400 teilbar sein muss.

Ein Schaltjahr ist ein Jahr, dessen Zahl zwar durch 4, aber nicht durch 100 geteilt werden kann. Ist es durch 100 teilbar, so muss es auch durch 400 teilbar sein, ansonsten ist es kein Schaltjahr.

Hier das ganze noch in Java:

package schaltjahr;

public class Schaltjahr {

  public static void main(String[] args) {
    if (args.length < 1) {
      System.out.println("No year specified!");
      return;
    }
    Integer year = Integer.parseInt(args[0]);
    if (isLeapYear(year)) {
      System.out.println("Year " + year + " is a leap year!");
    }
    else {
      System.out.println("Year " + year + " is not a leap year!");
    }
  }

  private static boolean isLeapYear(Integer year) {
    boolean isLeapYear = false;
    if (year % 4 == 0) {
      isLeapYear = true;
    }
    if (year % 100 == 0) {
      isLeapYear = false;
    }
    if (year % 400 == 0) {
      isLeapYear = true;
    }
    return isLeapYear;
  }
}



-----------------------------------------------------


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04511
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06248
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1158
Comments: 0