PDA

Ver la Versión Completa : Estructura complicada


alastor
26-06-2006, 21:59:50
Hola. Nesecito una estructura que mientras yo vaya borrando cada registro de una ADOTable ella me vaya realizando una accion, mas concretamente, incrementando un valor determinado a un progressbar, cosa de que cada vez que borre un registro, incremente un valor en el progressbar. Si alguno pudiera ayudarme con esto se lo agradeceria.
Gracias

ContraVeneno
26-06-2006, 23:32:59
¿una estructura?

marcoszorrilla
26-06-2006, 23:38:49
La cosa es sencilla, según entiendo, pero primero tendrás que saber cuantos registros van a eliminarse para poder pasar a la barra de progreso los valores correspondientes, luego no es más que ir incrementando en uno la barra.

Un ejemplo:
Try
AniWait.Visible:=True;
AniWait.Active:=True;


DmAni2.Gruptarif.Exclusive:=True;
DmAni2.Gruptarif.Open;
DmAni2.Gruptarif.EmptyTable;

DmConta.QrActualiza.Close;
DmConta.QrActualiza.Sql.Clear;
DmConta.QrActualiza.Sql.Add('Select * from CaGtarif ');
DmConta.QrActualiza.Open;

gActualiza.MaxValue :=DmConta.QrActualiza.RecordCount;
DmConta.QrActualiza.First;

While not DmConta.QrActualiza.Eof do
begin
DmAni2.Gruptarif.Append;
gActualiza.Progress:= gActualiza.Progress + 1;

DmAni2.GrupTarifGrupo.Value := DmConta.QrActualiza.Fields[0].AsString;
DmAni2.GrupTarifNombre.Value := DmConta.QrActualiza.Fields[1].AsString;

DmConta.QrActualiza.Next;
end;

AniWait.Visible:=False;
lbmsge.Caption:=' Grupos de Tarifa actualizados: '+FormatFloat(',0',DmConta.QrActualiza.RecordCount);
lbmsge.Left:=Panel1.Width Div 2 - lbmsge.Width div 2 ;

Un Saludo.

alastor
27-06-2006, 18:46:26
Podrias si no te es mucha molestia explicarme de tu codigo las siguientes lineas:
AniWait----->Que componente es
DmAni2----->Supongo que es el datamodule
DmConta--->Otro datamodule???
CaGtarif --->Es la misma que esta, o que relacion guarda Gruptarif ???
quizas yo lo que estoy es borrando la tabla y busco que al borrar cada campo se incremente la barra.
Muchas gracias, seguiremos en contacto.

marcoszorrilla
27-06-2006, 20:28:18
AniWait, es un componente TAnimate, que muestra unas carpetas en movimiento como las de Windows cuando copias archivos, lo que ocurre es que he pegado el código.

Resumiendo lo que necesitas es una Barra de progreso y lo primero contar el número de registros que vas a eliminar, luego pones ese número como máximo valor de la barra, el mínimo 0 y el incremento lo vas alimentando cada vez que elimines un registro, de esta manera la barra se llenará cuando elimines el último registro.

Un Saludo.

alastor
28-06-2006, 18:42:40
Muchisimas gracias por responderme, ya todo me pincho bien.