Thema: Kalender?

Einzelnen Beitrag anzeigen

Bebe

Registriert seit: 3. Apr 2005
Ort: Berlin
104 Beiträge
 
Delphi 10.1 Berlin Professional
 
#26

Re: Kalender?

  Alt 5. Mär 2010, 08:22
Guten Morgen,

hilfreich wäre es, wenn du uns nächstens sagst in welche Zeile der Fehler auftratt. Er meckert über die Zeile ShowMessage(PlannerCalendar1.DatesAsText(d)); property DatesAsText: string read GetDatesAsText; //Returns the selected days as text Hier wird kein Parameter übergeben (d), sondern gelesen. Du wirst höchstwahsrcheinlich nicht das richtige Ergebnis bekommen, da du das Datum erst selektieren mußt (bei Drag n Drop wird nichts selektiert, ausser du machst es selber)

War das Copy and Paste? Ich frage nur, weil du das Beispiel vom wicht mehr oder weniger übernommen hast.
if PlannerCalendar1.DateAtXY(4, 5, d) then Die Werte 4 und 5 waren nur Beispiele, du mußt natürlich die Cursorposition ermitteln, wo zum Zeitpunkt des Drop's der Cursor auf dem Kalender steht und dann der Funktion übergeben.
Mit dem Rückgabewert (Boolean) wird nur übermittelt, ob du in der Kalenderkomponente überhaupt ein Datum getroffen hast. Wenn kein Datum getroffen wird, sollte der Vorgang abgebrochen werden.
Da das Event DragDrop die Position liefert, brauchst du nur die beiden Werte an die Funktion DateAtXY übergeben .

So z. B.
Delphi-Quellcode:
procedure TForm3.PlannerCalendar1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
  d: TDatetime;
begin
  if (Source is TLabel) then
  begin
    begin
      if PlannerCalendar1.DateAtXY(x, y, d) then
      begin
        with PlannerCalendar1.Events.Add do
        begin
          Date := d;
          Hint := TLabel(Source).Caption;
          Color := clBlue;
          Shape := evsTriangle;
        end;
      end;
    end;
  end;
end;
Gruß
Matze
  Mit Zitat antworten Zitat