When creating a 2D array, how does one remember whether rows or columns are specified first?
In TStringGrid cells property Col come first.
Property Cells[ACol, ARow: Integer]: string read GetCells write SetCells;
So the assignment StringGrid1.cells[2, 1] := 'abcde'; the value is displayed in the third column second row.
StringGrid1.cells[2, 1] := 'abcde';