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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? teengine.pas

?? complete source code for teechart 7
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
{********************************************}
{  TeeChart Pro Charting Library             }
{  For Borland Delphi, C++ Builder & Kylix   }
{  Copyright (c) 1995-2004 by David Berneda  }
{  All Rights Reserved                       }
{********************************************}
unit TeEngine;
{$I TeeDefs.inc}

interface

uses {$IFNDEF LINUX}
     Windows,
     {$ENDIF}
     SysUtils, Classes, Messages,
     {$IFDEF CLX}
     QGraphics, QControls, QDialogs, Types,
     {$ELSE}
     Graphics, Controls,
     {$ENDIF}

     {$IFDEF TEETRIAL}
     TeeAbout,
     {$ENDIF}

     {$IFDEF CLR}
     System.ComponentModel,
     {$ENDIF}

     TeeProcs, TeCanvas;

Const ChartMarkColor   = clInfoBk (* $80FFFF *);  { default Series Mark back color }
      MinAxisIncrement :Double = 0.000000000001;  { <-- "double" for BCB }
      MinAxisRange     :Double = 0.0000000001;    { <-- "double" for BCB }
      TeeAllValues     = -1;

      {$IFDEF D6}
      clTeeColor       =TColor(clDefault);
      {$ELSE}
      clTeeColor       =TColor($20000000);
      {$ENDIF}

      ChartSamplesMax   = 1000;
      TeeAutoZOrder     = -1;
      TeeAutoDepth      = -1;
      TeeNoPointClicked = -1;
      TeeDef3DPercent   = 15;

      TeeColumnSeparator: {$IFDEF CLR}Char{$ELSE}AnsiChar{$ENDIF} = #6;  // To separate columns in Legend
      TeeLineSeparator  : {$IFDEF CLR}Char{$ELSE}AnsiChar{$ENDIF} = #13; // To separate lines of text

      // Index of first custom axis (0 to 5 are pre-created axes: Left,Top,
      // Right,Bottom,Depth and DepthTop.
      TeeInitialCustomAxis = 6;

var   TeeCheckMarkArrowColor : Boolean=False; // when True, the Marks arrow pen
                                              // color is changed if the point has
                                              // the same color.

      TeeRandomAtRunTime     : Boolean=False; // adds random values at run-time too

      clTeeGallery1:Integer = 0; // index of ColorPalette[] global variable
      clTeeGallery2:Integer = 3; // index of ColorPalette[] global variable

type
  TCustomAxisPanel=class;

  {$IFDEF CLR}
  [ToolBoxItem(False)]
  {$ENDIF}
  TCustomChartElement=class(TComponent)
  private
    FActive : Boolean;
    FBrush  : TChartBrush;
    FParent : TCustomAxisPanel;
    FPen    : TChartPen;
  protected
    InternalUse : Boolean;  // 7.0

    Procedure CanvasChanged(Sender:TObject); virtual;
    Function CreateChartPen:TChartPen;
    class Function GetEditorClass:String; virtual;
    Procedure SetActive(Value:Boolean); virtual;
    Procedure SetBooleanProperty(Var Variable:Boolean; Value:Boolean);
    procedure SetBrush(const Value: TChartBrush);
    Procedure SetColorProperty(Var Variable:TColor; Value:TColor);
    Procedure SetDoubleProperty(Var Variable:Double; Const Value:Double);
    Procedure SetIntegerProperty(Var Variable:Integer; Value:Integer);
    Procedure SetParentChart(Const Value:TCustomAxisPanel); virtual;
    {$IFNDEF CLR}
    procedure SetParentComponent(AParent: TComponent); override;
    {$ENDIF}
    procedure SetPen(const Value: TChartPen); virtual;
    Procedure SetStringProperty(Var Variable:String; Const Value:String);
  public
    Constructor Create(AOwner: TComponent); override;
    Destructor Destroy; override;

    procedure Assign(Source:TPersistent); override;
    Function GetParentComponent: TComponent; override;
    Function HasParent:Boolean; override;
    {$IFDEF CLR}
    procedure SetParentComponent(AParent: TComponent); override;
    {$ENDIF}
    Procedure Repaint;

    property Active:Boolean read FActive write SetActive default True;
    property Brush:TChartBrush read FBrush write SetBrush;
    property ParentChart:TCustomAxisPanel read FParent write SetParentChart stored False;
    property Pen:TChartPen read FPen write SetPen;

    // Alias for Active property.
    property Visible:Boolean read FActive write SetActive default True;
  end;

  TCustomChartSeries=class;

  TChartSeries=class;

  {$IFDEF TEEVALUESINGLE}
  TChartValue=Single;
  {$ELSE}
  {$IFDEF TEEVALUEDOUBLE}
  TChartValue=Double;
  {$ELSE}
  {$IFDEF TEEVALUEEXTENDED}
  TChartValue=Extended;
  {$ELSE}
  TChartValue=Double;  { <-- default }
  {$ENDIF}
  {$ENDIF}
  {$ENDIF}

  {$IFDEF TEEARRAY}
  TChartValues=Array of TChartValue;
  {$ELSE}
  PChartValue=^TChartValue;
  {$ENDIF}

  TChartListOrder=(loNone,loAscending,loDescending);

  // CLR: cannot be sealed due to cast tricks
  TChartValueList=class(TPersistent)
  private
    FDateTime    : Boolean;
    {$IFNDEF TEEARRAY}
    FList        : TList;
    {$ENDIF}
    FMaxValue    : TChartValue;
    FMinValue    : TChartValue;
    {$IFDEF TEEMULTIPLIER}
    FMultiplier  : Double;  { obsolete }
    {$ENDIF}
    FName        : String;
    FOrder       : TChartListOrder;
    FOwner       : TChartSeries;
    FTempValue   : TChartValue;
    FTotal       : Double;
    FTotalABS    : Double;
    FValueSource : String;

    { internal }
    IDefDateTime : Boolean;

    {$IFOPT C+}
    FCount       : Integer;
    function GetCount:Integer;
    procedure SetCount(const Value:Integer);
    {$ENDIF}

    Function CompareValueIndex(a,b:Integer):Integer;
    Function GetMaxValue:TChartValue;
    Function GetMinValue:TChartValue;
    Function GetTotal:Double;
    Function GetTotalABS:Double;
    function IsDateStored: Boolean;
    procedure SetDateTime(Const Value:Boolean);
    {$IFDEF TEEMULTIPLIER}
    Function IsMultiStored:Boolean;
    Procedure SetMultiplier(Const Value:Double); { obsolete }
    {$ELSE}
    procedure ReadMultiplier(Reader: TReader);
    {$ENDIF}
    Procedure SetValueSource(Const Value:String);
  protected
    IData       : TObject;

    Function AddChartValue:Integer; overload;
    Function AddChartValue(Const AValue:TChartValue):Integer; overload; virtual;
    Procedure ClearValues; virtual;

    {$IFNDEF TEEMULTIPLIER}
    procedure DefineProperties(Filer: TFiler); override;
    {$ENDIF}

    Function GetValue(ValueIndex:Integer):TChartValue;
    Procedure InitDateTime(Value:Boolean);
    Procedure InsertChartValue(ValueIndex:Integer; Const AValue:TChartValue); virtual;
    Procedure RecalcStats; overload;
    procedure RecalcStats(StartIndex:Integer); overload;
    Procedure SetValue(ValueIndex:Integer; Const AValue:TChartValue);
  public
    {$IFDEF TEEARRAY}
    Value    : TChartValues;

    {$IFOPT C-}  // When not using runtime assertions
    Count    : Integer;
    {$ENDIF}

    {$ENDIF}

    Modified : Boolean;

    Constructor Create(AOwner:TChartSeries; Const AName:String); virtual;
    Destructor Destroy; override;

    Procedure Assign(Source:TPersistent); override;

    {$IFNDEF TEEARRAY}
    Function Count:Integer; virtual;
    {$ELSE}
    {$IFOPT C+}
    property Count:Integer read GetCount write SetCount;
    {$ENDIF}
    {$ENDIF}

    Procedure Delete(ValueIndex:Integer); overload; virtual;
    Procedure Delete(Start,Quantity:Integer); overload;
    {$IFDEF TEEARRAY}
    Procedure Exchange(Index1,Index2:Integer);
    {$ENDIF}
    Procedure FillSequence;
    Function First:TChartValue;
    Function Last:TChartValue;
    Function Locate(Const AValue:TChartValue):Integer; overload;
    Function Locate(Const AValue:TChartValue; FirstIndex,LastIndex:Integer):Integer; overload;  // 7.0
    Function Range:TChartValue;
    Procedure Scroll; dynamic;
    Procedure Sort;

    property MaxValue:TChartValue read GetMaxValue;
    property MinValue:TChartValue read GetMinValue;
    property Owner:TChartSeries read FOwner;
    property TempValue:TChartValue read FTempValue write FTempValue;
    Function ToString(Index:Integer):String; {$IFDEF CLR}reintroduce;{$ENDIF}
    property Total:Double read GetTotal;
    property TotalABS:Double read GetTotalABS write FTotalABS;
    {$IFDEF TEEARRAY}
    property Items[Index:Integer]:TChartValue read GetValue write SetValue; default;
    {$ELSE}
    property Value[Index:Integer]:TChartValue read GetValue write SetValue; default;
    {$ENDIF}
  published
    property DateTime:Boolean read FDateTime write SetDateTime stored IsDateStored;
    property Name:String read FName write FName;
    {$IFDEF TEEMULTIPLIER}
    property Multiplier:Double read FMultiplier write SetMultiplier stored IsMultiStored; { obsolete }
    {$ENDIF}
    property Order:TChartListOrder read FOrder write FOrder;
    property ValueSource:String read FValueSource write SetValueSource;
  end;

  TChartAxisTitle=class {$IFDEF CLR}sealed{$ENDIF} (TTeeCustomShape)
  private
    FAngle        : Integer;
    FCaption      : String;

    IDefaultAngle : Integer;
    Function IsAngleStored:Boolean;
    Procedure SetAngle(const Value:Integer);
    Procedure SetCaption(Const Value:String);
  public
    Procedure Assign(Source:TPersistent); override;
  published
    property Angle:Integer read FAngle write SetAngle stored IsAngleStored;
    property Caption:String read FCaption write SetCaption;
    property Font;
    property Visible default True;
  end;

  AxisException=class {$IFDEF CLR}sealed{$ENDIF} (Exception);

  TAxisLabelStyle=(talAuto,talNone,talValue,talMark,talText);
  TAxisLabelAlign=(alDefault,alOpposite);

  TAxisCalcPos=function(const Value:TChartValue):Integer of object;

  TCustomSeriesList=class;

  TAxisGridPen=class {$IFDEF CLR}sealed{$ENDIF} (TDottedGrayPen)
  private
    FZ : Double;
    IDefaultZ : Double;
    FCentered: Boolean;
    function IsZStored:Boolean;
    procedure SetZ(const Value:Double);
    procedure SetCentered(const Value: Boolean);
  public
    // (pending to move Centered to "published" after removing Axis.GridCentered)
    property Centered:Boolean read FCentered write SetCentered default False;
  published
    property ZPosition:Double read FZ write SetZ stored IsZStored;
  end;

  TAxisTicks=Array of Integer;

//  TAxisTickValues=TChartValues;

  TChartAxis=class;

  TAxisItems=class;

  TAxisItem=class {$IFDEF CLR}sealed{$ENDIF} (TTeeCustomShape)
  private
    FValue : Double;
    FText  : String;

    IAxisItems : TAxisItems;
    procedure SetText(const Value: String);
    procedure SetValue(const Value: Double);
  public
    procedure Repaint;
  published
    property Bevel;
    property BevelWidth;
    property Color;
    property Font;
    property Gradient;
    property Shadow;
    property ShapeStyle;
    property Text:String read FText write SetText;
    property Transparency;
    property Transparent default True;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品久久艾草纯爱| 久久噜噜亚洲综合| 精品亚洲成a人在线观看| 久久久蜜桃精品| 欧美专区在线观看一区| 美国欧美日韩国产在线播放| 国产精品成人一区二区三区夜夜夜| 欧美三级三级三级| 成人免费毛片a| 久久99精品久久只有精品| 综合av第一页| 国产亚洲综合性久久久影院| 欧美绝品在线观看成人午夜影视| 国产成人av一区二区| 日韩综合在线视频| 亚洲欧美日韩电影| 中文字幕 久热精品 视频在线| 91精品婷婷国产综合久久竹菊| 91免费国产在线| 高清不卡在线观看| 久久成人综合网| 亚洲成人7777| 亚洲精品国产成人久久av盗摄| 中文字幕av不卡| 国产日韩欧美a| xf在线a精品一区二区视频网站| 欧美剧情片在线观看| 欧亚一区二区三区| 一本色道**综合亚洲精品蜜桃冫| 国产福利91精品一区二区三区| 麻豆国产精品官网| 日韩成人午夜精品| 日日夜夜一区二区| 午夜精品影院在线观看| 亚洲成人中文在线| 亚洲一区在线观看免费观看电影高清| 亚洲视频一二三区| 亚洲欧美一区二区在线观看| 国产午夜精品福利| 久久久久久久久久久久久女国产乱 | 久久久精品国产免费观看同学| 欧美日韩一区二区电影| 欧美主播一区二区三区美女| 在线日韩av片| 欧美视频三区在线播放| 欧美午夜不卡在线观看免费| 欧美影院精品一区| 精品视频1区2区| 91麻豆精品国产自产在线观看一区| 欧美久久久久久久久| 在线播放国产精品二区一二区四区 | 狠狠色狠狠色综合系列| 国内外成人在线| 国产精品69毛片高清亚洲| 国产高清成人在线| 成人福利视频在线看| 97久久人人超碰| 在线观看www91| 在线电影院国产精品| 日韩一卡二卡三卡国产欧美| 久久综合久久鬼色中文字| 久久久99精品久久| 国产精品乱码人人做人人爱| 国产精品成人免费| 亚洲第一av色| 久久99精品久久久久久久久久久久| 国产九色sp调教91| 成人性色生活片| 色综合网站在线| 91精品国产乱码| 日本一区二区视频在线| 亚洲激情自拍视频| 强制捆绑调教一区二区| 国产成人av一区二区三区在线观看| 91在线精品一区二区| 欧美电影在哪看比较好| 久久久国产精品麻豆| 亚洲欧美在线视频观看| 无吗不卡中文字幕| 高清不卡一区二区在线| 欧美日韩在线亚洲一区蜜芽| 精品少妇一区二区三区在线播放 | 3d成人h动漫网站入口| 久久综合九色综合欧美98| 亚洲欧洲成人自拍| 国产传媒日韩欧美成人| 在线观看亚洲一区| 久久夜色精品国产噜噜av| 亚洲色图在线看| 久99久精品视频免费观看| 91丨九色丨蝌蚪富婆spa| 日韩欧美你懂的| 亚洲精选免费视频| 国产剧情一区二区| 51午夜精品国产| 亚洲日本电影在线| 精品亚洲免费视频| 欧美精品乱人伦久久久久久| 国产精品色眯眯| 精品一区二区三区在线观看国产| 色婷婷av一区二区| 国产午夜一区二区三区| 日韩高清在线一区| 色婷婷精品大视频在线蜜桃视频| 精品国产乱码久久久久久蜜臀| 亚洲伊人伊色伊影伊综合网| 成人性生交大合| 久久麻豆一区二区| 精品系列免费在线观看| 欧美午夜寂寞影院| 亚洲欧美日韩在线不卡| 国产裸体歌舞团一区二区| 欧美丰满嫩嫩电影| 亚洲精品五月天| 成人黄色免费短视频| 久久综合久久综合亚洲| 日本中文一区二区三区| 欧美日韩一区高清| 最新久久zyz资源站| 国产精品综合一区二区三区| 欧美一级精品在线| 午夜影院久久久| 在线看国产一区二区| 国产精品成人免费在线| caoporen国产精品视频| 久久精品视频在线免费观看 | 欧日韩精品视频| 中文字幕一区二区三区四区| 国产大陆亚洲精品国产| 国产亚洲成av人在线观看导航| 日本不卡一区二区三区| 欧美色国产精品| 亚洲国产成人va在线观看天堂| 色噜噜狠狠一区二区三区果冻| 国产精品第一页第二页第三页| 成人av一区二区三区| 国产精品免费aⅴ片在线观看| 国产精品99久久久久久似苏梦涵| 欧美精品一区二| 久久se精品一区二区| 精品毛片乱码1区2区3区| 免费欧美在线视频| 精品日韩一区二区三区| 久久精品av麻豆的观看方式| 精品国产伦一区二区三区免费| 久久精品国内一区二区三区| 欧美成人伊人久久综合网| 精品一区二区在线视频| 国产亚洲精久久久久久| 成人小视频在线| 一区二区三区在线免费观看| 欧美午夜片在线看| 青青青爽久久午夜综合久久午夜| 欧美一区二区三区男人的天堂| 免费在线观看视频一区| 欧美精品一区二区久久婷婷| 国产盗摄一区二区| 亚洲精品免费看| 欧美日韩大陆一区二区| 免费精品99久久国产综合精品| 精品国产乱码久久久久久1区2区| 国产高清不卡一区二区| 亚洲精品国产一区二区精华液 | 99国产精品一区| 亚洲成年人网站在线观看| 日韩三区在线观看| 国产成人av一区二区| 一区二区三区国产精品| 91精品国产色综合久久ai换脸| 国产在线精品国自产拍免费| 国产精品丝袜久久久久久app| 一本到高清视频免费精品| 午夜国产精品影院在线观看| 日韩免费看的电影| 99这里只有久久精品视频| 亚洲大片一区二区三区| 久久免费电影网| 欧美午夜精品一区| 美女精品自拍一二三四| 中文字幕一区二区三区在线播放| 在线电影国产精品| 成人18视频在线播放| 秋霞电影网一区二区| 欧美激情一区二区三区在线| 精品视频1区2区| 暴力调教一区二区三区| 肉肉av福利一精品导航| 国产精品视频你懂的| 91精品国产aⅴ一区二区| 成人三级伦理片| 污片在线观看一区二区| 国产精品成人免费在线| 日韩欧美视频一区| 欧美日韩一区二区不卡| 成人av资源站| 麻豆精品在线观看| 亚洲影视在线观看| 国产精品欧美久久久久无广告 | 日本久久一区二区| 国产精品资源在线|