Beispiel #1
0
        public override void gibAus()
        {
            oeffneStream();     //Textdatei erzeigen
            //     html(_modus);       //HTML Datei anlegen
            int monat, tag;
            int wochentagDesErstenImMonat = 0; //Mo = 0, ...

            gibZeileAus("Kalender fuer das Jahr " + _jahr.Jahreszahl());
            gibZeileAus();
            string wochentage = String.Join(" ", HilfsKonstrukte.wochenTagNamenKurz);

            wochentagDesErstenImMonat = _jahr.StartWochenTag();
            for (monat = 0; monat < 12; monat++) //Schleife für die Erstellung der Monate: 0=Jan bis 11=Dez
            {
                gibZeileAus("      " + HilfsKonstrukte.monatsNamen[monat]);
                gibZeileAus(wochentage);

                if (monat > 0)
                {
                    wochentagDesErstenImMonat += HilfsKonstrukte.TageImMonat(monat, _jahr.Jahreszahl()) % 7;
                    wochentagDesErstenImMonat %= 7;
                }

                //Die Woche beginnt immer Montags, nur der 1. eines Monats
                //kann auf verschiedene Wochentage fallen.
                int ausgabePosition = wochentagDesErstenImMonat;

                string zeile = "".PadLeft(ausgabePosition * 3);
                for (tag = 1; tag <= HilfsKonstrukte.TageImMonat(monat + 1, _jahr.Jahreszahl()); tag++) //solange Zähler kleiner gleich Wert aus Array Tage
                {
                    zeile += tag.ToString().PadRight(3);
                    ausgabePosition++;

                    //wenn hinterste Position erreicht Zeihlenumbruch einfügen und Bildschirm-Positionszähler zurücksetzen
                    if (ausgabePosition > 6)
                    {
                        gibZeileAus(zeile);
                        ausgabePosition = 0;
                        zeile           = "";
                    }
                }
                if (zeile.Length > 0) //wenn mehr als 0 Zeichen vorhanden sind ganze Zeile ausgeben
                {
                    gibZeileAus(zeile);
                }
                //freie Zeilen zwischen den Monaten auf dem Bildschirm
                gibZeileAus();
            } //ende for Schleife Monat
            schliesseStream();
        }
Beispiel #2
0
        public KalenderJahr(int dasJahr)
        {
            _jahr   = dasJahr;
            _monate = new List <Monat>();
            _wochen = new List <Woche>();
            _tage   = new List <Tag>();
            int tageImJahr = HilfsKonstrukte.TAGE_IM_JAHR;

            if (IstSchaltjahr())
            {
                ++tageImJahr;
            }
            int   wochenTag    = StartWochenTag();
            int   wochenNummer = StartWochenNummer();
            int   monat        = 0;
            int   tagImMonat   = 0;
            Woche woche        = new Woche(wochenNummer);

            for (int i = 0; i < tageImJahr; ++i)
            {
                if (tagImMonat == 0)
                {
                    _monate.Add(new Monat(monat));
                }
                if (wochenTag == 0 && i != 0)
                {
                    wochenNummer++;
                    woche = new Woche(wochenNummer);
                    _wochen.Add(woche);
                }
                Tag meinTag = new Tag(tagImMonat + 1, wochenTag, i + 1);
                meinTag.SetzeWoche(ref woche);
                _tage.Add(meinTag);
                _monate[monat].FuegeTagAn(ref meinTag);
                wochenTag = (++wochenTag) % HilfsKonstrukte.TAGE_PRO_WOCHE;
                tagImMonat++;
                if (tagImMonat == HilfsKonstrukte.TageImMonat(monat + 1, _jahr))
                {
                    monat++;
                    tagImMonat = 0;
                }
            }
        }
Beispiel #3
0
        public override void gibAus()
        {
            oeffneStream();

            int monat, tag;
            int wochentagDesErstenImMonat = 0; //Mo = 0, ...

            gibZeileAus("Kalender fuer das Jahr " + _jahr.Jahreszahl());
            gibZeileAus();
            string wochentage = String.Join(" ", HilfsKonstrukte.wochenTagNamenKurz);

            wochentagDesErstenImMonat = _jahr.StartWochenTag();
            for (monat = 0; monat < 12; monat++) //Schleife für die Erstellung der Monate: 0=Jan bis 11=Dez
            {
                preparedStrings[monat] = new List <string>();
                preparedStrings[monat].Add("      " + HilfsKonstrukte.monatsNamen[monat]);
                preparedStrings[monat].Add(wochentage);

                if (monat > 0)
                {
                    wochentagDesErstenImMonat += HilfsKonstrukte.TageImMonat(monat, _jahr.Jahreszahl()) % 7;
                    wochentagDesErstenImMonat %= 7;
                }

                //Die Woche beginnt immer Montags, nur der 1. eines Monats
                //kann auf verschiedene Wochentage fallen.
                int ausgabePosition = wochentagDesErstenImMonat;

                string zeile = "".PadLeft(ausgabePosition * 3);
                for (tag = 1; tag <= HilfsKonstrukte.TageImMonat(monat + 1, _jahr.Jahreszahl()); tag++) //solange Zähler kleiner gleich Wert aus Array Tage
                {
                    zeile += tag.ToString().PadRight(3);
                    ausgabePosition++;

                    //wenn hinterste Position erreicht Zeihlenumbruch einfügen und Bildschirm-Positionszähler zurücksetzen
                    if (ausgabePosition > 6)
                    {
                        preparedStrings[monat].Add(zeile);
                        ausgabePosition = 0;
                        zeile           = "";
                    }
                }
                if (zeile.Length > 0) //wenn mehr als 0 Zeichen vorhanden sind ganze Zeile ausgeben
                {
                    preparedStrings[monat].Add(zeile);
                }
                //freie Zeilen zwischen den Monaten auf dem Bildschirm
                while (preparedStrings[monat].Count < 9)
                {
                    preparedStrings[monat].Add("");
                }
            } //ende for Schleife Monat

            for (monat = 0; monat < 6; monat++)
            {
                for (int i = 0, l = preparedStrings[monat].Count; i < l; ++i)
                {
                    gibZeileAus(preparedStrings[monat][i].PadRight(SPALTEN_BREITE)
                                + preparedStrings[monat + 6][i]);
                }
            }
            schliesseStream();
        }