AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Progress bar anzeige

Ein Thema von XXcD · begonnen am 27. Sep 2006 · letzter Beitrag vom 5. Okt 2006
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#11

Re: Progress bar anzeige

  Alt 27. Sep 2006, 20:38
Hab ich grad noch auf Platte gefunden:

Delphi-Quellcode:
// -----------------------------------------------------------------------------

function TForm1.OnStartBinding(dwReserved: DWORD; pib: IBinding): HResult; stdcall;
begin
  Result := E_NOTIMPL;
end; {end function}

// -----------------------------------------------------------------------------

function TForm1.GetPriority(out nPriority): HResult; stdcall;
begin
  Result := E_NOTIMPL;
end; {end function}

// -----------------------------------------------------------------------------

function TForm1.OnLowResource(reserved: DWORD): HResult; stdcall;
begin
  Result := E_NOTIMPL;
end; {end function}

// -----------------------------------------------------------------------------

function TForm1.OnStopBinding(hresult: HResult; szError: LPCWSTR)
  : HResult; stdcall;
begin
  Result := E_NOTIMPL;
end; {end function}

// -----------------------------------------------------------------------------

function TForm1.GetBindInfo(out grfBINDF: DWORD; var bindinfo: TBindInfo)
  : HResult; stdcall;
begin
  Result := E_NOTIMPL;
end; {end function}

// -----------------------------------------------------------------------------

function TForm1.OnDataAvailable(grfBSCF: DWORD; dwSize: DWORD;
  formatetc: PFormatEtc; stgmed: PStgMedium): HResult; stdcall;
begin
  Result := E_NOTIMPL;
end; {end function}

// -----------------------------------------------------------------------------

function TForm1.OnObjectAvailable(const iid: TGUID; punk: IUnknown)
  : HResult; stdcall;
begin
  Result := E_NOTIMPL;
end; {end function}

// -----------------------------------------------------------------------------

function TForm1.OnProgress(ulProgress, ulProgressMax, ulStatusCode: ULONG;
      szStatusText: LPCWSTR): HResult; stdcall;
begin
  with ProgressBar1 do
  begin
    Max := ulProgressMax;
    Position := ulProgress;
  end; {end with}
  Result := NOERROR;
end; {end function}

function cDownloadStatusCallback.OnProgress(ulProgress, ulProgressMax, ulStatusCode: ULONG; szStatusText: LPCWSTR): HResult;
var
  szST : String;
begin
  case ulStatusCode of
    BINDSTATUS_BEGINDOWNLOADDATA:
      begin
        // reset progressbar
        SendMessage(GetDlgItem(hDlg, IDC_PROGRESS), PBM_SETPOS, 0, 0);

        // show current action
        szST := szStatusText;
        SendMessage(GetDlgItem(hDlg, IDC_ACTIONTEXT), WM_SETTEXT, 0,Integer(szST));

        // download exit by the user?
        if ( m_fUserCancel ) then
        begin
          Result := E_ABORT;
          Exit;
        end;
      end;
    BINDSTATUS_DOWNLOADINGDATA:
      begin
        // update progress
        SendMessage(GetDlgItem(hDlg, IDC_PROGRESS), PBM_SETPOS, MulDiv(ulProgress, 100, ulProgressMax), 0);

        // download exit by the user?
        if(m_fUserCancel) then
        begin
          Result := E_ABORT;
          Exit;
        end;
      end;
    BINDSTATUS_ENDDOWNLOADDATA:
      SendMessage(hDlg, WM_CLOSE, 0, 0); // close Download dialog
  end;

  // message pump
  if ( PeekMessage(msg, hDlg, 0, 0, PM_REMOVE) ) then
  begin
    IsDialogMessage(hDlg,msg);
  end;
  Result := S_OK; // default result
end;


function DownloadFile(Source, Dest: String): Boolean;
begin
  try
    Result := ( UrlDownloadToFile(Nil, PChar(Source), PChar(Dest), 0, Nil) = 0 );
  except
    Result := False;
  end;
end;
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#12

Re: Progress bar anzeige

  Alt 5. Okt 2006, 16:01
Also ich habs jetzt endlich mal geschafft die Indy Komponenten zu Instalieren. Jetzt wollte ich das ausprobieren, aber jetzt sagt der mir beim Kompilieren IBinding nicht definiert. Welche Komponente muss ich denn da einbinden?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#13

Re: Progress bar anzeige

  Alt 5. Okt 2006, 16:05
Der Code von Mackhack hat nichts mit den Indys zu tun.

http://www.michael-puff.de/Developer..._progress.html
Geht genauso mit HTTP und Download.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#14

Re: Progress bar anzeige

  Alt 5. Okt 2006, 17:13
Ich hab das Programm jetzt mal ausprobiert aber das klappt nichts das müsste schon direkt ein Tutorial sein mit http und download.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz