23. juni 2007 - 11:26Der er
6 kommentarer og 1 løsning
datoer i stringgrid
Hej eksperter...
Jeg er ved at lave et kalender program hvor jeg selv designer min kalender... men har nogle problemer med det... jeg vil gerne lave det sådan at kalenderen skal var dynamisk. jeg laver her en lille liste over det som jeg kunne tænke mig kalenderen skulle kunne.
events:
1. Opdater kalender automatisk ved årsskifte... 2. Vise weekender, ferier og hellidage... 3. Vise højtider... eks.(sankt hans, jul, påske, pinse osv.)
de events der står i første liste skal ligge som standard. Hele min kalender laves i stringgrid. håber nogen kan hjælpe mig... for jeg ved ikke om jeg skal bruge en database eller om jeg skal lægge alle datoer i arrays... Håber i kan hjælpe med koder osv.
Du kunne godt holde det som arrays, men det afspejler et ret lavt og infleksibelt ambitionsniveau. Bedre var det om det blev XML eller i en database.
... nu laver du objekter, ikke? En aftale har en masse ting at slæbe rundt på: type, dato og tid, alarm, gentagelser, tekst og alt den slags. Det bør pakkes ind i et klasse. Eksempelvis skal aftaleklassen indeholde en load(aStream) og save(aStream) metode. På den måde kan du let ændre hvad du gemmer data i. Alle de aftaleobjekter er hentet ind af den overordnede kalenderklasse.
Hvis du skal lave noget kalenderagtigt selv er det nærliggende at foreslå den bygget på en TDrawGrid.
I øvrigt: Jeg læste en artikel om pro's and con's ved at lave en kalendertabel; altså en tabel der indeholdt alle fremtidige datoer til eksempelvis år 2100. Kan desværre ikke finde den længere, men humlen er, at det bliver meget lettere at håndtere en masse beregninger når kalenderen, med dens helligdage, skudår og lignende, er beregnet. Det var måske værd at overveje.
selve det at lave kalenderen skulle da ikke være noget problem, lavede på et tidspunkt et program til at holde styr på mine timer, på mit daværende arbejde. På det tidspunkt havde jeg ikke den helt vilde erfaring med delphi, men det tog mig under en uge at lave, og jeg vil mene, at jeg på nuværende tidspunkt kan lave en kalender der indeholder helligdage og aftaler, på et par dage.
I forbindelse med XML-løsningen (uden behov for databaser) - og undskyld den lange svartid - ville jeg bruge TClientDataSet. Det giver dig muligheden for at arbejde på et DataSet som om du havde en database. På disken gemmer TCDS'en alle records i XML. Skulle du få lyst til at flytte det til andre programmer, kan en velvalgt struktur måske importeres direkte. Hvad ved jeg; er lidt "XMLofil" for tiden.
Selve kalendertabellen ville jeg nok opbevare i en dat-fil og læse ind i en hashliste så opslag var hurtige.
Med en database (undgå Paradox of Access, brug Interbase, MySQL eller lignende) ville du være ude over alle disse overvejelser - men du ville have en databasefil at flytte med programmet. I sidste ende vil det nok alligevel være det letteste; i øvrigt kan du også vælge at bruge TClientDataSet mod databaser.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.