Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Houston tengo un problema .... (https://www.clubdelphi.com/foros/showthread.php?t=52855)

Jesús Pena 01-02-2008 19:59:00

Houston tengo un problema ....
 
Tengo un problema en el siguiente código Código Delphi

Código Delphi [-]
JvOpenDialog.InitialDir := ExtractFileDir(Application.ExeName);
    If JvOpenDialog.Execute then
    begin
      with dmDBExport.IBDataSet do 
      begin
        SelectSQL.Clear;  // elimino el contenido.
        SelectSQL.LoadFromFile(JvOpenDialog.FileName); // cargo la consulta almacenada en un fichero externo
        try
          Open;
          frmDBExport.Caption := 'Informe de la Consulta Personalizada ';
          Label1.Caption := sTabla;
          JvxCheckListBox1.Clear;
          JvxCheckListBox2.Clear;
          JvXPCheckbox1.Caption := 'Seleccionar Todo';
          JvXPCheckbox1.Checked := False;
          JvXPCheckbox2.Caption := 'Seleccionar Todo';
          JvXPCheckbox1.Checked := False;
          GroupBox2.Caption := 'Campos de la Tabla ' + sTabla;
 // Pretendo cargar en un listbox los campos obtenidos en la consulta
          for nIdx := 0 to FieldCount - 1 do
            JvxCheckListBox1.Items.Add(dmDBExport.IBDataSet.Fields[nidx].AsString); // !!! Error no muestra los campos muestra su contenido
          SpeedButton.Enabled := JvxCheckListBox1.SelCount > 0;
        except
          on Exception do Exception.Create('La consulta no es válida. Revise el fichero ' + stabla);
        end;
      end;



La Cosa es que quiero cargar la lista de los campos resultantes de la consulta y lo que obtengo es el contenido de los mismos no su nombre.

P.D. Utilizo D2006 + Firebird 1.5 con Ibx.

keyboy 01-02-2008 20:04:34

Donde dice

Código Delphi [-]
dmDBExport.IBDataSet.Fields[nidx].AsString

debería decir

Código Delphi [-]
dmDBExport.IBDataSet.Fields[nidx].FieldName

Bye

AzidRain 01-02-2008 21:43:48

Esto esta equivocado:
Cita:

JvxCheckListBox1.Items.Add(dmDBExport.IBDataSet.Fields[nidx].AsString);
AsString lo que hace es convertir el contenido del campo a una cadena, que es precisamente lo que no quieres, lo que necesitas es acceder a la propiedad FieldName que contiene su nombre

Cita:

JvxCheckListBox1.Items.Add(dmDBExport.IBDataSet.Fields[nidx].FieldName);

poliburro 01-02-2008 22:41:41

Amigo jesus, deberías hacer más descriptivos los títulos de tus temas.

jachguate 01-02-2008 23:45:34

Lo dicho por poliburro es tan cierto y claro como la guía de estilo. Ya con mas de dos años en los foros debieras saberlo bien, así como el uso de la etiqueta delphi para publicar trozos de código.

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 04:30:00.

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