Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Recorrer checkboxlist en pascal para un realizar en INNOSETUP (https://www.clubdelphi.com/foros/showthread.php?t=82387)

teecweb 02-03-2013 04:10:50

Recorrer checkboxlist en pascal para un realizar en INNOSETUP
 
Hola,
Estoy realizando un instalador en innosetup personalizado..mi problema es que tengo que generar una lista de checkbox y despues al hacer click en un boton seleccionar todos los checbox

*para generar la lista lo eh hecho con TNewCheckListBox
*Asi cree mi lista de checks:
Código Delphi [-]
 Page: TWizardPage;
  Button,Buttona, FormButton: TNewButton;
  Panel: TPanel;
  CheckBox: TCheckBox;
  CheckListBox : TNewCheckListBox;
   FListaCheckbox:TStrings;

procedure CreateTheWizardPages;
  var 

  Edit: TNewEdit;
  PasswordEdit: TPasswordEdit;
  listado: TStrings;
  i: Integer;
  scale : Integer;
  scale1:Integer;
  j:Integer;
  n: integer;
 
begin
  { TButton and others }
  listado := TStringList.Create;
  FListaCheckbox := TStringList.Create;
  Page := CreateCustomPage(wpSelectDir, 'Custom wizard page controls', 'TButton and others');

  Buttona := TNewButton.Create(Page);
  Buttona.Width := ScaleX(75);
  Buttona.Height := ScaleY(23);
  Buttona.Caption := 'TNewButton';
  Buttona.Parent := Page.Surface;
  Buttona.Visible := true;
   Buttona.OnClick := @ButtonOnClick;

for i := 0 to listado.Count - 1 do
           begin
            j :=5; 
            scale :=scale+ (j+15);
            CheckListBox := TNewCheckListBox.Create(Page);
            CheckListBox.Top := Buttona.Top + Buttona.Height + ScaleY(scale);
            CheckListBox.Width := 410;
            CheckListBox.Height :=40;
             CheckListBox.Flat := True;
            CheckListBox.Parent := Page.Surface;
            CheckListBox.OnClick:=@uninstaller;
            CheckListBox.AddCheckBox(listado[i], '', 0, False, True, True, True, nil);
           end;
este tiene un evento uninstaller y cada vez que selecciono un check me tiene que retornar el nombre del checkbox y hacer una serie de pasos:
Asi lo hize:

Código Delphi [-]
procedure uninstaller(Sender: TObject);
 var path: String;
begin
  if CheckListBox.Checked
   BEGIN
     //si el checboxlist esta seleccionado,me retorna el nombre del checkbox
     path :=CheckListBox.Items.Strings[0]; //esto lo que encontre en internet ..veo ke manda un indice
                                           // pero como hago para que llegue ese indice al hacer clic en mi check
     MsgBox(path,mbInformation, MB_OK);
   end;
end;
***ahora debo de tener un boton de seleccionar todos cuando hago clic selecciono todos los checks

Código Delphi [-]
procedure ButtonOnClick(Sender: TObject);
 var path: String;

begin
 // al hacer clic me debe chekear todo los checkbox de la lista de check y 
 // tambien recuperar el nombre del check para hacer otros procedimientos
end;

Bueno es todo lo que necesito ..gracias por su pronta respuesta

ecfisa 02-03-2013 07:23:48

Hola teecweb.

Por favor cuando incluyas código en tus mensajes utiliza TAG's. (Ya los incluí en tu mensaje)

Esta imágen explica el uso:



El foro Delphi/web no es el indicado para este tema. Cuando tengas dudas en que foro colocar una consulta, el foro Varios es el indicado. Algún moderador luego se encargará de redireccionarla al foro correspondiente.

Saludos y gracias por tu colaboración. :)


La franja horaria es GMT +2. Ahora son las 21:43:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi