Wert für Progressbargadget

Anfängerfragen zum Programmieren mit PureBasic.
Burstnibbler
Beiträge: 58
Registriert: 04.10.2008 12:10

Re: Wert für Progressbargadget

Beitrag von Burstnibbler »

schleicher hat geschrieben:Für Vorschläge, wie man das ganze vereinfachen kann wäre ich dankbar.
Naja, nicht wirklich eine Vereinfachung, aber zumindest fallen die Stringumwandlungen weg.

Code: Alles auswählen

EnableExplicit
;
#MAX_LONG = $FFFFFFFF >> 1; 2 GiB
#GIB_1    = $FFFFFFFF >> 2; 1 GiB
;
Define.l loop
Define.q result, bytes, lastBytes, rcvdBytes
;
Procedure.l FTPfunc(inc.i);Pseudo-Function
  ProcedureReturn #GIB_1 * inc
EndProcedure
;
For loop = 1 To 10
  result = FTPfunc(loop)
  Select result
    Case #PB_FTP_Started  : Debug "Gestartet"
    Case #PB_FTP_Error    : Debug "Fehler"
    Case #PB_FTP_Finished : Debug "Fertig"
    Default
      If (result < #PB_FTP_Finished)
        bytes = (#MAX_LONG - (-result))
      Else
        bytes = result
      EndIf
  EndSelect
  If (bytes > lastBytes)
    rcvdBytes + (bytes - lastBytes)
  Else
    rcvdBytes + bytes
  EndIf    
  lastBytes = bytes
  Debug rcvdBytes
Next
;
MfG,
Burstnibbler

Edith: hatte was vergessen
Antworten