Buena tarde, jóvenes. Espero que la estén pasando fenomenal con el condenado frío que nos tocó en México.
Les platico. Tengo 30 TCheckBox's que se llaman casi igual, chckboxLesiones'nn', de 01 a 30. Cada uno de ellos debe reaccionar al contenido de un registro. La recreación del nombre de cada Checkbox ya la tengo controlada, pero requiero hacer un "parsing" directo al contenido del TCheckBox que se trate en el nombre.
El código que tengo para "recuperar" el nombre del TCheckBox:
Código Delphi
[-]procedure TfrmEvlcnFisica.Revision;
var
adoqryTmprl : TADOQuery;
wsSQL : widestring;
sNmbrChckBox : string;
begin
adoqryTmprl := TADOQuery.Create(Self);
with adoqryTmprl do
begin
wsSQL := 'SELECT COUNT(*) AS CONTEO FROM HT12_APC_LESION WHERE (HT1_FECHA = ' +
QuotedStr(FormatDateTime('yyyy-mm-dd',dFchRgstr)) + ') AND (HT1_HORA = ' +
IntToStr(iHraRgstr) + ') AND (E2_CTRL_PAC = ' +
QuotedStr(sPcntRgstr)+');';
Connection := frmContenedor.adoCnnctnHipocrates;
Close;
SQL.Clear;
SQL.Add(wsSQL);
Open;
if FieldByName('Conteo').AsInteger > 0 then
begin
chckboxSinLesiones.State := cbUnchecked;
wsSQL := 'SELECT * FROM HT12_APC_LESION WHERE (HT1_FECHA = ' +
QuotedStr(FormatDateTime('yyyy-mm-dd',dFchRgstr)) + ') AND (HT1_HORA = ' +
IntToStr(iHraRgstr) + ') AND (E2_CTRL_PAC = ' +
QuotedStr(sPcntRgstr)+');';
Close;
SQL.Clear;
SQL.Add(wsSQL);
Open;
while not Eof do
begin
sNmbrChckBox := 'chckboxLesiones'+RightStr('00'+Trim(IntToStr(DvlvrIDChckBx(FieldValues['C53_TIPO_LESION_ID']))),2);
Next;
end;
end
else
chckboxSinLesiones.State := cbChecked;
Destroy;
end;
end;
Yo sé que andan circulando algunos codiguitos para simular un parsing al nombre de un componente, pero no los he localizado, ¿algún alma caritativa que pueda ayudarme en éste menester?
Agradeciendo de antemano.