Announcement

Collapse
No announcement yet.

wie programmiere ich einen terminkalender??

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • wie programmiere ich einen terminkalender??

    tagchen,

    mich würde interessieren wie man einen Terminkalender ala windows 3.11 Kalender<br>
    interessiert. Das Konzept ob datenbank oder stringgrid und die ungefähre durchführung<br>
    interessieren mich!!!! <br>

    ich möchte termine mit alarmmöglichkeit eingeben können und aufgaben notieren die an einem<br>
    bestimmten tag zu erledigen sind!!!

    ciao

    markus
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    Hallo Markus,

    ich sitze seit 2 Monaten an der Programmierung eines Terminplaners mit Kostenstellenverwaltung für (fast)beliebig viele Personen und Kostenstellen. Das Programm ist bereits im Einsatz aber noch nicht ganz fertig gestellt(ca. 60%). Du kannst dir dieses Teil gerne mal ansehen. Wenn das Programm das enthält(oder Teile davon)was du benötigst, können wir uns ausführlich über die Programmierung unterhalten. Soviel vorweg: Es basiert auf einem -meiner Meinung- genialen Stringgrid und besteht ausschließlich aus Freewarekomponenten.

    Das Programm bekommst du unter www.ephreno.de/files/bktimer.exe

    Gruß Fred Ziebel

    Comment


    • #3
      ich schaue es mir auf jeden fall an!
      Herzliche Grüße

      Markus Lemcke
      barrierefreies Webdesign

      Comment


      • #4
        Hallo Fred,

        ich habe das gleiche Problem! Wie realisierst Du, daß die Tage angezeigt werden (im Grid?) liegt dabei eine Datenbank dahinter?
        Vielleicht hast Du auch ein kleines Mini-Beispiel für mich?

        Vielen Dank

        Gruß Tin

        Comment


        • #5
          Was meinst du wie die Tage angezeigt werden? In der obersten Zeile, das jeweilige Datum pro Tag?

          Das Grid hält immer 3 komplette Jahre im Speicher(wg. schnellem Zugriff). Das mittler Jahr ist das aktuelle.Die Darstellung des Datums pro Spalte erfolgt So:

          StartDatum festlegen. Beim Programmstart jeden Tag neu oder alle paar Monate. Dieses Datum mittels 'strtodate' in einen TDateTime-Wert wandeln.

          Dann den TDateTimeWert in einer Schleife und die aktuelle Spalte hochzählen bis zum gewünschten Ende.

          in jedem Durchlauf mittels DateToStr das Datum und DayOfWeek den Wochentag ermitteln und in die entsprechende Zelle schreiben.

          Ich extrahiere den Quelltextteil und sende ihn noch nach.

          Gruß Fred Ziebel

          Comment


          • #6
            Hallo Fred,

            bin recht glücklich, wenn Du mir den Teil mit der Schleife mailen könntest, da ich das so irgendwie noch nicht so richtig hinbekomme. Dann wäre ich ein riesen Stück weiter.

            Danke Dir

            Gruß Tin

            Comment


            • #7
              Hallo, hier die Routine um ein Stringgrid mit Kalenderdaten zu beschreiben.

              procedure TForm1.Button1Click(Sender: TObject);

              var i,r:integer;

              f:tdatetime;

              startaktjahr,endaktjahr:tdatetime;

              str:string;

              days: array[1..7] of string;

              month: array[1..12] of string;

              jahr, monat, tag: Word;

              begin

              //grid einstellen

              stringgrid1.colcount:=367;

              stringgrid1.rowcount:=20;

              stringgrid1.fixedcols:=0;

              stringgrid1.fixedrows:=2;

              stringgrid1.RowHeights[0]:=16;

              stringgrid1.rowheights[1]:=16;

              //startdatum festlegen

              startaktjahr:=strtodate('1.1.2000');

              endaktjahr:=strtodate('31.12.2000');

              //Wochentage array setzen

              days[1] := 'SO';

              days[2] := 'MO';

              days[3] := 'DI';

              days[4] := 'MI';

              days[5] := 'DO';

              days[6] := 'FR';

              days[7] := 'SA';

              //Monatsnamen array setzen

              month[1]:='JAN';

              month[2]:='FEB';

              month[3]:='MÄR';

              month[4]:='APR';

              month[5]:='MAI';

              month[6]:='JUN';

              month[7]:='JUL';

              month[8]:='AUG';

              month[9]:='SEP';

              month[10]:='OKT';

              month[11]:='NOV';

              month[12]:='DEZ';

              // ab hier werden die Zellen mit den Kalenderdaten gefüllt

              for i:=0 to 365 do

              begin

              f:=startaktjahr+i;

              r:=dayofweek(f);

              DecodeDate(f, jahr,monat,tag);

              str:=month[monat]+' '+inttostr(jahr);

              stringgrid1.cells[i,0]:=str;

              str:=days[r]+' '+inttostr(tag)+'.'+inttostr(monat)+'.';

              str:=str+Copy(inttostr(jahr),3,2);

              stringgrid1.Cells[i,1]:=str;

              if (r=1) or (r=7) then

              begin

              //hier kann für SA/SO etwas passieren

              stringgrid1.cells[i,4]:='XXXXX';

              end;

              end;
              end;

              Damit das ganze läuft gehe so vor:

              Erzeuge eine leere neue Form.
              Setze ein Stringgrid und einen Button auf die Form.
              Objektinspektor: Stringgrid1:
              Options-> goThumbTracking=true
              Options-> goediting=true

              Jetzt sollte das ganze Problemlos laufen.

              Nach der Variablendeklaration werden grundsätzliche Einstellungen am Grid vorgenommen. Per strtodate werden das Start-und Enddatum definiert. Danach werden die Stringarrays für die Wochentagsnamen und Monatsnamen gesetzt.

              In der darauf folgenden Schleife werden 365 Tage in das Grid gesetzt.
              Damit du die Funktion der einzelnen Befehle verstehst, solltest du dir die kontextsensitive Hilfe eines jeden durchlesen. Wie es dann weitergeht, bestimmst du, einfach fragen :-))

              Ich empfehle dir allerdings unbedingt den Einsatz irgendeines Powergrids. Ich nehme das Stringgrid von http://www.hoerstemeier.de .Es funktioniert bestens, ist schnell, zuverlässig und freeware!.

              Gruß Fred Ziebel

              Comment


              • #8
                Hallo Fred,

                Du bist ein Schatz!! Ich werde das gleich mal ausprobieren.

                Vielen Dank für Deine kompetente Hilfe.

                Gruß Tin

                Comment


                • #9
                  Hallo Fred,

                  die Internetseite von Hoerstmeier kann nicht aufgerufen werden. Kannst Du mir die Zip mal zumailen?

                  Danke

                  Gruß Tin

                  Comment


                  • #10
                    Hallo,

                    uups, sorry, falsche URL. Die richtige ist eine COM-Domain.<br>
                    http://www.hoerstemeier.com Dann die Delphi-Seiten aufrufen.
                    Sollte es Probleme geben, kannst du das File auch von:<br>
                    http://www.ephreno.de/files/grid20.zip herunterladen.

                    Wenn du das Grid installiert hast, sieh es dir an und lese vorallem das externe Hilfefile. Wenn alles funktioniert, hat das den Vorteil, daß wir die gleiche Basis haben. Das macht Erklärungen leichter.
                    Wenn die Installation Probleme macht, dann starte nur 'aligrid.pas' dann sollte es gehen.

                    Noch etwas. Falls du es noch nicht anwendest, empfehle ich dir dringend die RX-Library von http://www.rxlib.com Macht das Programmierleben deutlich angenehmer. Und warum das Rad neu erfinden.

                    Gruß
                    Fred Ziebel

                    Comment


                    • #11
                      Hallo Fred,

                      habe heute erst Dein Posting gesehen. Werde erstmal in Ruhe downloaden und ausprobieren. Ich melde mich bei Dir sobald ich mehr weiß.

                      Danke Dir

                      Gruß Tin

                      Comment


                      • #12
                        Hallo Tiny,

                        ab Morgen bin ich zwei Wochen in Urlaub. Kann also erst danach evntl. Fragen beantworten. Ich nehme an, daß der Süden Kretas recht unübersichtlich mit Internetzugängen bestückt ist(heul) und die mitnahme eines Notebooks in den Urlaub könnte zu innerfamiliären politischen Zerwürfnissen führen(nochmal heul).

                        Gruß
                        Fred Ziebel

                        Comment


                        • #13
                          Hallo Fred,

                          auch ohne Notebook und Internet wünsche ich Dir einen schönen Urlaub.

                          Bin außerdem auch noch nicht dazu gekommen weiter zu machen (ebenfalls heul).

                          Gruß Tin

                          Comment

                          Working...
                          X