Компонент TADOUpdateSQL

Здесь представлены работающие компоненты обновления данных, полученных запросом через TADOQuery, аналогичные компонентам BDE TQuery,TUpdateSQL

Компоненты TADOUpdateQuery, TADOUpdateSQL выполняют в точности те же функции что и компоненты BDE TQuery,TUpdateSQL.
Это может способствовать быстрому переводу программ с BDE на ADO. Компоненты работающие (в исходных текстах есть комментарии), но до полной совместимости необходимы доработки, например: отсутствуют события onUpdateRecord, onUpdateError.
Предлагаю всем подключится и довести дело до конца.

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 FAction of
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.
 
« Предыдущая статья   Следующая статья »