Nur mal so aus Neugier. Da ja mehrere Benutzer den Kalender gleichzeitig nutzen sollen, wie hast du das mit der Aktualisierung geregelt? Wenn Nutzer A für Dienstag 9 Uhr einen Termin anlegt, wann taucht das bei Nutzer B auf dem Schirm auf?
Da dies mein zweites Projekt war(eigentlich das erste richtige für eine Firma) und die Ansprüche anfangs sehr klein waren gabs dazu nicht wirklich eine Funktion.
Das aktualisieren der Termine bei Anwender B geschah damit, wenn er zum beispiel einen anderen Tag aufrief oder die Tagansicht in die Wochenansicht wechselt.
Später kam dann ein Button hinzu auf den die Angestellten drücken können um die Ansicht zu aktualisieren.
Ich hatte überlegt das ganze mit einem Thread mal zu automatisieren.
Desweiteren gibt es aber jedesmal eine Prüfung wenn ein Termin angelegt werden soll.
Bei Anwender A ist die Zelle noch leer, aber Anwender B hat schon einen Termin gemacht, dann bekommt Anwender A diesen Hinweis und die Ansicht aktualisiert sich und der Termin ist dann für Anwender A auch sichtbar.
Zur Datenhaltung werden dir viele hier empfehlen diese (wie du das planst) in einer geeigneten Struktur vorzuhalten, das ist auf jeden Fall sinnvoll. Das StringGrid oder der VST sollte dann nur der Anzeige dienen.
Du kannst dabei schon die
Query zur Datenhaltung verwenden, wenn du sie nicht nur lokal in deiner "FülleMeinStringGrid" Prozedur verwendest, sondern als globales Elemet auf der Form (oder DataModul) hast. Oder du verwendest das Lazarus-Äquivalent eines TClientDatasets.
Ok danke, gibt mir das Gefühl doch nicht ganz blöde zu sein
Die
Query als Globales Element wäre sicher auch ok, aber immer wenn ich mich belesen habe heist es, Globale Variablen seien ein schlechter programmierstil.
Bis jetzt nutze ich ein unsichtbares StG in dem ich zum Beispiel die Farben der Therapeuten ablege oder deren Level, da diese Eigenschaften oft benutzt werden, und so muss ich nicht jedesmal auf die
DB zugreifen.
Denke aber das ein unsichtbares StG von der Performance her nicht unbedingt super geeignet ist.