Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
Kidtox
0 / 0 / 0
Регистрация: 08.09.2011
Сообщений: 22
1

Программы по расписанию

24.09.2011, 10:16. Просмотров 2305. Ответов 9
Метки нет (Все метки)

Ребят битый чаc страюсь исправить ошибки. Не все получилось. Посмотрите пожалуйста и подскажите где я допустил их
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls, Menus,ShellAPI;
 
type
  TForm1 = class(TForm)
    PopupMenu1: TPopupMenu;
    Timer1: TTimer;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    DateTimePicker3: TDateTimePicker;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Label3: TLabel;
    procedure Timer1Timer(Sender: TObject);
    procedure openprog(i:string);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    protected
      procedure OnMinimizeWindow(Sender: TObject);
      procedure DefineIconInformation(Sender: TObject);
      procedure ControlWindow(var MSG:TMessage);message WM_SYSCOMMAND;
      procedure MouseReaction(var MSG:TMessage);message WM_USER+1;
  private
 
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption:=TimeToStr(Time);
if(Label1.Caption)=TimeToStr(DataTimePicker1.Time)then
openprog(Edit1.Text);
end;
procedure TForm1.openprog(i:string);
begin
  ShellExecute(TForm(Owner).Handle,nil,PChar(i),nil,SW_SHOWNORMAL);
 
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
 Label1.Visible:=True;
 Timer1.Enabled:=not(Timer1.Enabled);
end;
procedure TForm1.DefineIconInformation(Action:Integer;IC:TIcon);
var
  notifIcData:TNotifyIconDataA;
  begin
    with notifIcData do
    begin
      cbSize:=SizeOf(notifIcData);
      Wnd:=Form1.Handle;
      uId:=1;
      uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP;
      uCallbackMessage:=WM_USER+1;
      hIcon:=ICON.handle;
      szTip:='Program';
    end;
    case action of
    1:Shell_NotifyIcon(NIM_ADD,@notificdata);
    2:Shell_NotifyIcon(NIM_DELETE,@notifIcData);
    3:Shell_NotifyIcon(NIM_MODIFY,@notificData);
 
     end;
  end;
  procedure TForm1.ControlWindow(var MSG:Tmessage);
  begin
    if MSG.WParam=SC_MINIMIZE then
    begin
      DefineIconInformation(1,Application.Icon);
      ShowWindow(Handle,SW_Hide);
      ShowWindow(Application.Handle,SW_HIDE);
      end else
      inherited;
    end;
  procedure TForm1.OnMinimizeWindow(Sender:TObject);
  begin
    PostMessage(Handle,WM_SYSCOMMAND,SC_MINIMIZE,0);
    SendMessage(Handle,WM_SYSCOMMAND,SC_MINIMIZE,0);
  end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMinimize:=OnMinimizeWindow;
end;
procedure TForm1.MouseReaction(var msg:TMessage);
var
  p:TPoint;
  begin
    GetCursorPos(p);
    case MSG.LParam of
    WM_LBUTTONUP,WM_LBUTTONDBLCLK:
    begin
      DefineIconInformation(2,Application.Icon);
      ShowWindow(Application.Handle,SW_SHOW);
      ShowWindow(Handle,SW_SHOW);
    end;
    WM_RBUTTONUP:
    begin
      SetForegroundWindow(Handle);
      PopupMenu1.Popup(p.X,p.Y);
      PostMessage(Handle,WM_NULL,0,0);
 
    end;
  end;
  end;
  procedure TForm1.N1Click(Sender:TObject);
  begin
    DefineIconInformation(2,Aplication.Icon);
    ShowWindow(Application.Handle,SW_SHOW);
    ShowWindow(Handle,SW_SHOW);
 
  end;
  procedure TForm1.N2Click(Sender:TObject);
  begin
    Application.Terminate;
  end;
end.
Код
[Warning] Unit1.pas(55): Unsafe type 'PChar'
[Error] Unit1.pas(55): Incompatible types: 'Integer' and 'PAnsiChar'
[Error] Unit1.pas(62): Declaration of 'DefineIconInformation' differs from previous declaration
[Error] Unit1.pas(73): Undeclared identifier: 'icon'
[Error] Unit1.pas(76): Undeclared identifier: 'action'
[Warning] Unit1.pas(77): Unsafe code '@ operator'
[Warning] Unit1.pas(78): Unsafe code '@ operator'
[Warning] Unit1.pas(79): Unsafe code '@ operator'
[Error] Unit1.pas(87): Incompatible types: 'TObject' and 'Integer'
[Error] Unit1.pas(110): Incompatible types: 'TObject' and 'Integer'
[Error] Unit1.pas(125): Incompatible types: 'TObject' and 'Integer'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Вложения
Тип файла: rar Новая папка.rar (3.9 Кб, 35 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2011, 10:16
Ответы с готовыми решениями:

Выполнение действий по расписанию, в определенное время
как сделать что бы прога отслеживала время и если наступило к примеру 21:00...

Отправка смс по расписанию для смартфона на Delphi
Здравствуйте, уважаемые форумчане! На этом форуме я пишу первый раз, т.к....

Запуск программы по расписанию
Есть готовая рабочая программа. Задача стоит следующая: запускать вычисления...

Запуск и завершение программы по расписанию
Здравствуйте. появилась необходимость запуск программы в начале рабочего дня и...

Теория о создании программы, которая работает по расписанию
Задача: написать на VB приложение, которое по расписанию будет запускать...

9
AndyZorg
Заблокирован
24.09.2011, 11:28 2
В секции protected класса TForm1 процедура "DefineIconInformation" описана как "procedure DefineIconInformation(Sender: TObject);", а в коде "procedure TForm1.DefineIconInformation(Action:Integer;IC:TIcon);". В описании класса замените procedure DefineIconInformation(Sender: TObject); на procedure DefineIconInformation(Action:Integer;IC:TIcon);.
Это раз. А два - это строку ShellExecute(TForm(Owner).Handle,nil,PChar(i),nil,SW_SHOWNORMAL); замените на ShellExecute(TForm(Owner).Handle, nil, PChar(i), nil, nil, SW_SHOWNORMAL);
0
Kidtox
0 / 0 / 0
Регистрация: 08.09.2011
Сообщений: 22
24.09.2011, 11:53  [ТС] 3
Еще вы не знаете как можно с помощью OpenDialog записать выбранный путь в Мемо или Edit. Знаю только как просто открыть файл с его помощью
0
AndyZorg
Заблокирован
24.09.2011, 12:01 4
Memo1.Lines.Add(OpenDialog1.FileName) или Edit1.Text := OpenDialog1.FileName

Добавлено через 35 секунд
Ну естественно перед этим надо вызвать OpenDialog1.Execute
0
Kidtox
0 / 0 / 0
Регистрация: 08.09.2011
Сообщений: 22
24.09.2011, 12:32  [ТС] 5
Спасибо большое. Вроде как и понял с OpenDialog но пока не выходит -)
0
AndyZorg
Заблокирован
24.09.2011, 12:37 6
Цитата Сообщение от Kidtox Посмотреть сообщение
Спасибо большое. Вроде как и понял с OpenDialog но пока не выходит -)
Код напишите, который не выходит!
0
Kidtox
0 / 0 / 0
Регистрация: 08.09.2011
Сообщений: 22
24.09.2011, 13:47  [ТС] 7
Забыл нужно что когда таймер срабатывает и открывается файл или папка должен воспроизвестись любой звук. У меня воспроизводить всегда когда включен таймер? Как можно сделать как необходимо мне?

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls, Menus,ShellAPI,mmsystem;
 
type
  TForm1 = class(TForm)
    PopupMenu1: TPopupMenu;
    Timer1: TTimer;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    DateTimePicker3: TDateTimePicker;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Button: TButton;
    Button11: TButton;
    Button12: TButton;
    Button13: TButton;
    procedure Timer1Timer(Sender: TObject);
    procedure openprog(i:string);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure ButtonClick(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    protected
       procedure OnMinimizeWindow(Sender: TObject);
      procedure DefineIconInformation(Action:Integer;IC:TIcon);
      procedure ControlWindow(var MSG:TMessage);message WM_SYSCOMMAND;
      procedure MouseReaction(var MSG:TMessage);message WM_USER+1;
  private
 
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
 
{$R *.dfm}
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption:=TimeToStr(Time);
if(Label1.Caption)=TimeToStr(DateTimePicker1.Time)then
openprog(Edit1.Text);PlaySound('C:\Windows\Media\tada.wav',0,SND_ASYNC);
 
if(Label1.Caption)=TimeToStr(DateTimePicker2.Time)then
openprog(Edit2.Text);
if(Label1.Caption)=TimeToStr(DateTimePicker3.Time)then
openprog(Edit3.Text);
end;
procedure TForm1.openprog(i:string);
begin
  ShellExecute(TForm(Owner).Handle, nil, PChar(i), nil, nil, SW_SHOWNORMAL);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
 Label1.Visible:=True;
 Timer1.Enabled:=not(Timer1.Enabled);
end;
procedure TForm1.DefineIconInformation(Action:Integer;IC:TIcon);
var
  notifIcData:TNotifyIconData;
  begin
    with notifIcData do
    begin
      cbSize:=SizeOf(notifIcData);
      Wnd:=Form1.Handle;
      uId:=1;
      uFlags:=NIF_ICON or NIF_MESSAGE or NIF_TIP;
      uCallbackMessage:=WM_USER+1;
      hIcon:=icon.handle;
      szTip:='Program';
    end;
    case action of
    1:Shell_NotifyIcon(NIM_ADD,@notificdata);
    2:Shell_NotifyIcon(NIM_DELETE,@notifIcData);
    3:Shell_NotifyIcon(NIM_MODIFY,@notificData);
 
     end;
  end;
  procedure TForm1.ControlWindow(var MSG:Tmessage);
  begin
    if MSG.WParam=SC_MINIMIZE then
    begin
      DefineIconInformation(1,Application.Icon);
      ShowWindow(Handle,SW_Hide);
      ShowWindow(Application.Handle,SW_HIDE);
      end else
      inherited;
    end;
  procedure TForm1.OnMinimizeWindow(Sender:TObject);
  begin
    PostMessage(Handle,WM_SYSCOMMAND,SC_MINIMIZE,0);
    SendMessage(Handle,WM_SYSCOMMAND,SC_MINIMIZE,0);
  end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMinimize:=OnMinimizeWindow;
end;
procedure TForm1.MouseReaction(var msg:TMessage);
var
  p:TPoint;
  begin
    GetCursorPos(p);
    case MSG.LParam of
    WM_LBUTTONUP,WM_LBUTTONDBLCLK:
    begin
      DefineIconInformation(2,Application.Icon);
      ShowWindow(Application.Handle,SW_SHOW);
      ShowWindow(Handle,SW_SHOW);
    end;
    WM_RBUTTONUP:
    begin
      SetForegroundWindow(Handle);
      PopupMenu1.Popup(p.X,p.Y);
      PostMessage(Handle,WM_NULL,0,0);
 
    end;
  end;
  end;
  procedure TForm1.N1Click(Sender:TObject);
  begin
    DefineIconInformation(2,Application.Icon);
    ShowWindow(Application.Handle,SW_SHOW);
    ShowWindow(Handle,SW_SHOW);
 
  end;
  procedure TForm1.N2Click(Sender:TObject);
  begin
    Application.Terminate;
  end;
procedure TForm1.ButtonClick(Sender: TObject);
var
  OpenDlg: TOpenDialog;
begin
  OpenDlg := TOpenDialog.Create(Self);
 
  if OpenDlg.Execute then
  begin
  Edit1.Text := OpenDlg.FileName
  end;
  OpenDlg.Free;
end;
 
procedure TForm1.Button11Click(Sender: TObject);
var
  OpenDlg: TOpenDialog;
begin
  OpenDlg := TOpenDialog.Create(Self);
 
  if OpenDlg.Execute then
  begin
  Edit2.Text := OpenDlg.FileName
  end;
  OpenDlg.Free;
end;
 
procedure TForm1.Button12Click(Sender: TObject);
var
  OpenDlg: TOpenDialog;
begin
  OpenDlg := TOpenDialog.Create(Self);
 
  if OpenDlg.Execute then
  begin
  Edit3.Text := OpenDlg.FileName
  end;
  OpenDlg.Free;
end;
 
procedure TForm1.Button13Click(Sender: TObject);
begin
Close
end;
 
end.
0
Kidtox
0 / 0 / 0
Регистрация: 08.09.2011
Сообщений: 22
25.09.2011, 14:15  [ТС] 8
Ни у кого нет идей как можно реализовать звук при открытии файла или программы?
0
MultiVan
59 / 59 / 4
Регистрация: 13.08.2011
Сообщений: 165
25.09.2011, 14:25 9
Цитата Сообщение от Kidtox Посмотреть сообщение
Ни у кого нет идей как можно реализовать звук при открытии файла или программы?
При открытии формы что ли?
поставь
Delphi
1
beep;
в OnCreate у Form1
1
Kidtox
0 / 0 / 0
Регистрация: 08.09.2011
Сообщений: 22
26.09.2011, 00:09  [ТС] 10
Нет. так я и сам могу -) на форме есть таймер. В Edit например указываю путь на открытие файла и с помощью DataTimePicker ставлю время запуска. Когда на таймере время совпадает время с временем что я указал открывается файл(программа) и вот тут мне нужно что бы был любой звук.

Добавлено через 8 часов 55 минут
Разобрался. Всем спасибо за помощь
0
26.09.2011, 00:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2011, 00:09

Скрыть окно выполняющейся по расписанию программы, чтобы не мешало работать
всем дорого времени суток... опишу ситуацию полностью. Есть у меня xStarter...

Агенты по расписанию
Привет! Есть сервер отчетов, на него поступают запросы на формирование...

Агент по расписанию.
Помогите, пожалуйста, разобраться почему не работает агент по расписанию....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru