synapse, logowanie na strone, jak dodać pasek stanu?

0

Witam

Mam program który loguje mnie na moją stronę, Logowanie poprzez synapse.
Loguje się poprzez post i potem otwieram zakładki juz poprzez get. Wszystko ładnie działa ale mam pytanko odnośnie pasku stanu.
Bo logują sie na stronę trochę czaus czekam od 3 do 7 sekund bo są jakies 3 przekirowania i dopiero potem mnie loguje na mój panel admina.
I czy są jakies funkcje które zwracają ile zajmuje strona do pobrania i ile już pobrało? Lub jakiś procedury które to robią w synapse. Bo dzięki temu zrobił bym jakiś pasek postępu odświeżany co sekunde i bym mi to fajnie działało.

Proszę o odpowiedzi. Dziękuję i Pozdrawiam

1

Tak, mozna pokazać postęp. Te przykładowe wycinki kodu mam nadzieję wyjaśnią Tobie wszystko:

uses
  blcksock, httpsend;
//...
public
//...
    SynDL : THttpSend;
    procedure SockCallBack(Sender : TObject; Reason : THookSocketReason; const Value : string);
end;

//...
SynDL.Sock.OnStatus := SockCallBack;
//..

procedure TDownloadProgressForm.SockCallBack(Sender : TObject; Reason : THookSocketReason; const Value : string);
begin
  begin
    if SynDL.DownloadSize > 0 then
    begin
      DownloadedPB.Max := SynDL.DownloadSize;
      if (Reason = HR_ReadCount) then
      begin
        DownloadedPB.Position := DownloadedPB.Position + StrToInt(Value);
      end;
    end;
  end;
end;
//...
0

witaj. Dzięki za odpowiedz

ja mam taki kod

 
HTTP:THTTPSend;

HTTP.DownloadSize:=label1.caption;

To wywala jakiś błąd w tej lini. A to download size co zwraca? Ile zajmuje strona czy ile już pobrano?

0

Konstruktor obiektu THtppSend jak i linijka SynDL.Sock.OnStatus := SockCallBack; ma być oczywiście tam gdzie potrzebujesz żeby stworzono obiekt, dlatego umieściłem "//..." to znaczy, że są to wycinki. I przecież wyrażnie widać, że DownloadSize ustawiamy w procedurze zdarzenia Sock.OnStatus czyli u mnie SockCallBack. Widzisz, że własności Max ProgressBara przypisuje wartość DownloadSize, to już masz odpowiedź do czego ta wartość jest. Oczywiście przypisanie DownloadSize robisz w procedurze obsługi zdarzenia Sock.OnStatus. A i widzę również w przysłanych mi e-mailem informacjach, że TomRiddle jak zwykle musiał "zabłysnąc" i się mnie niepotrzebnie czepiać, zamiast najpierw sprawdzić. Mimo, że pousuwał już swoje komentarze, to dla jego wiadomości: moduł blcksock musi być w uses, bo Delphi nie wiedziało by co to jest za typ THookSocketReason.

0

a no tak. Teraz już wszystko jasne.
Bardzo dziękuję

1 użytkowników online, w tym zalogowanych: 0, gości: 1