well, here's my program in it's essence.
Classes:
-----------------------------
ICommand // implement this one with classes that download files, copy files,
sql, etc.
void run();
-----------------------------
Task
ArrayList commands; // of Type ICommand
void run(); //runs all commands.
-----------------------------
TaskManager
void AddTask(Task task);
Task GetTaskByKey(string key);
-----------------------------
-----------------------------
Schedule
Task Task {get;set;}
DateTime GetNextRuntime();
void RunNow(); // calls task.Run(), which runs all commands.
-----------------------------
Scheduler
void AddSchedule(Schedule schedule);
void loopthread(){ // start this from Form1
foreach(Schedule s in schedules){
if(s.Status == ScheduleStatus.Waiting){
new MethodInvoker(s.RunNow).BeginInvoke(null, null);
}
}
}
-----------------------------
Then have a form with a grid or list box that with DataSource =
Scheduler.Schedules
So that's that basic architecture of my program.
Some method names have been changed to protect the innocen
Good luck.