Ver Mensaje Individual
  #1  
Antiguo 29-11-2011
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Reputación: 18
TiammatMX Va camino a la fama
Exclamation Algo asi como un 'parsing' ...

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);
        // aquí requiero hacer el 'parsing', y poner en "checked" el TCheckBox del que ya conozco el nombre...
        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.
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita