Osservando questa parte del codice
codice:
StringGrid1.Cols[0] := LeftStr(sl.text, 40);
ERRORE: [Pascal Error] RaceData.pas(78): E2010 Incompatible types: 'TStrings' and 'string'
l'errore è facilmente individuabile. Ciascun elemento della proprietà Cols non è una stringa (string), ma un'istanza di TStringList, cioè una lista di stringhe che rappresentano ciascuna il contenuto di una precisa riga. In alternativa, esiste l'analoga proprietà Rows che si comporta allo stesso modo ma consente di selezionare prima la riga e, in seguito, la colonna.
Ciò che tu devi indirizzare non è un'intera riga, ma precisamente la cella in cui tu devi andare a scrivere.
Ad esempio, supponendo di voler scrivere nella seconda riga alla prima colonna, basta scrivere:
codice:
StringGrid1.Cols[0].Strings[1] := 'Testo';
oppure
codice:
StringGrid1.Rows[1].Strings[0] := 'Testo';