Forum > Networking and Web Programming

fphttpclient example downloading with progressbar on the main form.

(1/1)

han:
Attached my fphttpclient example for downloading  files or webpages with a progressbar on the main form.

I could not find any example for downloading files with a progressbar except this one: https://forum.lazarus.freepascal.org/index.php/topic,55886.msg415662.html?PHPSESSID=cq11qlk65nsrfkm6km43hdn7a5#msg415662

but in above example the download progressbar is on a new popup form. My new example allows placing the download progressbar on the main form. The data is placed in a string but it works for both text and binary files.

If OpenSSL is installed or libraries are available in your project directory then HTTPS is supported.

Tested in Windows, Linux and macOS.

Any suggestion to improve the code?

Han

Thaddy:
I would use either a statusbar or put it in the form's caption bar. But it is a good idea.

Leledumbo:

--- Quote from: han on May 29, 2024, 10:29:43 am ---Any suggestion to improve the code?

--- End quote ---
It looks a bit weird to me that the interface is implemented by the form. If I were you, I would just use fphttpclient in the form directly. That OnDataReceived can take a form's method instead, directly updating the progress bar in the form. Despite available, interface is not often used in Object Pascal. The event driven nature of FCL/LCL kinda makes it unnecessary, you just assign event to the corresponding handler instead.

Something as simple as the attached project.

Navigation

[0] Message Index

Go to full version