You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在运行时点击TButton触发TCustomTeeFunction生成正弦图表

运行时点击TButton生成正弦图表实现方案

以下为Delphi VCL/FMX环境下的实操步骤:

  • 首先在单元uses段引入必要依赖:
    VCL环境引用:VCLTee.TeeFuncs、VCLTee.Series、VCLTee.Chart
    FMX环境引用:FMXTee.TeeFuncs、FMXTee.Series、FMXTee.Chart
  • 编写TButton的OnClick事件处理逻辑:
procedure TForm1.Button1Click(Sender: TObject);
var
  SinFunc: TSinFunction; // TSinFunction继承自TCustomTeeFunction
  TargetSeries: TLineSeries;
begin
  // 清空历史内容,避免重复生成
  Chart1.RemoveAllSeries;
  Chart1.Functions.Clear;

  // 创建正弦函数实例,配置参数
  SinFunc := TSinFunction.Create(Self);
  SinFunc.Amplitude := 2; // 自定义振幅
  SinFunc.Period := 360; // 自定义周期
  SinFunc.NumPoints := 200; // 自定义采样点数,数值越大曲线越平滑

  // 创建展示用序列,绑定TCustomTeeFunction实例
  TargetSeries := TLineSeries.Create(Self);
  TargetSeries.FunctionType := SinFunc;
  // 内置正弦函数无需外部数据源,会自动根据参数计算数值
  TargetSeries.DataSource := nil;
  // 主动触发计算生成所有坐标点
  SinFunc.PerformCalc;

  // 将序列加入Chart完成绘制
  Chart1.AddSeries(TargetSeries);
  TargetSeries.Active := True;
end;

若需要自定义正弦计算逻辑,可直接继承TCustomTeeFunction重写Calculate方法实现自定义规则,再按照上述逻辑绑定到序列即可。
注意:创建的函数和序列实例会随窗体释放自动析构,无需手动释放,避免重复创建导致内存占用过高。

内容的提问来源于stack exchange,提问作者Jroc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 21:27:00