Ver Mensaje Individual
  #28  
Antiguo 07-04-2023
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Reputación: 3
giantonti1801 Va por buen camino
Cita:
Empezado por cloayza Ver Mensaje
Veamos...
Supongamos que tu formulario es TForm1.

Código Delphi [-]
 
type
  TForm1 = class(TForm)
  ....
  private
  public
    ...
    procedure xxxx;
    procedure EnableButton(boton:TMSFMXToolBarButton; AEnable:Boolean);
 End;

{Esta función se encarga de habilitar el boton y la opacidad}
//Declarara en la sección public...

procedure TForm1.EnableButton(boton:TMSFMXToolBarButton; AEnable:Boolean);
begin
        boton.Enable:=AEnable;
    if Boton.Enable then
       Boton.Opacity := 1
    else
       Boton.Opacity := 0.3;
end;

procedure TForm1.xxxx
begin 
  DataModule1.UniQueryConsultaDOC.Close; 
  DataModule1.UniQueryConsultaDOC.sql.Clear; 
  DataModule1.UniQueryConsultaDOC.sql.Add('select REGPAC, TIPODOCUMENTO,REGFICHA, INSTRUT, FICPAC from fichadoc'); 
  DataModule1.UniQueryConsultaDOC.SQL.Add('where instrut = :INSTRUT and REGFICHA = :REGFICHA'); 
  DataModule1.UniQueryConsultaDOC.ParamByName('INSTRUT').AsString := datamodule1.InstRut; 
  DataModule1.UniQueryConsultaDOC.ParamByName('REGFICHA').AsString := Label1.text; 
  DataModule1.UniQueryConsultaDOC.open; 
  
  while not DataModule1.UniQueryConsultaDOC.eof do 
  begin
     EnableButton(TMSFMXToolBarButton5, SameText(DataModule1.UniQueryConsultaDOCTIPODOCUMENTO.AsString,'TRATAMIENTO') );
               
     EnableButton(TMSFMXToolBarButton6, SameText(DataModule1.UniQueryConsultaDOCTIPODOCUMENTO.AsString,'EXAMEN'));
               
     EnableButton(TMSFMXToolBarButton13, SameText(DataModule1.UniQueryConsultaDOCTIPODOCUMENTO.AsString,'LABORATORIO'));
     
     EnableButton(TMSFMXToolBarButton17, SameText(DataModule1.UniQueryConsultaDOCTIPODOCUMENTO.AsString,'FICHA MEDICA'));
 
        DataModule1.UniQueryConsultaDOC.Next; 
   end;
end;
Espero que ahora este claro.

Saludos cordiales
Gracias amigo funciona perfecto la funcion de habilitar los bottones pero aun sigue sucediendo igual que solo me muestra un resultado, es decir solo se habilita un solo botton.
Verifique tabla
Verifique las condiciones
hice la consulta en labla en sql
coloque en el where los valores manueales
incluso coloque un
Código Delphi [-]
ShowMessage(DataModule1.UniQueryConsultaDOC.RecordCount.ToString);
para verificar que en efecto encontrara la misma cantidad de registro y perfectamente conicide.
Tambien le coloque un
Código Delphi [-]
DataModule1.UniQueryConsultaDOC.First;
para obligarlo a irse al primer registro y tampoco con eso me funciona
Al parecer no está respetando el NEXT, es decir haga como haga la consulta solo se habilita un solo boton.
lo hice con while tambien lo hice con el for y nada
Responder Con Cita