Hola ErYcK.
Si no entendí mal lo que deseas hacer, se me ocurre que podrías cambiar el separador ';' por ',' y aprovechar la propiedad
CommaText del
TStringGrid.
Fijate si de este modo hace mas rápido lo que buscas:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender) {
TStringList *TS = new TStringList;
TStringGrid *SG = static_cast<TStringGrid*> (StringGrid1);
if (OpenDialog1->Execute()) {
TS->LoadFromFile(OpenDialog1->FileName);
for(int i=0; i< TS->Count; i++) {
StringReplace(TS->Strings[i], ';', ',', TReplaceFlags() << rfReplaceAll);
SG->Rows[i]->CommaText = TS->Strings[i];
}
}
delete TS;
}
Saludos.