Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Desde un DBGrid a un ListBox (https://www.clubdelphi.com/foros/showthread.php?t=48849)

eddg 05-10-2007 15:53:20

Desde un DBGrid a un ListBox
 
Buenos Días ante todo...
Mi problemita es el siguiente:
En la ayuda de Delphi (F1), sale este Código de ejemplo:

============================================
Código Delphi [-]
procedure Tcomponentes.Button1Click(Sender: TObject);
var
  i, j: Integer;
  s: string;
begin
  if DBGrid1.SelectedRows.Count>0 then
    with DBGrid1.DataSource.DataSet do
      for i:=0 to DBGrid1.SelectedRows.Count-1 do
      begin
        GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
        for j := 0 to FieldCount-1 do
        begin
          if (j>0) then s:=s+', ';
          s:=s+Fields[j].AsString;
        end;
        Listbox1.Items.Add(s);
        s:= '';
      end;
end;

============================================

Ese código sirve para Insertar una Fila seleccionada de un DBGrid en un LIST BOX, excelente, sin embargo, Yo necesito Agregar sólo una Columna de esa FILA

Es decir, en la Fila tengo, Nombre, Telefono y e-mail, Pero sólo quiero agregar al ListBox es el Nombre, y tener guardado en alguna parte el telefono para usarlo en otro Objeto....

¿como hago para solo agregar un campo de la Fila?

Muchas Gracias de antemano a quien pueda ayudarme con este problemita!

droguerman 05-10-2007 16:06:15

Código Delphi [-]
var 
   indice : integer;
begin
  with dbGrid1.dataset do
   begin
        indice := listbox1.items.add(fieldByName('nombre').asString);
        listbox1.items.objects[indice] := Pointer(recNo);
   end;
end;

luego puedes recuperar el object (es decir a que registro se refiere ese nombre usando)

Código Delphi [-]
  registro := Integer(listbox1.items.objects[indiceQueBuscas]);

eddg 05-10-2007 16:29:59

gracias HERMANO
 
Muy bueno el código, gracias por tu colaboración.

Sin embargo, no entiendo muy bien la ultima parte de como recuperar el Objeto, se que te refieres a lo que comente del TELEFONO...

Pero quiero explicar algo, supongamos que tengo en uno de esos campos la edad y que con la edad yo necesito hacer algunas Operaciones Aritmeticas para Devolver un resultado, SI?

Ademas, Todos mis Contactos en la DB tienen un numero (ID), el cual puedo guardar asi como tu dices... Y luego llamarlo cuando quiera!

___________________________________________________________

Es dificil poder explicar lo que realmente necesito!!!

____________________________________________________________

1. En un form, tengo mi DBGrid y el ListBOx, alli selecciono los
Nombres que deseo ver y los copio en el ListBox.

2. Luego en otro form, tengo otro LISTBOX, con los Nombres de las personas que seleccione y que copie en el anterior ListBox, si?

3. OK, Ahora en esta FORM necesito seleccionar solo algunas de las personas que seleccione al principio! ejemplo: juan y pedro. y agregarlas a otro List Box o a algun otro elemento, como Puede ser un Label o un Edit.

4. Luego, quiero comparar quien es el mayor de ellos y que edad tienen (en cuanto al algoritmo de como hacer el calculo no tengo problema, el Problema es para saber como llamar y manipular las variables)

5. Como le hago para que todo este concatenado???

__________________________________________________

Sé que es mucha la INFO, pero de verdad, si pudieras ayudarme te lo agradeceria un MILLON de veces! éxitos a tí y a los TUYOS

GRACIAS nuevamente!


La franja horaria es GMT +2. Ahora son las 16:03:06.

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