Controlar o andamento da procedure
amigos
tenho uma procedure que conta os pixels de uma imagem e os armazena em um vetor, mas preciso mostrar pro usuario que este processo esta acontecendo, como faço, uma barra de progresso seria mais apresentavel, se possivel alguma dica de como por a barra de progresso, fico agradecido
soldi
tenho uma procedure que conta os pixels de uma imagem e os armazena em um vetor, mas preciso mostrar pro usuario que este processo esta acontecendo, como faço, uma barra de progresso seria mais apresentavel, se possivel alguma dica de como por a barra de progresso, fico agradecido
soldi
Soldi
Curtidas 0
Respostas
Nigro
31/10/2003
Colque o código aqui no fórum, para que possamos te dar uma força, eu não uso StatusBar, prefiro Gauge, é pelo detalhe que ele possui o valor em porcentagem embutido.
Mas coloque aqui que o código para que todos que visitarem sua mensagem possa ajudar.
Mas coloque aqui que o código para que todos que visitarem sua mensagem possa ajudar.
GOSTEI 0
Soldi
31/10/2003
[quote=´Nigro´]Colque o código aqui no fórum, para que possamos te dar uma força, eu não uso StatusBar, prefiro Gauge, é pelo detalhe que ele possui o valor em porcentagem embutido.
Mas coloque aqui que o código para que todos que visitarem sua mensagem possa ajudar.
Mas coloque aqui que o código para que todos que visitarem sua mensagem possa ajudar.
bele.
type
rec_cores = record
cor: integer;
qtde: integer;
end;
var
achou: boolean;
i,j,x,cor,TamVet: integer;
cores: array of rec_cores;
aux:integer;
begin
if Proc = True then
begin
tamvet:=0;
for i:= 0 to Image1.Picture.Width - 1 do
for j:= 0 to Image1.Picture.Height - 1 do
begin
cor:= ColorToRGB(Image1.Canvas.Pixels[i,j]);
achou:= false;
for x:= 0 to tamvet -1 do
begin
if cores[x].cor = cor then
begin
cores[x].qtde:= cores[x].qtde + 1;
achou := true;
end;
end;
if achou = false then
begin
tamvet:= tamvet + 1;
SetLength(cores,tamvet);
cores[tamvet -1].cor := cor;
cores[tamvet -1].qtde := 1;
end;
end;
deem uma olhada..
soldi
GOSTEI 0
Nigro
31/10/2003
Veja no que dá...
type
rec_cores = record
cor: integer;
qtde: integer;
end;
var achou: boolean;
i, j, x, cor, TamVet: integer;
cores: array of rec_cores;
aux : integer;
begin
StatusbarX.Max := Image1.Picture.Width;
StatusbarY.Max := Image1.Picture.Height;
if Proc = True then
begin
tamvet := 0;
for i:= 0 to Image1.Picture.Width - 1 do
for j:= 0 to Image1.Picture.Height - 1 do
begin
cor := ColorToRGB(Image1.Canvas.Pixels[i ,j]);
achou := false;
for x := 0 to tamvet -1 do
begin
if cores[x].cor = cor then
begin
cores[x].qtde:= cores[x].qtde + 1;
achou := true;
end;
end;
if achou = false then
begin
tamvet := tamvet + 1;
SetLength(cores,tamvet);
cores[tamvet - 1].cor := cor;
cores[tamvet - 1].qtde := 1;
end;
StatusBarX.Position := i;
StatusBarY.Position := j;
end;
type
rec_cores = record
cor: integer;
qtde: integer;
end;
var achou: boolean;
i, j, x, cor, TamVet: integer;
cores: array of rec_cores;
aux : integer;
begin
StatusbarX.Max := Image1.Picture.Width;
StatusbarY.Max := Image1.Picture.Height;
if Proc = True then
begin
tamvet := 0;
for i:= 0 to Image1.Picture.Width - 1 do
for j:= 0 to Image1.Picture.Height - 1 do
begin
cor := ColorToRGB(Image1.Canvas.Pixels[i ,j]);
achou := false;
for x := 0 to tamvet -1 do
begin
if cores[x].cor = cor then
begin
cores[x].qtde:= cores[x].qtde + 1;
achou := true;
end;
end;
if achou = false then
begin
tamvet := tamvet + 1;
SetLength(cores,tamvet);
cores[tamvet - 1].cor := cor;
cores[tamvet - 1].qtde := 1;
end;
StatusBarX.Position := i;
StatusBarY.Position := j;
end;
GOSTEI 0
Sistemald
31/10/2003
Tem como fazer que o progresso seja contado automaticamente pela quantidade de linhas de uma procedure?
ex.: [i:04ca48bf05]Se uma procedure tiver x linhas.
quando for sendo executada as linhas, seja informada em uma [b:04ca48bf05]var[/b:04ca48bf05] que tantos porcento já foi executado ou que tanta linhas foi executado.[/i:04ca48bf05]
Entederam???
ex.: [i:04ca48bf05]Se uma procedure tiver x linhas.
quando for sendo executada as linhas, seja informada em uma [b:04ca48bf05]var[/b:04ca48bf05] que tantos porcento já foi executado ou que tanta linhas foi executado.[/i:04ca48bf05]
Entederam???
GOSTEI 0