Gauge ou ProgressBar na copia dos Aquivo, alguem sabe ?
[b:6d624431c4]Tenho este comando abaixo , que copia os arquivo da pasta do diretório C:\ para o Disquete A:\........Como faço para colocar Gauge ou ProgressBar .........Para fazer a contagem do primeiro arquivo a ultimo arquivo ...[ ]s...jairo [/b:6d624431c4]
procedure TForm1.Button2Click(Sender: TObject);
var
SR: TSearchRec;
I: integer;
Origem, Destino: string;
begin
I := FindFirst(´C: \Origem\*.*´, faAnyFile, SR);
while I = 0 do begin
if (SR.Attr and faDirectory) <> faDirectory then begin
Origem := ´C: \Origem\´ + SR.Name;
Destino := ´A: \Destino\´ + SR.Name;
if not CopyFile(PChar(Origem), PChar(Destino), true) then
ShowMessage(´Erro ao copiar ´ + Origem + ´ para ´ + Destino);
end;
I := FindNext(SR);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
SR: TSearchRec;
I: integer;
Origem, Destino: string;
begin
I := FindFirst(´C: \Origem\*.*´, faAnyFile, SR);
while I = 0 do begin
if (SR.Attr and faDirectory) <> faDirectory then begin
Origem := ´C: \Origem\´ + SR.Name;
Destino := ´A: \Destino\´ + SR.Name;
if not CopyFile(PChar(Origem), PChar(Destino), true) then
ShowMessage(´Erro ao copiar ´ + Origem + ´ para ´ + Destino);
end;
I := FindNext(SR);
end;
end;
Jairo-go
Curtidas 0
Respostas
Lucas Silva
19/02/2004
Tá faltando o maximo valor do gauge;
Nele você tem q colcar o número de repetições do while...
Geralemte em query você coloca o RecordCount;
Nele você tem q colcar o número de repetições do while...
Geralemte em query você coloca o RecordCount;
procedure TForm1.Button2Click(Sender: TObject); var SR: TSearchRec; I: integer; Origem, Destino: string; begin Gauge.Min := 0; I := FindFirst(´C: \Origem\*.*´, faAnyFile, SR); while I = 0 do begin GauGe.Progress := GauGe.Progress + 1; if (SR.Attr and faDirectory) <> faDirectory then begin Origem := ´C: \Origem\´ + SR.Name; Destino := ´A: \Destino\´ + SR.Name; if not CopyFile(PChar(Origem), PChar(Destino), true) then ShowMessage(´Erro ao copiar ´ + Origem + ´ para ´ + Destino); end; I := FindNext(SR); end; end;
GOSTEI 0
Lucas Silva
19/02/2004
Se o arquivo for grande coloque um Gauge...
Se for pqno coloque um Progress Bar....
Se for pqno coloque um Progress Bar....
GOSTEI 0
Bolus
19/02/2004
Caro Colega,
Procure na Internet o Componente FindFile, nele você coloca o Diretório Inicial, o Filtro e ele devolve em uma propriedade (não lembro agora qual) uma Lista contendo o nome do Arquivos. Como essa propriedade é do Tipo TStringList, você terá o numero de Interações que precisa para informar o valor maximo de interações.....
Ficaria assim.
Espero ter ajudado....
Procure na Internet o Componente FindFile, nele você coloca o Diretório Inicial, o Filtro e ele devolve em uma propriedade (não lembro agora qual) uma Lista contendo o nome do Arquivos. Como essa propriedade é do Tipo TStringList, você terá o numero de Interações que precisa para informar o valor maximo de interações.....
Ficaria assim.
Procedure TForm1.Button2Click(Sender: TObject); var Arquivos: TFindFile; I: integer; Origem, Destino: string; begin Arquivos.Filter := ´*.*´; Arquivos.Directory := ´C:\Origem´; Arquivos.Execute; For I := 0 to Arquivos.FileNames.Count-1 do begin ProgressBar.Progress := Trunc((I*100)/FileNames.Count); Origem := ´C:\Origem\´ + Arquivos.FileNames[I]; Destino := ´A:\Destino\´ + Arquivos.FileNames[I]; if not CopyFile(PChar(Origem), PChar(Destino), true) then ShowMessage(´Erro ao copiar ´ + Origem + ´ para ´ + Destino); end; end;
Espero ter ajudado....
GOSTEI 0
Lucas Silva
19/02/2004
Acho muito complicado vc colocar componentes novos.
Qualquer qualquer computador que você for editar o projetos, irá ter q ter o componentes instalados e tudo mais...
Já passei muita raiva por isto..
Pense bem antes de instalar componentes do delphi.
Falow!
Qualquer qualquer computador que você for editar o projetos, irá ter q ter o componentes instalados e tudo mais...
Já passei muita raiva por isto..
Pense bem antes de instalar componentes do delphi.
Falow!
GOSTEI 0
Bolus
19/02/2004
Caro Colega,
Você não precisará instalar o componente, pois ele foi criado em Object Pascal e contem os Fontes, ou seja, você pode simplesmente incluir no USES e coloca o .PAS no diretorio de LIB ou no diretório do Projeto....
Obrigado.....
Afinal ,muitas vezes não precisamos recriar a roda, somente melhora-lá..
Você não precisará instalar o componente, pois ele foi criado em Object Pascal e contem os Fontes, ou seja, você pode simplesmente incluir no USES e coloca o .PAS no diretorio de LIB ou no diretório do Projeto....
Obrigado.....
Afinal ,muitas vezes não precisamos recriar a roda, somente melhora-lá..
GOSTEI 0
Lucas Silva
19/02/2004
qualquer componente que você instalar, e usar o seu projeto.
Qualquer computador que você for editar seu projeto, vc vai ter que instalar ele também...
Eu acho isto muito complicado......
Isso que eu quis dizer.....
Qualquer computador que você for editar seu projeto, vc vai ter que instalar ele também...
Eu acho isto muito complicado......
Isso que eu quis dizer.....
GOSTEI 0
Lucas Silva
19/02/2004
Eu sou da seguinte opinião...
já que o delphi te disponibiliza um componente, pra que você vai baixar outro componente, [b:cde49dff10]semelhante[/b:cde49dff10] a ele.
já que o delphi te disponibiliza um componente, pra que você vai baixar outro componente, [b:cde49dff10]semelhante[/b:cde49dff10] a ele.
GOSTEI 0
Bolus
19/02/2004
Caro Colega,
somente coloquei o componente, pois ele já traz todos os Arquivos contindos no Diretorio de Origem, assim antes de começar a cópia dos arquivos o Programador já tem a disposição a quantidade de Arquivos e assim poderá informar o percentual correto.....
Já no FindFirst/FindNext, ele não saberá quantos arquivos estará transmitindo.
Como vem com o Fonte, trato como fosse um arquivo normal, ou seja coloco no diretorio do programa e quando preciso levar os fontes somente compacto o diretorio e o componente vai junto, não sendo preciso nenhuma configuração....
Já utilizei muito o FindFirst/FindNext, tanto no Delphi como na Linguagem C/C++....
Também considero que devemos utilizar o minimo de Componentes de Terceiro, pois assim fica mais portavel o Programa....Mas as vezes precisamos de algumas facilidades que não dispomos no componente Padrão do delphi, por isso sempre procuro Componentes com Fonte.... E que possam ser incluidos diretos no Fonte sem precisar instalar no Delphi....
Até mais,
Um abraço....
somente coloquei o componente, pois ele já traz todos os Arquivos contindos no Diretorio de Origem, assim antes de começar a cópia dos arquivos o Programador já tem a disposição a quantidade de Arquivos e assim poderá informar o percentual correto.....
Já no FindFirst/FindNext, ele não saberá quantos arquivos estará transmitindo.
Como vem com o Fonte, trato como fosse um arquivo normal, ou seja coloco no diretorio do programa e quando preciso levar os fontes somente compacto o diretorio e o componente vai junto, não sendo preciso nenhuma configuração....
Já utilizei muito o FindFirst/FindNext, tanto no Delphi como na Linguagem C/C++....
Também considero que devemos utilizar o minimo de Componentes de Terceiro, pois assim fica mais portavel o Programa....Mas as vezes precisamos de algumas facilidades que não dispomos no componente Padrão do delphi, por isso sempre procuro Componentes com Fonte.... E que possam ser incluidos diretos no Fonte sem precisar instalar no Delphi....
Até mais,
Um abraço....
GOSTEI 0
Nerdex
19/02/2004
Lucas !! tu tens um ponto de vista muito equivocado...
Os componentes que tu instala no Delphi e usará em um projeto, este, ficará, o código do componente grudado no teu projeto, ou seja no teu .exe, assim como todos os componentees nativos do Delphi fazem...
Sendo assim, vc não precisará, de forma algum, instalar components nas máquinas que vc instalar o teu projeto. além do mais componentes são geralmente ´vistas´, somente pelo compilador Delphi...
E o seguinte...existem com certeza, melhores componentes, do que os nativos do Delphi, por aí....
Os componentes que tu instala no Delphi e usará em um projeto, este, ficará, o código do componente grudado no teu projeto, ou seja no teu .exe, assim como todos os componentees nativos do Delphi fazem...
Sendo assim, vc não precisará, de forma algum, instalar components nas máquinas que vc instalar o teu projeto. além do mais componentes são geralmente ´vistas´, somente pelo compilador Delphi...
E o seguinte...existem com certeza, melhores componentes, do que os nativos do Delphi, por aí....
GOSTEI 0