Delphi 编译器期望 [ 在 TStringsGrid cols(TStrings) 的调用索引上 属性

Delphi Compiler expect [ on index of call of TStringsGrid cols(TStrings) property

亲爱的堆栈溢出社区

刚开始学习delphi。我试图通过显示名称获取 TString 网格中列的索引。为此,我尝试在网格的 cols 属性 上调用 indexof 方法,但编译器给出了这个

[dcc32 Fehler] Unit2.pas(30): E2029 '[' erwartet, aber '.' gefunden 

因为他只允许索引调用,但这会完全打败 Indexof 的意义,因为索引可能每次都不同或将来可能会发生变化。如果有人能指出我哪里出错了,那就太好了。提前致谢

这里是完整代码

unit Unit2;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Grids;

type
  TForm2 = class(TForm)
    StringGrid1: TStringGrid;
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
    StringGrid1.Cols.IndexOf('Test');
end;

end.

如果您想查找带有 header 文本 'Test' 的列的索引,您可以使用 Rows[0].IndexOf('Test') 来实现,假设 header 已存储在第 0 行。