Terminplaner

Rund um die LCL und andere Komponenten
Antworten
VB_Lazarus
Beiträge: 90
Registriert: Do 23. Dez 2010, 19:10
OS, Lazarus, FPC: Windows 10/11 32/64bit, L 2.2.0 32bit, FPC 3.2.2 32bit
CPU-Target: 32Bit

Terminplaner

Beitrag von VB_Lazarus »

Hallo,

ich bräuchte mal einen kleinen Denkanstoß.
Ich benutze als Terminplaner zur Zeit die TVPlanit in meinem Programm.
Leider hat die Komponente des Terminplaners keine Verbindung zu den Kontakten.
Jetzt bin ich am überlegen, ob ich so einen Terminplaner selbst erstelle.
Das ist natürlich eine kleine Mammutaufgabe.
Ich habe in den Foren gelesen, das sowas mit den StringGrid aufgebaut wird.
Hat jemand sowas schon gemacht?
Gibt es für die Grundlage der Darstellung etwas besseres als das StringGrid?
Danke im voraus.

Gruß

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Terminplaner

Beitrag von wp_xyz »

VB_Lazarus hat geschrieben:Ich benutze als Terminplaner zur Zeit die TVPlanit in meinem Programm.
Leider hat die Komponente des Terminplaners keine Verbindung zu den Kontakten.

Was soll den diese Verbindung können?

VB_Lazarus
Beiträge: 90
Registriert: Do 23. Dez 2010, 19:10
OS, Lazarus, FPC: Windows 10/11 32/64bit, L 2.2.0 32bit, FPC 3.2.2 32bit
CPU-Target: 32Bit

Re: Terminplaner

Beitrag von VB_Lazarus »

Ein Termin soll mit einem Kontakt verknüpft werden.
Also nichts besonderes.
TVPlanit hat diese Möglichkeit leider nicht.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Terminplaner

Beitrag von wp_xyz »

Was heißt hier "verknüpft"? Sollen die Termine des Kontakts angezeigt werden? Halte ich so für nicht sinnvoll, da Leute in der Kontakliste sein können, deren Termine in der DB nicht enthalten sind. Oder sollen, wenn der Termin z.B. "10:00 Zahnarzt" lautet, die Kontaktdaten des Zahnarztes abgerufen werden können? Dazu müssten die Felder des Termins (TVpEvent) um ein Feld "ContactID" erweitert werden. In der offiziellen Version müsste das aber so geschehen, dass existierende Datenbanken dadurch nicht geschädigt werden. Einfacher wäre es, wenn du einfach eines der TVpEvent-Reserve-Felder "UserField0"..."UserField9" für die ContaktID nimmst. Du müsstest dann lediglich ausfindig machen, wie die bestehenden Dialoge geändert/erweitert werden müssten, so dass die ContactID eingegeben und abgefragt werden kann.

VB_Lazarus
Beiträge: 90
Registriert: Do 23. Dez 2010, 19:10
OS, Lazarus, FPC: Windows 10/11 32/64bit, L 2.2.0 32bit, FPC 3.2.2 32bit
CPU-Target: 32Bit

Re: Terminplaner

Beitrag von VB_Lazarus »

Danke, für die schnelle Antwort.

wp_xyz hat geschrieben:Was heißt hier "verknüpft"? Sollen die Termine des Kontakts angezeigt werden?

Ja, z.B. Wenn ein Kontakt angewählt wird, dann soll eine Übersicht von vorhandenen Terminen angezeigt werden.
Es muss aber nicht zwingend notwendig ein Kontakt mit einem Termin verknüpft werden.

wp_xyz hat geschrieben:Dazu müssten die Felder des Termins (TVpEvent) um ein Feld "ContactID" erweitert werden. In der offiziellen Version müsste das aber so geschehen, dass existierende Datenbanken dadurch nicht geschädigt werden. Einfacher wäre es, wenn du einfach eines der TVpEvent-Reserve-Felder "UserField0"..."UserField9" für die ContaktID nimmst. Du müsstest dann lediglich ausfindig machen, wie die bestehenden Dialoge geändert/erweitert werden müssten, so dass die ContactID eingegeben und abgefragt werden kann.

Das hörrt sich schon mal nach einem guten Plan an.
Werden die TVPlanit eigentlich von jemanden aktiv weiterentwickelt?

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Terminplaner

Beitrag von wp_xyz »

VB_Lazarus hat geschrieben:Werden die TVPlanit eigentlich von jemanden aktiv weiterentwickelt?

Das bin wohl ich. Wobei "weiterentwickeln" zu hochgegriffen ist. Ich habe den existierenden Lazarus-Port auf die aktuellen Versionen angepasst, ein paar kleinere Features neu aufgenommen, den wiki-Artikel geschrieben (https://wiki.freepascal.org/Turbopower_Visual_PlanIt) und schaue ab und zu nach, ob das ganze noch läuft. Du kannst gerne fragen, wenn etwas unklar - ist aber nicht sicher, ob ich alles beantworten kann (BTW: Hab selten so schlechten Code gesehen wie das, was TurboPower da damals produziert hat!)

VB_Lazarus
Beiträge: 90
Registriert: Do 23. Dez 2010, 19:10
OS, Lazarus, FPC: Windows 10/11 32/64bit, L 2.2.0 32bit, FPC 3.2.2 32bit
CPU-Target: 32Bit

Re: Terminplaner

Beitrag von VB_Lazarus »

Erst mal Lob an die Arbeit die du für die Portierung reingesteckt hast.

D.h. eine Weiterentwicklung gibt es nur, a) wenn du Lust / Zeit hast, b) wenn es eine Anforderung gibt, welche Sinn macht.

Da habe ich gleich mal eine Frage, wie merke ich, ob ein Event geändert / neu erstellt worden ist?

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Terminplaner

Beitrag von wp_xyz »

Oje, entschuldige. Deine Frage habe ich ganz vergessen...

TVpEvent, die Klasse, die die Termine und Ereignisse definiert, hält nur Daten vor, keine Events wie OnChange o.ä., signalisiert also nicht, dass etwas geändert worden ist. Da das alles nicht sehr flexibel zusammengestöpselt ist, wird deine Erweiterung wahrscheinlich sehr "hackermäßig" ausfallen. Wenn du Glück hast, kannst du von TDlgEventEdit eine erweiterte Klasse ableiten und dort deine Änderungen einpflegen. Wenn dafür Methoden von "private" nach "protected" verschoben oder als "virtual" deklariert werden müssten, sehe ich da kein großes Problem - wenn es Sinn macht, kann ich das offizielle Package entsprechend abändern.

Antworten