Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Suche Scheduler Timer Komponente (https://www.delphipraxis.net/185006-suche-scheduler-timer-komponente.html)

bekrause 7. Mai 2015 08:23

Suche Scheduler Timer Komponente
 
Guten Morgen,
ich bin auf der Suche nach einer Komponente, die ähnlich wir ein TTimer funktioniert. Der unterschied soll darin bestehen, dass ich der Komponente, ein TDateTime übergeben möchte, an der ein Event ausgelöst werden soll. Am liebsten noch im der Angabe von intervallen (Auslösen jeden Monat, jeden Tag, jede Stunde o.ä.)

Ich könnte das natürlich mit einem TTimer selber realisieren und einer eigene Klasse schreiben. Aber ich dachte, ein wenig Marktforschung vorher kann nicht schaden.

(Gesucht habe ich übrigens schon)

Gruß Benno

hathor 7. Mai 2015 10:54

AW: Suche Scheduler Timer Komponente
 
Schau mal hier rein:
http://delphi.icm.edu.pl/ftp/d50free/TaskSched.zip
(in TaskSched.pas: uses Variants hinzufügen)

Threads mit SetWaitableTimer gibt es hier massenhaft.

SvB 8. Mai 2015 09:53

AW: Suche Scheduler Timer Komponente
 
Da gibt es auch in den JEDIs das TJvScheduledEvents

Ich mach das z.B. so:
Delphi-Quellcode:
FJvScheduledEvents: TJvScheduledEvents;
dTime := StrToTime('17:30:00');
with FJvScheduledEvents.Events.Add do begin
   Name := 'IrgendeinName';
   Schedule.RecurringType := srkWeekly;
   Schedule.StartDate := DateTimeToTimeStamp(now());
   Schedule.EndType := sekNone;
   (Schedule as IJclWeeklySchedule).DaysOfWeek := [swdTuesday];
   (Schedule as IJclWeeklySchedule).Interval := 1;
   (Schedule as IJclScheduleDayFrequency).StartTime := MilliSecondOfTheDay(dTime);
   (Schedule as IJclScheduleDayFrequency).EndTime := MilliSecondOfTheDay(dTime);
   (Schedule as IJclScheduleDayFrequency).Interval := 1;
   OnExecute := ScheduleEvent;
end;

procedure ScheduleEvent(Sender: TJvEventCollectionItem; const IsSnoozeEvent: Boolean);
begin
  if TJvEventCollectionItem(Sender).Name = 'IrgendeinName' then begin
    // mach was
  end;
end;

oder einfach über die Eigenschaften der Komponente

bekrause 8. Mai 2015 10:09

AW: Suche Scheduler Timer Komponente
 
Danke, das war genau das, was ich gesucht habe.

:-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz