Hallo zusammen,
ich habe nun ein Problem, das ich bisher leider nicht mittels Suche lösen konnte. Ich benutze die TPlanner Komponente von TMS.
Die Komponente und einen Button habe ich in ein Formular gezogen. Ich benutze den Planner im Modus "plDayPeriod".
Auf der linken Achse (positions) stehen die Mitarbeiternamen, im "Display" das jeweilige Tagesdatum.
Wenn ich nun den Button klicke, möchte ich das die Kalenderansicht um einen Monat vorgestellt wird. Die Variablen
"PeriodStartDay" usw. werden auch gefüllt, d.h. die Komponente hat beim nächsten Durchlauf die Werte vom Vordurchlauf.
Die Ansicht verändert sich auch, aber wenn ich dann in den Planer klicke (PlannerMAZeitenItemLeftClick) und mir das
Datum der selektierten Zelle (Spalte) in Edit Feldern anzeigen lasse, kommt nichts. Das bedeuetet ich muss irgendwo
anders noch etwas füllen, denn der Komponente müssen Angaben fehlen, um das Datum der selektierten Zelle zu kennen.
Was mache ich falsch, bzw. was fehlt?
Ich habe schon ein paar Beispiel von TMS durchgeschaut, hier im Forum geschaut, gegoogelt, das PDF von TMS druchgeschaut,
aber mir kommt nicht die richtige Idee / Info...
Hat jemenad eine Idee was fehlt, ich würde mich über einen Hinweis freuen!
Anbei der Code, die auskommentierten Zeilen laden bzw. speichern den Kalender in eine
MySql Tabelle:
Delphi-Quellcode:
procedure TForm1.ButtonPlanerArbeitszeiteMonatVorClick(Sender: TObject);
var jahr, monat, tag : word;
erg : integer;
begin
ButtonZeitplanerSpeichernClick(self);
jahr := PlannerMAZeiten.Mode.PeriodStartYear;
monat := PlannerMAZeiten.Mode.PeriodStartMonth;
tag := PlannerMAZeiten.Mode.PeriodStartDay;
// Start
monat := monat + 1;
if monat = 13 then
begin
monat := 1;
jahr := jahr + 1;
end;
PlannerMAZeiten.Mode.PeriodStartDay := tag;
PlannerMAZeiten.Mode.PeriodStartMonth := monat;
PlannerMAZeiten.Mode.PeriodStartYear := jahr;
PlannerMAZeiten.Mode.Year := jahr;
PlannerMAZeiten.Mode.Month := monat;
PlannerMAZeiten.Mode.Day := tag;
PlannerMAZeiten.Mode.TimeLineNVUBegin := 0;
PlannerMAZeiten.Mode.TimeLineNVUEnd := 0;
PlannerMAZeiten.Mode.TimeLineStart := EncodeDate(jahr, monat, tag);
// Ende
erg := monat + 1;
if (erg > 12) then
begin
monat := erg - 12;
jahr := jahr + 1;
end
else
monat := monat + 1;
PlannerMAZeiten.Mode.PeriodEndDay := tag;
PlannerMAZeiten.Mode.PeriodEndMonth := monat;
PlannerMAZeiten.Mode.PeriodEndYear := jahr;
//ButtonZeitplannerLadenClick(self);
end;
procedure TForm1.PlannerMAZeitenItemLeftClick(Sender: TObject; Item: TPlannerItem);
var datum : tDateTime;
position : integer;
begin
datum := item.ItemStartTime;
position := item.ItemPos;
ComboBoxPlanungMitarbeiter.ItemIndex := Position;
selected_date := DatetimeToStr(datum);
tmp_date := datum;
start_date := datum;
end_date := datum;
EditZeitVon.Text := selected_date;
EditZeitBis.Text := selected_date;
end;