![]() |
Re: Kalender?
Hallo,
ich versteh die Logik nicht... aber ich bastel mal nachher weiter, vielen Dank, für die Hilfe :) Gruß, Andreas |
Re: Kalender?
Naja. Damit kann man quasi mehrere Rückgabewerte ermöglichen.
Weil wenn du zum Beispiel bei X und Y Mist eingibst, quasi etwas, was es nicht gibt, was soll dann der Rückgabewert der Funktion sein (wenn keine Exceptions benutzt werden)? Das Ergebnis kann nur eine Zahl sein, und jede Zahl repräsentiert irgendein Datum. Da würde sich schwer unterscheiden lassen, ob die Funktion ein Ergebnis gebracht hat oder nicht. Und das var-Schlüsselwort sagt eben vereinfacht gehalten, dass die Funktion, die aufgerufen wird, diese Variable verändern kann und sich diese Änderungen auch auf die aufrufende Funktion auswirken, die mit den Werten weiter arbeiten kann. |
Re: Kalender?
Jetzt hab ich was gan queer. Ich versuche folgenden Code:
Delphi-Quellcode:
Aber es geht nicht, ich bekomme die Fehlermeldung "Operator oder Semikolon fehlt"...Normalerweise ist es dann ne einfache Kleinigkeit. Aber ich finde einfach nix....
if (Source is TLabel) then begin
kalender.Caption := TLabel(Source).Caption; if PlannerCalendar1.DateAtXY(4, 5, d) then ShowMessage(PlannerCalendar1.DatesAsText(d)); |
Re: Kalender?
hmmm... wenn ich bei DateAsText den Parameter weglasse, compiliert er ordentlich. Allerdings kommt die MessageBox nicht... also bekomm ich auch nix übergeben..
|
Re: Kalender?
Wie sieht es so aus?
Delphi-Quellcode:
if (Source is TLabel) then begin
kalender.Caption := TLabel(Source).Caption; if PlannerCalendar1.DateAtXY(4, 5, d) then ShowMessage(DateToStr(d)); end; |
Re: Kalender?
Guten Morgen,
hilfreich wäre es, wenn du uns nächstens sagst in welche Zeile der Fehler auftratt. Er meckert über die Zeile
Delphi-Quellcode:
ShowMessage(PlannerCalendar1.DatesAsText(d));
Delphi-Quellcode:
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)
property DatesAsText: string read GetDatesAsText; //Returns the selected days as text
War das Copy and Paste? Ich frage nur, weil du das Beispiel vom wicht mehr oder weniger übernommen hast.
Delphi-Quellcode:
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.
if PlannerCalendar1.DateAtXY(4, 5, d) then
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:
Gruß
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; Matze |
Re: Kalender?
Hallo,
vielen Dank! So funktioniert es. Danke Matze, du bist mene Rettung! Ich konnte schon nicht gut schlafen deshalb *g* Nu muss ich nur noch rausfinden, wieso der Planner keine Captions anzeigt, obwohl die Events das Property haben. Gruß, Andy |
Re: Kalender?
Hallo,
ich finde das mit den Captions einfach nicht raus. Hat jemand ne Idee? Gruß und gute Nacht, Andreas |
Re: Kalender?
Guten Morgen,
die Events vom TMSPlannerCalender haben keine Caption, nur die Hints zum anzeigen von Texten. Gruß Matze |
Re: Kalender?
Hallo,
ich kann den Events aber eine Caption geben. Zur Not, gehen Hints auch mehrzeilig? /n funzt leider nicht als EscapeCharakter. Gruß, Andy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz