亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? qiscopepaneltimebase.pas

?? Iocomp Ultra Pack v3.0.2 Sources.For.Delphi 數(shù)據(jù)顯示編程插件,可用于工業(yè)控制
?? PAS
?? 第 1 頁 / 共 2 頁
字號(hào):
  FCreationComplete := True;
end;
//****************************************************************************************************************************************************
destructor TiScopePanelTimeBase.Destroy;
begin
  inherited Destroy;
end;
//****************************************************************************************************************************************************
procedure TiScopePanelTimeBase.Resize;
begin
  inherited Resize;
  AdjustLayout;
end;
//****************************************************************************************************************************************************
procedure TiScopePanelTimeBase.AdjustLayout;
var
  MaxLabelWidth : Integer;
  LeftStart     : Integer;
  TopStart      : Integer;
begin
  if not FCreationComplete then Exit;

  MaxLabelWidth := 0;

  TopStart  := FLabel.Height + 10;

  if FSecPerDivLabel.Width   > MaxLabelWidth then MaxLabelWidth := FSecPerDivLabel.Width;
  if FPositionLabel.Width    > MaxLabelWidth then MaxLabelWidth := FPositionLabel.Width;
  if FPreCaptureLabel.Width  > MaxLabelWidth then MaxLabelWidth := FPreCaptureLabel.Width;
  if FPostCaptureLabel.Width > MaxLabelWidth then MaxLabelWidth := FPostCaptureLabel.Width;

  LeftStart := Width - 10 - MaxLabelWidth - FSecPerDivSelector.Width - 5;

  FSecPerDivLabel.Left      := LeftStart + MaxLabelWidth - FSecPerDivLabel.Width;
  FPositionLabel.Left       := LeftStart + MaxLabelWidth - FPositionLabel.Width;
  FPreCaptureLabel.Left     := LeftStart + MaxLabelWidth - FPreCaptureLabel.Width;
  FPostCaptureLabel.Left    := LeftStart + MaxLabelWidth - FPostCaptureLabel.Width;

  FSecPerDivSelector.Top    := TopStart;
  FPositionSelector.Top     := FSecPerDivSelector.Top  + FSecPerDivSelector.Height  + 2;
  FPreCaptureSelector.Top   := FPositionSelector.Top   + FPositionSelector.Height   + 2;
  FPostCaptureSelector.Top  := FPreCaptureSelector.Top + FPreCaptureSelector.Height + 2;

  FSecPerDivSelector.Left   := LeftStart + MaxLabelWidth +5;
  FPositionSelector.Left    := FSecPerDivSelector.Left;
  FPreCaptureSelector.Left  := FSecPerDivSelector.Left;
  FPostCaptureSelector.Left := FSecPerDivSelector.Left;

  iAlignVCenterControl(FSecPerDivSelector,   FSecPerDivLabel);
  iAlignVCenterControl(FPositionSelector,    FPositionLabel);
  iAlignVCenterControl(FPreCaptureSelector,  FPreCaptureLabel);
  iAlignVCenterControl(FPostCaptureSelector, FPostCaptureLabel);

  FRequiredHeight := FPostCaptureSelector.Top + FPostCaptureSelector.Height + 10;
end;
//****************************************************************************************************************************************************
procedure TiScopePanelTimeBase.RemoveRawSamples(Value: Integer);
var
  ScopeChannel      : TiScopeChannel;
  ChannelIndex      : Integer;
begin
  for ChannelIndex := 0 to TiScopeAccess(FScope as TiScope).PanelChannels.Count-1 do
    begin
      ScopeChannel := TiScopeAccess(FScope as TiScope).PanelChannels.ScopeChannel[ChannelIndex];
      TiScopeChannelAccess(ScopeChannel).RawData.DeletePoints(Value);
    end;
end;
//****************************************************************************************************************************************************
procedure TiScopePanelTimeBase.DataBlockUpdate;
var
  TriggerChannel    : TiScopeChannel;
  ScopeChannel      : TiScopeChannel;
  ChannelIndex      : Integer;
  TriggerIndex      : Integer;
  DataIndex         : Integer;
  TriggerStartIndex : Integer;
  TriggerStopIndex  : Integer;
  NeededSamples     : Integer;

  StartIndex        : Integer;
  StopIndex         : Integer;
  TimeIndex         : Integer;
  AutoTrigger       : Boolean;
  TriggerFound      : Boolean;
  RawData           : TiPlotDataScopeList;
  XData             : Double;
  YData             : Double;
begin
  TiScopeAccess(FScope as TiScope).Plot.BeginUpdate;

  UpdateAll;

  TriggerChannel := TiScopeAccess(FScope as TiScope).PanelChannels.ScopeChannel[TiScopeAccess(FScope as TiScope).PanelTrigger.SourceIndex];
  RawData        := TiScopeChannelAccess(TriggerChannel).RawData;

  NeededSamples := FSweepSamples;

  AutoTrigger   := TiScopeAccess(FScope as TiScope).PanelTrigger.Auto;

  if FSamplesPerFrame = 0 then
    begin
      TiScopeAccess(FScope as TiScope).Plot.ClearAllData;
      RemoveRawSamples(RawData.Count);
      Exit;
    end;

  while RawData.Count > NeededSamples do
    begin
      TriggerFound := False;
      if AutoTrigger then                    
        begin
          TriggerStartIndex := FPreSamples;
          TriggerStopIndex  := RawData.Count - (FSamplesPerFrame + FPostSamples);

          RawData.UpdateLevel(TriggerStartIndex, TriggerStopIndex);
          TriggerFound := TiScopeAccess(FScope as TiScope).PanelTrigger.CheckForTrigger(RawData, TriggerStartIndex, TriggerStopIndex, TriggerIndex);
        end
      else if FNeedsManualTrigger then
        begin
          TriggerIndex := RawData.Count - (FSamplesPerFrame + FPostSamples);
          TriggerFound := True;
          FNeedsManualTrigger := False;
        end
      else
        begin
          if (RawData.Count > 3*NeededSamples) then
            RemoveRawSamples(RawData.Count - 2*NeededSamples)
          else
            Break;
        end;

      if TriggerFound then
        begin
          TiScopeAccess(FScope as TiScope).Plot.ClearAllData;

          StartIndex := TriggerIndex - FPreSamples;
          StopIndex  := TriggerIndex + FSamplesPerFrame -1 + FPostSamples;

          for ChannelIndex := 0 to TiScopeAccess(FScope as TiScope).PanelChannels.Count-1 do
            begin
              ScopeChannel := TiScopeAccess(FScope as TiScope).PanelChannels.ScopeChannel[ChannelIndex];

              for DataIndex := StartIndex to StopIndex do
                begin
                  TimeIndex := DataIndex - StartIndex - FPreSamples;
                  XData     := TimeIndex*FSampleInterval;
                  YData     := TiScopeChannelAccess(ScopeChannel).GetYDisplay(DataIndex);
                  TiPlotChannelCustomAccess(TiScopeChannelAccess(ScopeChannel).Channel).DataList.Add(XData, YData);
                end;
            end;

          FLastTransferTime := Now;

          RemoveRawSamples(StopIndex);
        end
      else
        begin
          if (RawData.Count > 2*NeededSamples) then
            RemoveRawSamples(RawData.Count - NeededSamples)
          else
            Break;
        end;
    end;
  TiScopeAccess(FScope as TiScope).Plot.EndUpdate;
end;
//****************************************************************************************************************************************************
procedure TiScopePanelTimeBase.Paint;
var
  DrawRect : TRect;
begin
  inherited;
  with Canvas do
    begin
      Brush.Color := clBtnFace;
      Brush.Style := bsSolid;
      DrawRect := Rect(0, 0, Width, Height);
      FillRect(DrawRect);
      iDrawEdge(Canvas, DrawRect, idesRaised);
    end;
end;
//****************************************************************************************************************************************************
procedure TiScopePanelTimeBase.SecondsPerDivisionSelectorChange(Sender: TObject);
begin                                          
  if not Assigned(FScope) then Exit;
                                                                    
  TiScopeAccess(FScope as TiScope).Plot.ClearAllData;
  FDisplayAnnotation.Text := FSecPerDivSelector.Text;
end;
//****************************************************************************************************************************************************
procedure TiScopePanelTimeBase.PositionSelectorChangeEvent(Sender: TObject);
begin
  if FEventActive then Exit;
  FEventActive := True;
  try
    if Assigned(FScrollAnnotation) then FScrollAnnotation.X := -FPositionSelector.Value/100 + 0.5;
  finally
    FEventActive := False;
  end;
end;
//****************************************************************************************************************************************************
procedure TiScopePanelTimeBase.SetSamplesPerSecond    (const Value:Integer    );begin if FSamplesPerSecond    <>Value then FSamplesPerSecond    := Value;end;
procedure TiScopePanelTimeBase.SetMaxContinuousSamples(const Value:Integer    );begin if FMaxContinuousSamples<>Value then FMaxContinuousSamples:= Value;end;
//****************************************************************************************************************************************************
procedure TiScopePanelTimeBase.SetXAxis            (const Value:TiPlotXAxis);     begin FXAxis             := Value;end;
procedure TiScopePanelTimeBase.SetScrollAnnotation (const Value:TiPlotAnnotation);begin FScrollAnnotation  := Value;end;
procedure TiScopePanelTimeBase.SetDisplayAnnotation(const Value:TiPlotAnnotation);begin FDisplayAnnotation := Value; FDisplayAnnotation.Text := FSecPerDivSelector.Text end;
//****************************************************************************************************************************************************
procedure TiScopePanelTimeBase.SetSecPerDiv  (const Value:Double);begin FSecPerDivSelector.Value   := Value;end;
procedure TiScopePanelTimeBase.SetPreCapture (const Value:Double);begin FPreCaptureSelector.Value  := Value;end;
procedure TiScopePanelTimeBase.SetPostCapture(const Value:Double);begin FPostCaptureSelector.Value := Value;end;
//****************************************************************************************************************************************************
function TiScopePanelTimeBase.GetPosition   : Double;begin Result := FPositionSelector.Value;   end;
function TiScopePanelTimeBase.GetSecPerDiv  : Double;begin Result := FSecPerDivSelector.Value;  end;
function TiScopePanelTimeBase.GetPostCapture: Double;begin Result := FPostCaptureSelector.Value;end;
function TiScopePanelTimeBase.GetPreCapture : Double;begin Result := FPreCaptureSelector.Value; end;
//****************************************************************************************************************************************************
procedure TiScopePanelTimeBase.SetPosition(const Value:Double);
begin
  if FPositionSelector.Value <> Value then
    begin
      FPositionSelector.Value := Value;
    end;
end;
//****************************************************************************************************************************************************
procedure TiScopePanelTimeBase.UpdateAll;
begin
  FFrameTime       := 10 * FSecPerDivSelector.Value;
  FSamplesPerFrame := Round(FSamplesPerSecond * FFrameTime) +1;
  FPreSamples      := Round(FSamplesPerFrame/10 * FPreCaptureSelector.Value);
  FPostSamples     := Round(FSamplesPerFrame/10 * FPostCaptureSelector.Value);
  FSweepSamples    := FPreSamples + FSamplesPerFrame + FPostSamples;

  if not Assigned(FXAxis) then Exit;
  XAxis.Span := FFrameTime;
  XAxis.Min  := (XAxis.Span * FPositionSelector.Value)/100;

  if FSamplesPerSecond = 0 then Exit;
  FSampleInterval  := 1/FSamplesPerSecond;
end;
//****************************************************************************************************************************************************
procedure TiScopePanelTimeBase.ScrollEvent;
var
  NewPosition : Double;
begin
  if FEventActive then Exit;
  FEventActive := True;
  try
    NewPosition := -(FScrollAnnotation.X -0.5)*100;
    if NewPosition >= 0 then
      NewPosition := Trunc(NewPosition*10  + 0.0001)/10
    else
      NewPosition := Trunc(NewPosition*10)/10;
    Position := NewPosition;
  finally
    FEventActive := False;
  end;
end;
//****************************************************************************************************************************************************
procedure TiScopePanelTimeBase.DoManualTrigger(Sender: Tobject);
begin
  FNeedsManualTrigger := True;
  TiScopeAccess(FScope as TiScope).Plot.ClearAllData;
  DataBlockUpdate;
end;
//****************************************************************************************************************************************************
end.


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲美女区一区| 日韩天堂在线观看| 成人欧美一区二区三区黑人麻豆| 国产一区二区三区蝌蚪| 欧美精品一区二区三区高清aⅴ| 久久国产日韩欧美精品| 精品国产凹凸成av人网站| 经典三级在线一区| 中文字幕一区二区在线播放| www.亚洲在线| 亚洲国产精品一区二区www在线| 欧美日韩国产不卡| 蜜芽一区二区三区| 国产日韩精品一区| 在线观看国产91| 日本午夜精品一区二区三区电影| 日韩欧美国产电影| 成人免费av在线| 亚洲最快最全在线视频| 777a∨成人精品桃花网| 韩国视频一区二区| 亚洲女与黑人做爰| 日韩一级黄色片| 成人在线综合网| 亚洲妇女屁股眼交7| 精品女同一区二区| 在线亚洲欧美专区二区| 热久久国产精品| 国产精品国产精品国产专区不蜜| 欧美极品美女视频| 99热国产精品| 麻豆精品视频在线观看免费| 国产精品水嫩水嫩| 欧美一区二区不卡视频| 岛国精品在线观看| 秋霞国产午夜精品免费视频| 中文字幕亚洲区| 日韩一区二区中文字幕| 9色porny自拍视频一区二区| 日韩成人精品视频| 亚洲美女免费视频| 久久久不卡网国产精品一区| 在线观看成人免费视频| 国产高清久久久久| 日韩成人一级片| 亚洲欧美日韩国产另类专区| 日韩视频永久免费| 欧美午夜一区二区三区| 粉嫩aⅴ一区二区三区四区| 三级亚洲高清视频| 一区二区三区鲁丝不卡| 久久综合狠狠综合久久激情| 精品视频免费在线| 一本大道久久a久久精二百| 国产综合色精品一区二区三区| 亚洲国产精品久久一线不卡| 国产精品久久久久久久久免费相片| 日韩女优av电影在线观看| 色综合久久久久综合| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 亚洲一区二区综合| 中文幕一区二区三区久久蜜桃| 欧美一区2区视频在线观看| 色婷婷综合久久久中文一区二区| 国产超碰在线一区| 国模无码大尺度一区二区三区| 亚洲成人黄色小说| 亚洲在线免费播放| 亚洲精品高清在线| 国产精品久久久久久久久图文区| 久久久青草青青国产亚洲免观| 欧美一区二区三区婷婷月色| 欧美制服丝袜第一页| 97久久超碰国产精品| 粉嫩高潮美女一区二区三区| 国产在线国偷精品产拍免费yy | 日韩一区二区三区四区| 日日夜夜免费精品| 欧美在线视频全部完| 国产老妇另类xxxxx| 国产精品理伦片| 色偷偷久久一区二区三区| 国产精品伦一区二区三级视频| 欧美日韩国产综合久久| 国产精品成人免费在线| 欧美日韩一区二区三区视频| 日韩国产欧美视频| 亚洲已满18点击进入久久| 成人一级片在线观看| 国产精品一区二区三区乱码| 国产麻豆9l精品三级站| 国产91丝袜在线18| 99久久婷婷国产| 在线观看亚洲专区| 欧美精选午夜久久久乱码6080| 欧美三级电影在线观看| 欧美男男青年gay1069videost| 欧美精品一级二级三级| 8x福利精品第一导航| 欧美电影免费观看完整版| 久久综合久久综合久久| 国产精品网站在线播放| 一区二区三区中文在线| 91免费观看视频| 日韩极品在线观看| 欧美日韩一区在线| 精品理论电影在线观看| 欧美精品一区二区三区在线| 欧美极品aⅴ影院| 亚洲精品国产无天堂网2021| 亚洲大片精品永久免费| 久久精品国产精品亚洲红杏| 国产麻豆成人精品| 色爱区综合激月婷婷| 欧美日韩国产综合视频在线观看| 26uuu亚洲综合色| 中文字幕一区二区三区不卡| 午夜精品福利一区二区三区av| 国产一区二区三区四区五区美女| www.99精品| 欧美肥胖老妇做爰| 国产精品亲子乱子伦xxxx裸| 亚洲图片欧美色图| 国产精品99久久久久久久女警| 色狠狠一区二区| 久久综合久久久久88| 亚洲一区二区三区在线看| 黄色日韩三级电影| 欧美日韩国产综合一区二区| www日韩大片| 亚洲国产中文字幕在线视频综合 | 国产精品久久二区二区| 亚洲综合色噜噜狠狠| 加勒比av一区二区| 欧美午夜精品理论片a级按摩| 精品国产乱码久久久久久1区2区| 亚洲人123区| 国产精品99精品久久免费| 欧美日韩一区国产| 亚洲欧洲www| 国产真实乱偷精品视频免| 日本二三区不卡| 中文字幕不卡三区| 久久国产综合精品| 4438x成人网最大色成网站| 国产精品网站在线观看| 激情小说亚洲一区| 日韩三级在线观看| 五月天亚洲婷婷| 日本国产一区二区| 亚洲欧美一区二区三区久本道91| 国产一区二区三区香蕉| 日韩一级大片在线观看| 午夜激情久久久| 欧美亚洲免费在线一区| 国产精品国产成人国产三级 | 日韩中文字幕麻豆| 在线观看视频91| 亚洲欧美精品午睡沙发| 国产精品77777竹菊影视小说| 日韩欧美中文一区二区| 亚洲风情在线资源站| 色婷婷综合久久久久中文| 中文字幕精品一区| 成人免费视频一区| 国产欧美日本一区视频| 国产精品一区二区在线播放 | 成人99免费视频| 中文字幕国产一区| 不卡一二三区首页| 国产精品国产三级国产| 成人一区二区三区| 中文字幕一区二区三区视频| 成人av资源下载| 亚洲色大成网站www久久九九| 成人夜色视频网站在线观看| 久久久精品影视| 成人av电影免费在线播放| 国产精品久久毛片| 一本色道久久综合亚洲精品按摩| 亚洲欧洲中文日韩久久av乱码| 成人av动漫网站| 亚洲综合一区二区| 欧美日韩一级二级三级| 视频在线在亚洲| 精品久久久久av影院| 国产一区二区久久| 国产精品麻豆一区二区| 94-欧美-setu| 日韩高清一区在线| 精品国产乱子伦一区| 国产福利不卡视频| 综合av第一页| 欧美日韩中文字幕精品| 美女看a上一区| 欧美国产日韩亚洲一区| 92国产精品观看| 免费欧美在线视频| 国产欧美一二三区| 欧美性受xxxx|