![]() |
Kalender?
Hallo,
ich möchte einen Kalender einbauen und per drag&drop verschiedene Events einpflegen. Kurz gefragt - wie mach ich das? *g* Ich hab noch nie mit ner Kalender Componente gearbeited und noch nie mit drag&drop... Wäre klaasse, wenn man mir schnell hilft. Gruß, Andreas |
Re: Kalender?
Mit "schnell" helfen wird es da nicht getan sein :zwinker:
Welche Komponente willst denn nehmen? Die gibts wohl wie Sand am Meer :mrgreen: Such erst mal eine, die passen könnte und dann teste mal, wie du da was einfügen kannst, in so fern diese Komponente das kann. Kleiner Tipp: ![]() |
Re: Kalender?
Hallo,
danke erstmal für die Hilfe :) Den TMS Planer hab ich schon probiert aber ich finde nix, zum einzelne Tage zu markieren. Was ich nutze, ist mir egal. Das Ergebnis muss stiimmen *g* Naja, ich geh erstmal schlafen. Gute Nacht allerseits, Andreas |
Re: Kalender?
Kalender ...
Zitat:
Ich klinke mich mal in die Frage ein, weil ich auch schon seit längerem, mehr oder weniger intensiv, nach einer vernünftigen Kalender-Komponente umschaue und noch keine gefunden haben. Den TMSPlanner kenne ich. Der sieht gut aus, ist aber m.M.n. Mist ! Sorry Sanguis, aber bis zum Drag&Drop bin ich garnicht gekommen, da der TMSPlanner bei mir von vorn her rein nicht so funktioniert hat, wie ich das von einer Kalender-Komponente erwarte. Ich erwarte von einem "Planner" (dt. "Planer" oder auch "Terminkalender") das er z.B. in der Monatsansicht die Jahreszahl berücksichtigt. Machte der TMSPlanner damals (2..3 Jahre her) einfach nicht. Und es gab/bibt ne ganze Menge mehr wo man sich das TerminPlaner-Entwickler mit dem TMSPlanner an den Kopf fasst. :wall: Vtl. kann das ja aktuelle TMSPlanner mittler weile. Rückinfo erwünscht! Das ist das JvTimeFrameWork von Jedi's schon weiter, sieht aber zugegeeben scheiße aus! Hai s.h.a.r.k, Welche Terminkalender-Komponenten kennst du noch? Evtl. auch solche die Serientermine und/oder Gruppentermine unterstützen? Evtl. welche mit DB-Anbindung? Sorry, ist nicht böse gemeint, aber wenn ich TMSSoftware lesen, sträuben sich mir die Nackenhaare, denn ich habe noch nichts von TMS gesehen, was die Investition in diese Software lohnen würde! ... aber bevor ich vom Thema abkomme ... Gruß gmc |
Re: Kalender?
Hallo,
ich arbeite seit einem Jahr mit TMS und habe ALLE genannten Kalender-Probleme damit gelöst. Ich weiß nicht womit Ihr gearbeitet habt oder wie gut Ihr euch mit Delphi auskennt. Man muß sich natürlich mit dem Komponenten beschäftigen, einfach nur im OI klicken und fertig geht nicht, da es auch eine Vielzahl von Einstellungsmöglichkeiten gibt und vieles muß per Code gelöst werden. Aber dann sind die Komponenten und ich meine alle von TMS einfach super, vorallem das Grid mit HTML-Unterstüzung. Wenn Ihr die Teile gekauft habt, bekommt ihr auch den vollen Support, und der ist Superkasse. Probleme werden meist inerhalb von 1-5 Stunden gelöst, das habe ich bisher noch nicht erlebt und ich arbeite mit Delphi schon seit Version 4. mfg Olaf |
Re: Kalender?
Es gibt gerade für den Planner von TMS eine Fülle von Beispielen:
![]() Dort mal gaaaanz runter scrollen. Da findet sich für alles eine Lösung. Sherlock |
Re: Kalender?
Hallo,
der TMS Planner zeigt die Jahreszahl an. Aber ich schaff es einfach nicht, verschiedene Tage unterschiedlich zu markieren. Das es geht, seh ich in den Beispielen. Aber das "wie" leider nicht... Kann mir da wer helfen? Gruß, Andreas |
Re: Kalender?
Leider nutze ich selber den Planner nicht. Aber der "TMS Developers Guide" sieht recht detailliert aus. Da muss einfach drinstehen was Du brauchst.
Sherlock |
Re: Kalender?
Ich such schon lange, aber leider finde ich einfach nix. Muss man dafür schon Kunde sein?
|
Re: Kalender?
Ok, mein Fehler. Ich hatte die Componente bei torry runtergeladen. Jetzt noch mal neu, direkt von TMS. Jetzt hab ich mehr Componenten und Möglichkeiten. Allerdings sieht es nun eher komplizierter aus... ich blicke da nicht durch *sfz*
|
Re: Kalender?
Hallo erstmal,
gleich eine Frage. Meinst du eigentlich eine Kalender Komponente, also "nur" eine Monatskalender, wie von TMS der TPlannerCalendar oder meinst du eher ein echten Planer oder Scheduler, wo die Event auf einen Zeitstrahl dargestellt werden? Bei der TPlannerCalender Komponente kannst du z. B. mit ...
Delphi-Quellcode:
... Events hinzufügen.
with PlannerCalendar1.Events.Add do
begin Date := EncodeDate(2010, 03, 22); Hint := 'Meeting 1'; Color := clRed; Shape := evsRectangle; end; Gruß Matze |
Re: Kalender?
Guten Abend,
danke, genau das hab ich gesucht :) Sieht gut aus, jetzt muss ich das nur noch per Drag&Drop hinbekommen *g* Gruß und Dank, Andreas |
Re: Kalender?
So, den Drag hab ich hinbekommen. Nur beim Drop bekomme ich das ausgewählte Datum nicht? Wie bekomme ich das raus? Leider zeigt der Planner auch keine Captions von Events an...
|
Re: Kalender?
Versuche es mal mit dieser Funktion
Delphi-Quellcode:
function DateAtXY(x, y: Integer; var ADate: TDateTime): Boolean;
|
Re: Kalender?
Hallo,
hab ich... aber leider hab ich die Parameter nicht und kann mit dem Rückgabewert nichts anfangen... Gruß, Andreas |
Re: Kalender?
Das var-Schlüsselwort sagt, dass eine Referenz auf ein TDateTime übergeben wird.
Das heißt für dich, dass in der Variable, die du da mitgibst, wohl nach dem Funktionsaufruf der Wert drin steht, den du gerne möchtest. Und das Ergebnis ist Boolean - sagt vermutlich aus, ob der Aufruf geklappt hat oder nicht... |
Re: Kalender?
Eben... und die Tdatetime kann ich nicht übergeben, da ich sie nicht kenne. Ich möchte sie ja beim drop auslesen...
|
Re: Kalender?
Hast du dich mal in irgendeiner Art über das var-Schlüsselwort informiert...?
Delphi-Quellcode:
HTH
var
d: TDateTime; begin if DateAtXY(4, 5, d) then ShowMessage(DateToStr(d)); // Glaube es hieß DateToStr... end; |
Re: Kalender?
Genau richtig was wicht sagt.
Du übergibst die Position per X und Y an die Funktion und das ermittelte Datum (ADate: TDateTime) aus der Funktion übergibst du dem Event was ich weiter oben schon beschrieben habe. |
Re: Kalender?
@Sanguis : Aber sie wird doch dabei ausgelesen...
|
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 11:43 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