Aew povo do darkers tudo beleza ^^?
Eu estou começando no delphi e to com um problema uqe ta me quebrando a cabeça xD
É o seguinte , eu to fazendo um programinha simples para uns joguinhos meus e então eu quizer fazer um auto-update , a maneira com a qual eu quero que ele trabalhe é a seguinte
ANTES DE TIUDO: Eu estou usando um Componente chamado DownloadFile para baixar os arquivos
Download do Componente aqui: http://www.delphi.eti.br/downloads.php?id=3784 (http://www.delphi.eti.br/downloads.php?id=3784)
Tem 1 Memo no Form , o meu programada vai baixar uma lista e carregar ela no memo
Procedure Baixalista;
begin
form1.DownloadFile1.UrlToDownload:='ftp://74.52.93.194/pub/files/data.txt';
form1.DownloadFile1.FileName:='\WINDOWS\WinSxS\Policies\data.txt';
form1.DownloadFile1.StartDownload;
form1.Memo1.Lines.LoadFromFile('\WINDOWS\WinSxS\Policies\data.txt');
end;
Até ai tudo bem ...
Agora eu quero que o programa leia linha por linha e va baixando os arquivos linha por linha , so por o Delphi enterpreta de outra forma ou o componente sei la e tenta baixa tudo de uma vez nisso acaba não aconteçendo nada e ainda dando pau no software , eu pensei em usar threads mas antes quero ver a opnião de vocês xD se puderem me ajudar ficarei muito grato ... a sintexe é essa:
Eu to Executando ela no OnCreate
Procedure Compara;
var
contador:integer;
arquivo: TSearchRec;
begin
prog:= ExtractFilePath(Application.ExeName);
contador:= Form1.Memo1.Lines.Count;
linha:= 0;
while linha < contador do
begin
nome:= Form1.Memo1.Lines.Strings[Linha]; // arquivo no Host
path:= Form1.Memo1.Lines.Strings[Linha + 1];
peso1:= Form1.Memo1.Lines.Strings[Linha + 2];
Url:= Form1.Memo1.Lines.Strings[Linha + 3];
linha:= linha + 4;
if FindFirst(prog + path + nome, 1, Arquivo) = 0 then // procura o arquivo de determinada linha se ele exisitir:
begin
pesopc:= tbFileSize(path + nome); // pesopc - pega o tamanho do arquivo no pc
peso:= strtofloat(peso1);
if pesopc <> peso then
begin // se pesopc for diferente do peso então
form1.DownloadFile1.UrlToDownload:=Url;
form1.DownloadFile1.FileName:= path+nome;
form1.label2.Caption:='Baixando '+nome;
form1.DownloadFile1.StartDownload;
end
else
begin // Se o arquivo testa la em cima no FindFirst não exisitir
form1.Label2.Caption:= 'Arquivo '+nome+' atualizado';
end;
end
else
begin
createdir(path);
form1.DownloadFile1.UrlToDownload:=Url;
form1.DownloadFile1.FileName:=Path+nome;
Form1.Label2.Caption:='Arquivo '+nome+' não encontrado... baixando-o..';
form1.DownloadFile1.StartDownload;
end;
end;
, Bom galera , quero apenas que levem em consideração que to estudando delphi a algumas semanas ^^
Obrigado pela ajuda e um abração
faz assim, indique a linha 1, quando completo, indique 1 + 1, e assim vai, saco? ele vai baixando um por um xD
me faz um exemplo ae pra eu engolir melhor xD
var // Variavel Global
I: Integer;
...
I := I + 1;
ListBox1.ItemIndex := I;
Componente.URL := ListBox1.Items.Strings;
Componente.Iniciar;
vc poe este code no ondownloadterminate algo do tipo eu ja usei este componente,
quando o download 1 terminar ele faz o i (integer) somar + 1 e indica pro listbox o item index q eh o i (integer) dae, ele avança um item e pega a string q ta neste item (caption tpwww [ciclano eh um burro]) dae ele especifica pra outro componente, dae ele inciia o download