Skocz do zawartości
Zamknięcie Forum PC LAB

Szanowny Użytkowniku,

Informujemy, że za 30 dni tj. 30 listopada 2024 r. serwis internetowy Forum PC LAB zostanie zamknięty.

Administrator Serwisu Forum PC LAB - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie: wypowiada całość usług Serwisu Forum PC LAB z zachowaniem miesięcznego okresu wypowiedzenia.

Administrator Serwisu Forum PC LAB informuje, że:

  1. Z dniem 29 listopada 2024 r. zakończy się świadczenie wszystkich usług Serwisu Forum PC LAB. Ważną przyczyną uzasadniającą wypowiedzenie jest zamknięcie Serwisu Forum PC LAB
  2. Dotychczas zamowione przez Użytkownika usługi Serwisu Forum PC LAB będą świadczone w okresie wypowiedzenia tj. do dnia 29 listopada 2024 r.
  3. Po ogłoszeniu zamknięcia Serwisu Forum od dnia 30 października 2024 r. zakładanie nowych kont w serwisie Forum PC LAB nie będzie możliwe
  4. Wraz z zamknięciem Serwisu Forum PC LAB, tj. dnia 29 listopada 2024 r. nie będzie już dostępny katalog treści Forum PC LAB. Do tego czasu Użytkownicy Forum PC LAB mają dostęp do swoich treści w zakładce "Profil", gdzie mają możliwość ich skopiowania lub archiwizowania w formie screenshotów.
  5. Administrator danych osobowych Użytkowników - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie zapewnia realizację praw podmiotów danych osobowych przez cały okres świadczenia usług Serwisu Forum PC LAB. Szczegółowe informacje znajdziesz w Polityce Prywatności

Administrator informuje, iż wraz z zamknięciem Serwisu Forum PC LAB, dane osobowe Użytkowników Serwisu Forum PC LAB zostaną trwale usunięte ze względu na brak podstawy ich dalszego przetwarzania. Proces trwałego usuwania danych z kopii zapasowych może przekroczyć termin zamknięcia Forum PC LAB o kilka miesięcy. Wyjątek może stanowić przetwarzanie danych użytkownika do czasu zakończenia toczących się postepowań.

Temat został przeniesiony do archiwum

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

gates22

[Delphi]Synchronizacja ProgressBar'a z funkcją URLDownloadToFile

Rekomendowane odpowiedzi

Witam. Mam pewien kłopot. Szukałem na necie, jednak nic interesującego nie znalazłem, więc zwracam się do was. Otóż w moim programie (w Delphi) używam funkcji URLDownloadToFile (do pobrania pliku, a dokładniej do aktualizacji programu). I chciałbym, żeby status pobrania pliku, czy jak kto woli, procentowe pokazanie ile już zostało ściągnięte, był pokazany za pomocą progress bara. Tak jak w menedżerach pobierania itp. Tylko nie bardzo wiem, jak zsynchronizować pg i tą funkcję. Czy ktoś wie, jak mi pomóc? Z góry dziękuję :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

pobierz na poczatku wielkosc pliku do sciagniecia, przy pobieraniu jesli sie da, to podepnij sie pod miejsce odbioru danych, tam dopisujesz licznik := licznik + odebranych ; i na koniec zmieniasz polozenie paska w progressbarze

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Witam uprzejmie

 

Ja chętnie podepnę się pod temat.

 

function UpdateDownload(UpdateSource, UpdateDestination: String): Boolean;
begin
 try
   Result:=URLDownloadToFile(nil, PChar(UpdateSource), PChar(UpdateDestination), 0, nil) = 0;
 except
   Result:=false;
 end;
end;

procedure TForm1.FormCreate(Sender: TObject);
const
 UpdateSource='http://adres_do_pliku/plik.zip';
 UpdateDestination='c:\plik.zip';
begin
 if UpdateDownload(UpdateSource, UpdateDestination) then
   begin
     ShowMessage('Plik pobrano pomyślnie');
   end
 else
   begin
     ShowMessage('Plik nie pobrano pomyślnie');
   end;
 Close;
end.

 

W jaki sposób odczytać wielkość pliku plik.zip i powiązać go z ProgressBar?

Pozdrawiam serdecznie.

 

Z poważaniem

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Witam uprzejmie

 

do lokalnego wystarczy odwołanie się do tsearchrec

 

Do lokalnego:

 

procedure TForm1.FormCreate(Sender: TObject);
var
 SearchResult: TSearchRec;
 FileSize: string;
begin
 if FindFirst('C:\plik.zip', faAnyFile, SearchResult) = 0 then
 begin
   FileSize:=IntToStr(SearchResult.Size);
   FindClose(SearchResult);
 end;
end;

 

Podczas pobierania pliku powiększa się on z każdą następną chwilą :) ...w jaki sposób czytać od nowa jego następną wartość FileSize?

Pozdrawiam serdecznie.

 

Z poważaniem

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Witam uprzejmie

 

Dziękuję za linka, jednak użyłem innego kodu :) ...mimo wszystko mam teraz inny problem.

Mianowicie, nie mogę poradzić sobie z cachem, jak raz pobieram plik, to jest OK, ale drugi raz, to już bierze z cache, a nie z serwera.

...ale to już nie na moje możliwości po 22 dniach Delphi 7. Póki co zrobiłem obejście i każda nowa aktualizacja posiada swoją unikatową nazwę pliku.

Dziękuję za niezwykle cenne wskazówki.

Pozdrawiam serdecznie.

 

Z poważaniem

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...