Delphi:将文件加载到TStringGrid中

max*_*fax 0 delphi logging tstringgrid

有一个程序可以创建一个日志文件.

这是它创建的日志文件的示例:

在此输入图像描述

此程序将此日志文件加载到TStringGrid中.日志文件以制表符分隔.单元格可以具有空格"".

我如何使用TStringGrid或替代方案将此类日志文件加载到此程序中?

谢谢!

Rob*_*edy 7

此过程将日志加载到字符串列表中.对于日志中的每一行,它分配网格控件中相应行的CommaText属性.该属性会自动在字符串中拆分逗号和空格分隔的标记.如果您有更新的Delphi版本,则可以使用DelimitedText属性,如果日志可能包含未加引号的逗号,则更合适.

procedure LoadLogFile(const FileName: TFileName; Grid: TStringGrid);
var
  LogFile: TStrings;
  i: Integer;
begin
  LogFile := TStringList.Create;
  try
    LogFile.LoadFromFile(FileName);
    Grid.RowCount := LogFile.Count;
    for i := 0 to Pred(LogFile.Count) do
      Grid.Rows[i].CommaText := LogFile[i];
  finally
    LogFile.Free;
  end;
end;
Run Code Online (Sandbox Code Playgroud)

  • @maxfax,如果该图片是文本编辑器的图片,则您的文本列可以是制表符分隔或固定宽度.如果它们是制表符分隔符,请执行`Grid.Rows [i] .Delimiter:=#9`后跟`Gird.Rows [i] .StrictDelimiter:= True`然后使用`Grid.Rows [i] .DelimitedText` ,而不是`Grid.Rows [i] .CommaText`.这假设`Grid.Rows [i]`实际上是`TStrings`,我没有检查. (2认同)