⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abdbctrls.pas

📁 著名的虚拟仪表控件,包含全部源码, 可以在,delphi2007 下安装运行
💻 PAS
📖 第 1 页 / 共 4 页
字号:
begin
  inherited;
  FDataLink := TAbFieldDataLink.Create;
  FDataLink.Control := self;
  FDataLink.OnDataRead := DataRead;
  FDataLink.ValueSingle := Value;
end;

destructor TAbDBHSlider.Destroy;
begin
  FDataLink.Free;
  FDataLink := nil;
  inherited;
end;

function TAbDBHSlider.GetDataReadOnly: Boolean;
begin
  result := FDataLink.ReadOnly;
end;

procedure TAbDBHSlider.SetDataReadOnly(Value: Boolean);
begin
  FDataLink.ReadOnly := Value;
end;

procedure TAbDBHSlider.CMGetDataLink(var Message: TMessage);
begin
  Message.result := Integer(FDataLink);
end;

procedure TAbDBHSlider.DataRead(Sender: TObject);
begin
  Value := FDataLink.ValueSingle;
end;

function TAbDBHSlider.GetDataField: string;
begin
  result := FDataLink.FieldName;
end;

function TAbDBHSlider.GetDataSource: TDataSource;
begin
  result := FDataLink.DataSource;
end;

procedure TAbDBHSlider.SetDataField(const Value: string);
begin
  FDataLink.FieldName := Value;
end;

procedure TAbDBHSlider.SetDataSource(const Value: TDataSource);
begin
  if not (FDataLink.DataSourceFixed and (csLoading in Componentstate)) then
    FDataLink.DataSource := Value;
  if Value <> nil then Value.FreeNotification(self);
end;

procedure TAbDBHSlider.ValueChange;
begin
  inherited;
  if Assigned(FDataLink) then FDataLink.DbWriteSingle(Value);
end;

procedure TAbDBHSlider.Notification(AComponent: TComponent;
  Operation: TOperation);
begin
  inherited Notification(AComponent, Operation);
  if (Operation = opRemove) and (FDataLink <> nil) and
    (AComponent = DataSource) then DataSource := nil;
end;
//========================== TAbDBHSlider ======================================

//========================== TAbDBVSlider ======================================

constructor TAbDBVSlider.Create(AOwner: TComponent);
begin
  inherited;
  FDataLink := TAbFieldDataLink.Create;
  FDataLink.Control := self;
  FDataLink.OnDataRead := DataRead;
  FDataLink.ValueSingle := Value;
end;

destructor TAbDBVSlider.Destroy;
begin
  FDataLink.Free;
  FDataLink := nil;
  inherited;
end;

function TAbDBVSlider.GetDataReadOnly: Boolean;
begin
  result := FDataLink.ReadOnly;
end;

procedure TAbDBVSlider.SetDataReadOnly(Value: Boolean);
begin
  FDataLink.ReadOnly := Value;
end;

procedure TAbDBVSlider.CMGetDataLink(var Message: TMessage);
begin
  Message.result := Integer(FDataLink);
end;

procedure TAbDBVSlider.DataRead(Sender: TObject);
begin
  Value := FDataLink.ValueSingle;
end;

function TAbDBVSlider.GetDataField: string;
begin
  result := FDataLink.FieldName;
end;

function TAbDBVSlider.GetDataSource: TDataSource;
begin
  result := FDataLink.DataSource;
end;

procedure TAbDBVSlider.SetDataField(const Value: string);
begin
  FDataLink.FieldName := Value;
end;

procedure TAbDBVSlider.SetDataSource(const Value: TDataSource);
begin
  if not (FDataLink.DataSourceFixed and (csLoading in Componentstate)) then
    FDataLink.DataSource := Value;
  if Value <> nil then Value.FreeNotification(self);
end;

procedure TAbDBVSlider.ValueChange;
begin
  inherited;
  if Assigned(FDataLink) then FDataLink.DbWriteSingle(Value);
end;

procedure TAbDBVSlider.Notification(AComponent: TComponent;
  Operation: TOperation);
begin
  inherited Notification(AComponent, Operation);
  if (Operation = opRemove) and (FDataLink <> nil) and
    (AComponent = DataSource) then DataSource := nil;
end;
//========================== TAbDBVSlider ======================================

//========================== TAbDBDial ======================================

constructor TAbDBDial.Create(AOwner: TComponent);
begin
  inherited;
  FDataLink := TAbFieldDataLink.Create;
  FDataLink.Control := self;
  FDataLink.OnDataRead := DataRead;
  FDataLink.ValueSingle := Value;
end;

destructor TAbDBDial.Destroy;
begin
  FDataLink.Free;
  FDataLink := nil;
  inherited;
end;

function TAbDBDial.GetDataReadOnly: Boolean;
begin
  result := FDataLink.ReadOnly;
end;

procedure TAbDBDial.SetDataReadOnly(Value: Boolean);
begin
  FDataLink.ReadOnly := Value;
end;

procedure TAbDBDial.CMGetDataLink(var Message: TMessage);
begin
  Message.result := Integer(FDataLink);
end;

procedure TAbDBDial.DataRead(Sender: TObject);
begin
  Value := FDataLink.ValueSingle;
end;

function TAbDBDial.GetDataField: string;
begin
  result := FDataLink.FieldName;
end;

function TAbDBDial.GetDataSource: TDataSource;
begin
  result := FDataLink.DataSource;
end;

procedure TAbDBDial.SetDataField(const Value: string);
begin
  FDataLink.FieldName := Value;
end;

procedure TAbDBDial.SetDataSource(const Value: TDataSource);
begin
  if not (FDataLink.DataSourceFixed and (csLoading in Componentstate)) then
    FDataLink.DataSource := Value;
  if Value <> nil then Value.FreeNotification(self);
end;

procedure TAbDBDial.ValueChange;
begin
  inherited;
  if Assigned(FDataLink) then FDataLink.DbWriteSingle(Value);
end;

procedure TAbDBDial.Notification(AComponent: TComponent;
  Operation: TOperation);
begin
  inherited Notification(AComponent, Operation);
  if (Operation = opRemove) and (FDataLink <> nil) and
    (AComponent = DataSource) then DataSource := nil;
end;
//========================== TAbDBDial =========================================

//========================== TAbDBGearDial =====================================

constructor TAbDBGearDial.Create(AOwner: TComponent);
begin
  inherited;
  FDataLink := TAbFieldDataLink.Create;
  FDataLink.Control := self;
  FDataLink.OnDataRead := DataRead;
  FDataLink.ValueSingle := Value;
end;

destructor TAbDBGearDial.Destroy;
begin
  FDataLink.Free;
  FDataLink := nil;
  inherited;
end;

function TAbDBGearDial.GetDataReadOnly: Boolean;
begin
  result := FDataLink.ReadOnly;
end;

procedure TAbDBGearDial.SetDataReadOnly(Value: Boolean);
begin
  FDataLink.ReadOnly := Value;
end;

procedure TAbDBGearDial.CMGetDataLink(var Message: TMessage);
begin
  Message.result := Integer(FDataLink);
end;

procedure TAbDBGearDial.DataRead(Sender: TObject);
begin
  Value := FDataLink.ValueSingle;
end;

function TAbDBGearDial.GetDataField: string;
begin
  result := FDataLink.FieldName;
end;

function TAbDBGearDial.GetDataSource: TDataSource;
begin
  result := FDataLink.DataSource;
end;

procedure TAbDBGearDial.SetDataField(const Value: string);
begin
  FDataLink.FieldName := Value;
end;

procedure TAbDBGearDial.SetDataSource(const Value: TDataSource);
begin
  if not (FDataLink.DataSourceFixed and (csLoading in Componentstate)) then
    FDataLink.DataSource := Value;
  if Value <> nil then Value.FreeNotification(self);
end;

procedure TAbDBGearDial.ValueChange;
begin
  inherited;
  if Assigned(FDataLink) then FDataLink.DbWriteSingle(Value);
end;

procedure TAbDBGearDial.Notification(AComponent: TComponent;
  Operation: TOperation);
begin
  inherited Notification(AComponent, Operation);
  if (Operation = opRemove) and (FDataLink <> nil) and
    (AComponent = DataSource) then DataSource := nil;
end;
//========================== TAbDBGearDial =====================================


// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
//                          Meter's, Gauge,
// XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

//========================== TAbDBValueInd =====================================

constructor TAbDBValueInd.Create(AOwner: TComponent);
begin
  inherited;
  FDataLink := TAbFieldDataLink.Create;
  FDataLink.Control := self;
  FDataLink.OnDataRead := DataRead;
  FDataLink.ValueSingle := Value;
  DataReadOnly := true;
end;

destructor TAbDBValueInd.Destroy;
begin
  FDataLink.Free;
  FDataLink := nil;
  inherited;
end;

function TAbDBValueInd.GetDataReadOnly: Boolean;
begin
  result := FDataLink.ReadOnly;
end;

procedure TAbDBValueInd.SetDataReadOnly(Value: Boolean);
begin
  FDataLink.ReadOnly := Value;
end;

procedure TAbDBValueInd.CMGetDataLink(var Message: TMessage);
begin
  Message.result := Integer(FDataLink);
end;

procedure TAbDBValueInd.DataRead(Sender: TObject);
begin
  Value := FDataLink.ValueSingle;
end;

function TAbDBValueInd.GetDataField: string;
begin
  result := FDataLink.FieldName;
end;

function TAbDBValueInd.GetDataSource: TDataSource;
begin
  result := FDataLink.DataSource;
end;

procedure TAbDBValueInd.SetDataField(const Value: string);
begin
  FDataLink.FieldName := Value;
end;

procedure TAbDBValueInd.SetDataSource(const Value: TDataSource);
begin
  if not (FDataLink.DataSourceFixed and (csLoading in Componentstate)) then
    FDataLink.DataSource := Value;
  if Value <> nil then Value.FreeNotification(self);
end;

procedure TAbDBValueInd.ValueChange;
begin
  inherited;
  if Assigned(FDataLink) then FDataLink.DbWriteSingle(Value);
end;

procedure TAbDBValueInd.Notification(AComponent: TComponent;
  Operation: TOperation);
begin
  inherited Notification(AComponent, Operation);
  if (Operation = opRemove) and (FDataLink <> nil) and
    (AComponent = DataSource) then DataSource := nil;
end;
//========================== TAbDBValueInd =========================================

//========================== TAbDBVMeter =======================================

constructor TAbDBHMeter.Create(AOwner: TComponent);
begin
  inherited;
  FDataLink := TAbFieldDataLink.Create;
  FDataLink.Control := self;
  FDataLink.OnDataRead := DataRead;
  FDataLink.ValueSingle := Value;
  DataReadOnly := true;
end;

destructor TAbDBHMeter.Destroy;
begin
  FDataLink.Free;
  FDataLink := nil;
  inherited;
end;

function TAbDBHMeter.GetDataReadOnly: Boolean;
begin
  result := FDataLink.ReadOnly;
end;

procedure TAbDBHMeter.SetDataReadOnly(Value: Boolean);
begin
  FDataLink.ReadOnly := Value;
end;

procedure TAbDBHMeter.CMGetDataLink(var Message: TMessage);
begin
  Message.result := Integer(FDataLink);
end;

procedure TAbDBHMeter.DataRead(Sender: TObject);
begin
  Value := FDataLink.ValueSingle;
end;

function TAbDBHMeter.GetDataField: string;
begin
  result := FDataLink.FieldName;
end;

function TAbDBHMeter.GetDataSource: TDataSource;
begin
  result := FDataLink.DataSource;
end;

procedure TAbDBHMeter.SetDataField(const Value: string);
begin
  FDataLink.FieldName := Value;
end;

procedure TAbDBHMeter.SetDataSource(const Value: TDataSource);
begin
  if not (FDataLink.DataSourceFixed and (csLoading in Componentstate)) then
    FDataLink.DataSource := Value;
  if Value <> nil then Value.FreeNotification(self);
end;

procedure TAbDBHMeter.ValueChange;
begin
  inherited;
  if Assigned(FDataLink) then FDataLink.DbWriteSingle(Value);
end;

procedure TAbDBHMeter.Notification(AComponent: TComponent;
  Operation: TOperation);
begin
  inherited Notification(AComponent, Operation);
  if (Operation = opRemove) and (FDataLink <> nil) and
    (AComponent = DataSource) then DataSource := nil;
end;
//========================== TAbDBHMeter ======================================

//========================== TAbDBVMeter ======================================

constructor TAbDBVMeter.Create(AOwner: TComponent);
begin
  inherited;
  FDataLink := TAbFieldDataLink.Create;
  FDataLink.Control := self;
  FDataLink.OnDataRead := DataRead;
  FDataLink.ValueSingle := Value;
  DataReadOnly := true;
end;

destructor TAbDBVMeter.Destroy;
begin
  FDataLink.Free;
  FDataLink := nil;
  inherited;
end;

function TAbDBVMeter.GetDataReadOnly: Boolean;
begin
  result := FDataLink.ReadOnly;
end;

procedure TAbDBVMeter.SetDataReadOnly(Value: Boolean);
begin
  FDataLink.ReadOnly := Value;
end;

procedure TAbDBVMeter.CMGetDataLink(var Message: TMessage);
begin
  Message.result := Integer(FDataLink);
end;

procedure TAbDBVMeter.DataRead(Sender: TObject);
begin
  Value := FDataLink.ValueSingle;
end;

function TAbDBVMeter.GetDataField: string;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -