Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Recoger valores de un DBGrid (https://www.clubdelphi.com/foros/showthread.php?t=68365)

cslbcn 09-06-2010 19:33:46

Recoger valores de un DBGrid
 
Hola. He buscado por internet y solo he encontrado la manera de recoger un campo de un DBGrid o los campos de una fila pero no lo que a mi me interesa.

Tengo un DBGrid con 3 columnas y un numero de filas indeterminado: puede que 4, puede que 400... Quisiera recorrer con un for todos los contenidos de la primera columna.

Código Delphi [-]
for i:=0 to 300 do
begin

end;

Alguna idea? Gracias

ContraVeneno 09-06-2010 20:04:19

cuando no sabes cuantas iteraciones vas a usar, no se utiliza un For, se utiliza un While... el FOR es solo cuando sabes exactamente cuantas veces tienes que pasar por un lado.

En tu caso, tendrías que hacer un while y buscar el final del dataset.

Ahora, un DBGrid es solo una representación gráfica de un dataset, por lo que si quieres algún dato, no lo saques del dbgrid, obtenlo del dataset asociado.

Entonces, supongo que tienes tu DBGrid asociado a un Query, por lo que la sentencia:
Código Delphi [-]
with TuQuery do begin
 First;
 While Not EOF do begin
  UnValor := FieldByName('UnaColumna').AsString; /// .AsInteger, .AsFloat, .AsCurrency, dependiendo...
  ..... //las instrucciones que necesites
  Next;
 end; //while
end; //with

debería funcionarte de manera correcta.

cslbcn 09-06-2010 20:07:10

el DbGrid se llena a partir de un fichero excel mediante un ADOConection y una ADOTable.

ContraVeneno 09-06-2010 23:28:35

pues entonces el ejemplo que puse debería funcionar correctamente.

cslbcn 10-06-2010 11:17:36

Excelente, hace lo que necesito.

Muchas gracias ContraVeneno.


La franja horaria es GMT +2. Ahora son las 19:21:18.

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