Voy a postear mi codigo fuente pues para que me corrijan pues no cambia el foco se queda en el mismo lugar.
Código Delphi
[-]unit UnitEnlace;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DBCtrls, DB, ADODB, Mask, OleServer, ExcelXP;
type
TFormaEnlace = class(TForm)
enlace: TADOTable;
DBRadioGroup1: TDBRadioGroup;
DBRadioGroup2: TDBRadioGroup;
DBRadioGroup3: TDBRadioGroup;
DBRadioGroup4: TDBRadioGroup;
DBRadioGroup5: TDBRadioGroup;
DBRadioGroup6: TDBRadioGroup;
DBRadioGroup7: TDBRadioGroup;
DBRadioGroup8: TDBRadioGroup;
DBRadioGroup9: TDBRadioGroup;
DBRadioGroup10: TDBRadioGroup;
DBRadioGroup11: TDBRadioGroup;
DBRadioGroup12: TDBRadioGroup;
DBRadioGroup13: TDBRadioGroup;
DBRadioGroup14: TDBRadioGroup;
DBRadioGroup15: TDBRadioGroup;
DBRadioGroup16: TDBRadioGroup;
DBRadioGroup17: TDBRadioGroup;
DBRadioGroup18: TDBRadioGroup;
DBRadioGroup19: TDBRadioGroup;
DBRadioGroup20: TDBRadioGroup;
DBRadioGroup21: TDBRadioGroup;
DBRadioGroup22: TDBRadioGroup;
DBRadioGroup23: TDBRadioGroup;
DBRadioGroup24: TDBRadioGroup;
DBRadioGroup25: TDBRadioGroup;
DBRadioGroup26: TDBRadioGroup;
DBRadioGroup27: TDBRadioGroup;
DBRadioGroup28: TDBRadioGroup;
DBRadioGroup29: TDBRadioGroup;
DBRadioGroup30: TDBRadioGroup;
DBRadioGroup31: TDBRadioGroup;
DBRadioGroup32: TDBRadioGroup;
DBRadioGroup33: TDBRadioGroup;
DBRadioGroup34: TDBRadioGroup;
DBRadioGroup35: TDBRadioGroup;
DBRadioGroup36: TDBRadioGroup;
DBRadioGroup37: TDBRadioGroup;
DBRadioGroup38: TDBRadioGroup;
DBRadioGroup39: TDBRadioGroup;
DBRadioGroup40: TDBRadioGroup;
DBRadioGroup41: TDBRadioGroup;
DBRadioGroup42: TDBRadioGroup;
DBRadioGroup43: TDBRadioGroup;
DBRadioGroup44: TDBRadioGroup;
DBRadioGroup45: TDBRadioGroup;
DBRadioGroup46: TDBRadioGroup;
DBRadioGroup47: TDBRadioGroup;
DBRadioGroup48: TDBRadioGroup;
DBRadioGroup49: TDBRadioGroup;
DBRadioGroup50: TDBRadioGroup;
DBRadioGroup51: TDBRadioGroup;
DBRadioGroup52: TDBRadioGroup;
DBRadioGroup53: TDBRadioGroup;
DBRadioGroup54: TDBRadioGroup;
DBRadioGroup55: TDBRadioGroup;
DBRadioGroup56: TDBRadioGroup;
DBRadioGroup57: TDBRadioGroup;
DBRadioGroup58: TDBRadioGroup;
DBRadioGroup59: TDBRadioGroup;
DBRadioGroup60: TDBRadioGroup;
DBRadioGroup61: TDBRadioGroup;
DBRadioGroup62: TDBRadioGroup;
DBRadioGroup63: TDBRadioGroup;
DBRadioGroup64: TDBRadioGroup;
DBRadioGroup65: TDBRadioGroup;
DBRadioGroup66: TDBRadioGroup;
DBRadioGroup67: TDBRadioGroup;
DBRadioGroup68: TDBRadioGroup;
DBRadioGroup69: TDBRadioGroup;
DBRadioGroup70: TDBRadioGroup;
DBRadioGroup71: TDBRadioGroup;
DBRadioGroup72: TDBRadioGroup;
DBRadioGroup73: TDBRadioGroup;
DBRadioGroup74: TDBRadioGroup;
DBRadioGroup75: TDBRadioGroup;
DBRadioGroup76: TDBRadioGroup;
DBRadioGroup77: TDBRadioGroup;
DBRadioGroup78: TDBRadioGroup;
DBRadioGroup79: TDBRadioGroup;
DBRadioGroup80: TDBRadioGroup;
DBRadioGroup81: TDBRadioGroup;
DBRadioGroup82: TDBRadioGroup;
DBRadioGroup83: TDBRadioGroup;
DBRadioGroup84: TDBRadioGroup;
DBRadioGroup85: TDBRadioGroup;
DBRadioGroup86: TDBRadioGroup;
DBRadioGroup87: TDBRadioGroup;
DBRadioGroup88: TDBRadioGroup;
DBRadioGroup89: TDBRadioGroup;
DBRadioGroup90: TDBRadioGroup;
DBRadioGroup91: TDBRadioGroup;
DBRadioGroup92: TDBRadioGroup;
DBRadioGroup93: TDBRadioGroup;
DBRadioGroup94: TDBRadioGroup;
DBRadioGroup95: TDBRadioGroup;
DBRadioGroup96: TDBRadioGroup;
DBRadioGroup97: TDBRadioGroup;
DBRadioGroup98: TDBRadioGroup;
DBRadioGroup99: TDBRadioGroup;
DBRadioGroup100: TDBRadioGroup;
DBRadioGroup101: TDBRadioGroup;
DBRadioGroup102: TDBRadioGroup;
DBRadioGroup103: TDBRadioGroup;
DBRadioGroup104: TDBRadioGroup;
DBRadioGroup105: TDBRadioGroup;
DBRadioGroup106: TDBRadioGroup;
DBRadioGroup107: TDBRadioGroup;
DBRadioGroup108: TDBRadioGroup;
DBRadioGroup109: TDBRadioGroup;
DBRadioGroup110: TDBRadioGroup;
DBRadioGroup111: TDBRadioGroup;
DBRadioGroup112: TDBRadioGroup;
DBRadioGroup113: TDBRadioGroup;
DBRadioGroup114: TDBRadioGroup;
DBRadioGroup115: TDBRadioGroup;
DBRadioGroup116: TDBRadioGroup;
DBRadioGroup117: TDBRadioGroup;
DBRadioGroup118: TDBRadioGroup;
DBRadioGroup119: TDBRadioGroup;
DBRadioGroup120: TDBRadioGroup;
DBRadioGroup121: TDBRadioGroup;
DBRadioGroup122: TDBRadioGroup;
DBRadioGroup123: TDBRadioGroup;
DBRadioGroup124: TDBRadioGroup;
DBRadioGroup125: TDBRadioGroup;
DBRadioGroup126: TDBRadioGroup;
DBRadioGroup127: TDBRadioGroup;
DBRadioGroup128: TDBRadioGroup;
DBRadioGroup129: TDBRadioGroup;
DBRadioGroup130: TDBRadioGroup;
DBRadioGroup131: TDBRadioGroup;
DBRadioGroup132: TDBRadioGroup;
DBRadioGroup133: TDBRadioGroup;
DBRadioGroup134: TDBRadioGroup;
DBRadioGroup135: TDBRadioGroup;
DBRadioGroup136: TDBRadioGroup;
DBRadioGroup137: TDBRadioGroup;
DBRadioGroup138: TDBRadioGroup;
DBRadioGroup139: TDBRadioGroup;
DBRadioGroup140: TDBRadioGroup;
DBRadioGroup141: TDBRadioGroup;
DBRadioGroup142: TDBRadioGroup;
DataSource1: TDataSource;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBRadioGroup1Enter(Sender: TObject);
private
public
end;
var
FormaEnlace: TFormaEnlace;
X:STRING;
H:TDBRadioGroup;
implementation
{$R *.dfm}
procedure TFormaEnlace.Button1Click(Sender: TObject);
var n:real; i:integer;
begin
n:=0;
FOR i:=7 to 148 do
begin
n:= enlace.fields[i].asfloat + n;
end;
enlace.Fields[149].AsFloat:=n;
enlace.Post;
ENLACE.APPEND;
end;
procedure TFormaEnlace.FormCreate(Sender: TObject);
begin
ENLACE.Active:=TRUE;
ENLACE.APPEND;
end;
procedure TFormaEnlace.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Y:integer;
S,P:String;
begin
if key=ord('A') then
begin
DBradiogroup1.itemindex:=0;
S:=trim(x);
P:=copy(S,13,Length(s));
Y:=(strtoint(p))+1;
H := FindComponent('DBRadioGroup' + IntToStr(Y)) as TDBRadioGroup;
showmessage(h.Name);
H.SetFocus;
end;
if key=ord('B') then
begin
DBradiogroup1.itemindex:=1;
end;
if key=ord('C') then
begin
DBradiogroup1.itemindex:=2;
end;
if key=ord('D') then
begin
DBradiogroup1.itemindex:=3;
end;
end;
procedure TFormaEnlace.DBRadioGroup1Enter(Sender: TObject);
begin
X:=TDBRadioGroup(Sender).Name;
end;
end.
Que estoy haciendo mal???