Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-10-2013
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
checklistbox chequear si esta seleccionado

Amigos, tengo un problema raro con este codigo

Código Delphi [-]
for v := 0 to CheckListBox1.Count - 1 do
if (dblookupcombobox5.KeyValue = NULL) or (checklistbox1.Checked[v] = false)  then
begin
MessageDlg('Debe seleccionar todos los datos', mtWarning, [mbOk],0);
Abort;
end else
no funciona al seleccionar igual me dice que no esta seleccionado pero si lo coloco en True y selecciono funciona no se que ocurre
coloco codigo completo
Código Delphi [-]
procedure Tmainform.BitBtn19Click(Sender: TObject);
var
bItem: TListItem;
i,v: Integer;
temp: TStrings;
begin
for v := 0 to CheckListBox1.Count - 1 do
if (dblookupcombobox5.KeyValue = NULL) or (checklistbox1.Checked[v] = false)  then
begin
MessageDlg('Debe seleccionar todos los datos', mtWarning, [mbOk],0);
Abort;
end else
temp := TStringList.Create;
   try
   for I := 0 to CheckListBox1.Items.Count - 1 do
  begin
    if CheckListBox1.Checked[i] then
    begin
      temp.add(CheckListBox1.Items.Strings[i]);
     end;
     end;
   finally
    showmessage(TStringsToString(temp));
     begin
  Zquery1.sql.text := 'insert into ent_htas values (:Fecha,:Trabajador,:Herramienta)';
  ZQuery1.ParamByName('Fecha').AsDate := Datetimepicker4.Date;
  ZQuery1.ParamByName('Trabajador').AsString := dblookupcombobox5.KeyValue;
  ZQuery1.ParamByName('Herramienta').AsString := TStringsToString(temp);
  ZQuery1.ExecSQL;
  Zquery1.Close;
  Zquery1.SQL.Text := 'SELECT * FROM ent_htas';
  zquery1.Open;
  Listview5.Clear;
  temp.Free;
  end;
while not zquery1.Eof do
begin
bItem := Listview5.Items.Add;
bItem.Caption := zQuery1.fieldbyname('Fecha').AsString;
bItem.SubItems.Add(zQuery1.fieldbyname('Trabajador').AsString);
bItem.SubItems.Add(zQuery1.fieldbyname('Herramienta').AsString);
zquery1.next;

end;
dblookupcombobox5.KeyValue := NULL;
for v := 0 to CheckListBox1.Count - 1 do
CheckListBox1.Checked[v] := False;
end;
end;


Saludos
Responder Con Cita
  #2  
Antiguo 04-10-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola jonydread.

Código Delphi [-]
function LackSelection(CLB: TCheckListBox): Boolean;
var
  i: Integer;
begin
  Result := False;
  for i := 0 to CLB.Count - 1 do
    if not CLB.Checked[i] then Result := True;
end;

procedure Tmainform.BitBtn19Click(Sender: TObject);
...
begin
  if LackSelection(CheckListBox1) or (DBLookupComboBox5.KeyValue = NULL) then
    raise Exception.Create('Debe seleccionar todos los datos');
 ...
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 04-10-2013
Avatar de Pericles
Pericles Pericles is offline
Miembro
NULL
 
Registrado: sep 2013
Ubicación: Buenos Aires, Argentina
Posts: 24
Poder: 0
Pericles Va por buen camino
Hola, como esta planteado deben estar seleccionados todos los checks, creo que en ese caso tendría mas sentido otro componente.
Si la idea es verificar si hay almenos uno seleccionado (junto con el la condicion del BdLoockUpComboBox) yo separaria la evaluacion de ambas condiciones.
(de paso se recorre solo una vez y ya se evalua si esta alguno seleccionado o no registrandose alli los datos elegidos).
Espero haberme explicado bien!

Saludos
Nicolas Perichon


Código Delphi [-]

procedure TForm1.Button1Click(Sender: TObject);

var
  i:integer;
  sel: string;
  vacio, vacio2: boolean;
begin

//registro opcion 1 y seleccionados 
  vacio:= true;
    for i := 0 to CheckListBox1.Count - 1 do
             begin

                  if checklistbox1.Checked[i] <> false then
                     begin
                        //acumulo texto para el ejemplo uso solo string
                        sel := sel + ' '+ CheckListBox1.Items.Strings[i];

                        //hay alguno seleccionado!
                        vacio := false;
                   end;
     end;

//registro  opcion 2
// vacio2:= dblookupcombobox5.KeyValue=NULL;
vacio2:= false;  //simulo que no esta vacio ya que no tengo el componente en el ejemplo


//Evaluo las dos condiciones 

if not(vacio) and not(vacio2)  then 
                                                showmessage('Ok, Seleccionados: '+sel) else
                                                showmessage('Debe seleccionar todos los datos');

end;

end.
Responder Con Cita
  #4  
Antiguo 10-10-2013
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
exelente!!! muchas gracias nuevamente.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ComboBox ítem que está seleccionado belen Varios 7 05-09-2016 18:44:11
saber Item seleccionado en CheckListBox lmpadron C++ Builder 10 01-12-2011 16:11:31
Chequear conexion a sql antigrondona Conexión con bases de datos 16 10-06-2011 00:28:58
cómo saber en una listview el item que está visible (no seleccionado) en cada momento igc C++ Builder 1 16-02-2007 18:25:52
Chequear existencia de una BD vichovi Conexión con bases de datos 3 22-09-2003 23:17:48


La franja horaria es GMT +2. Ahora son las 07:28:07.


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
Copyright 1996-2007 Club Delphi