Hola patxim.
Proba de este modo:
Código Delphi
[-]
type
TDBGridEx = class(TDBGrid);
function GetFieldAtColRow(ACol, ARow: Integer; GR: TDBGrid): string;
var
BM: TBookMark;
begin
with TDBGridEx(GR) do
begin
if (ARow > 0)and( ACol > 0)and(ARow < RowCount)and(ACol < ColCount) then
begin
BM:= DataSource.DataSet.GetBookmark;
DataSource.DataSet.DisableControls;
DataSource.DataSet.MoveBy(1 - Row);
DataSource.DataSet.MoveBy(ARow - 1);
Result := DataSource.DataSet.Fields[ACol-1].AsString;
DataSource.DataSet.GotoBookmark(BM);
DataSource.DataSet.FreeBookmark(BM);
DataSource.DataSet.EnableControls
end
end
end;
Llamada ejemplo:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
Caption:= GetFieldAtColRow(StrToInt(EditCol.Text), StrToInt(EditRow.Text), DBGrid1);
end;
Saludos.