{codecitation class="brush: pascal; gutter: false;" width="600px"}
Оформил: DeeCo
Автор: Горкуша Алексей
Здесь представлены работающие компоненты обновления данных, полученных запросом через TADOQuery, аналогичные компонентам BDE TQuery,TUpdateSQL
Компоненты TADOUpdateQuery, TADOUpdateSQL выполняют
Это может способствовать быстрому переводу программ
Предлагаю всем подключится
procedure TForm1.Button1Click (Sender: TObject);
begin
PowerControl1.Action:= actCDEject; // Или…
actLogOFF, actShutDown…PowerControl1.Execute;
end;
= = = = = = = = = = = = = = = = = = = = = = = = = Component Code: unit
PowerControl;
interface uses WinTypes, WinProcs, Messages,
SysUtils, Classes, Controls, Forms, Graphics,
MMSystem;
type
TAction =
(actLogOFF, actShutDown, actReBoot, actForce, actPowerOFF,
actForceIfHung, actMonitorOFF, actMonitorON, actCDEject, actCDUnEject);
type
TPowerControl = class (TComponent)
private
FAction: TAction;
procedure
SetAction (Value: TAction);
protected
public
function Execute:
Boolean;
published
property Action:
TAction read FAction write SetAction;
end;
procedure Register;
implementation
procedure register;
begin
RegisterComponents ('K2', [TPowerControl]);
end;
procedure TPowerControl.SetAction (Value: TAction);
begin
FAction:= Value;
end;
function TPowerControl.Execute: Boolean;
begin
with (Owner as TForm) do
case
actLogOff:
ExitWindowsEx (EWX_LOGOFF, 1);
actShutDown:
ExitWindowsEx (EWX_SHUTDOWN, 1);
actReBoot:
ExitWindowsEx (EWX_REBOOT, 1);
actForce:
ExitWindowsEx (EWX_FORCE, 1);
actPowerOff:
ExitWindowsEx (EWX_POWEROFF, 1);
actForceIfHung:
ExitWindowsEx (EWX_FORCEIFHUNG, 1);
actMonitorOFF:
SendMessage (Application.Handle,
WM_SYSCOMMAND,
SC_MONITORPOWER, 0);
actMonitorON: SendMessage (Application.Handle, WM_SYSCOMMAND,
SC_MONITORPOWER, −1);
actCDEject: mciSendstring ('SET CDAUDIO DOOR OPEN WAIT', nil, 0, Handle);
actCDUnEject: mciSendstring ('SET CDAUDIO DOOR CLOSED WAIT', nil, 0,
Handle);
end; {Case}
Result:= True;
end;
end.
Скачать ADOComponent.zip (5.7 K)
{/codecitation}