Pada kesempatan kali ini saya akan membagikan cara menampilkan total download
dan total upload pada delphi 7
1. Buka delphi 7 di compi nte jangan di compi lain
2. Tambahkan pada unitnya componen magras, kalau belum punya bisa download DISINI atau DISINI
3. Tambahkan magrasapi, magsubs1, WinSock, Registry, ShellAPI, Menus pada bagian unitnya
4. Tambahkan
ConnHandle: HRasConn ;
ConnName: string ;
LastState: integer ;
LastXmit, LastRecv, LastTime: DWORD ;
di atas implementation
5. Kemudian tambah Edit dan label pada unitnya.
6. Tambahkan coding berikut tepat di bawah
implementation
{$R *.dfm}
function BytesToFriendlyString(Value : DWord) : string;
const
OneKB = 1024;
OneMB = OneKB * 1024;
OneGB = OneMB * 1024;
begin
if Value < OneKB then
Result := FormatFloat('#,##0.00 B',Value)
else
if Value < OneMB then
Result := FormatFloat('#,##0.00 KB', Value / OneKB)
else
if Value < OneGB then
Result := FormatFloat('#,##0.00 MB', Value / OneMB)
else if Value > OneGB then
Result := FormatFloat('#,##0.00 GB', Value / OneGB)
end;
function BitsToFriendlyString(Value : DWord) : string;
const
OneKB = 1000;
OneMB = OneKB * 1000;
OneGB = OneMB * 1000;
begin
if Value < OneKB then
Result := FormatFloat('#,##0.00 bps',Value)
else
if Value < OneMB then
Result := FormatFloat('#,##0.00 Kbps', Value / OneKB)
else
if Value < OneGB then
Result := FormatFloat('#,##0.0 Mbps', Value / OneMB)
end;
7. Tambahkan timer dan masukan coding berikut
procedure TForm1.Timer1Timer(Sender: TObject);
var
newname: string ;
curxmit, currecv, interval: DWORD ;
begin
newname := MagRasCon.GetConnection ;
if newname = '' then
begin
if ConnHandle = 0 then exit ;
ConnHandle := 0 ;
exit ;
end ;
if ConnHandle <> MagRasCon.CurRASConn then
begin
ConnHandle := MagRasCon.CurRASConn ;
ConnName := MagRasCon.CurConnName ;
MagRasPer.ResetPerfStats ; // clear stats
if MagRasOSVersion >= OSW2K then
MagRasPer.PerfRasConn [1] := ConnHandle ;
LastXmit := MagRasPer.PerfXmitCur [0] ;
LastRecv := MagRasPer.PerfRecvCur [0] ;
LastTime := GetTickCount ;
end ;
MagRasCon.CurrentStatusEx (ConnHandle, 0) ;
if LastState <> MagRasCon.ConnectState then
begin
LastState := MagRasCon.ConnectState ;
end ;
if (MagRasCon.ConnectState = RASCS_Connected) then
begin
MagRasPer.GetPerfStats ;
curxmit := MagRasPer.PerfXmitCur [0] - LastXmit ;
currecv := MagRasPer.PerfRecvCur [0] - LastRecv ;
interval := GetTickCount - LastTime ;
LastXmit := MagRasPer.PerfXmitCur [0] ;
LastRecv := MagRasPer.PerfRecvCur [0] ;
LastTime := GetTickCount ;
sEdit1.Text := BytesToFriendlyString (MagRasPer.PerfXmitCur [0]);
sEdit2.Text := BytesToFriendlyString (MagRasPer.PerfRecvCur [0]);
end;
end;
var
newname: string ;
curxmit, currecv, interval: DWORD ;
begin
newname := MagRasCon.GetConnection ;
if newname = '' then
begin
if ConnHandle = 0 then exit ;
ConnHandle := 0 ;
exit ;
end ;
if ConnHandle <> MagRasCon.CurRASConn then
begin
ConnHandle := MagRasCon.CurRASConn ;
ConnName := MagRasCon.CurConnName ;
MagRasPer.ResetPerfStats ; // clear stats
if MagRasOSVersion >= OSW2K then
MagRasPer.PerfRasConn [1] := ConnHandle ;
LastXmit := MagRasPer.PerfXmitCur [0] ;
LastRecv := MagRasPer.PerfRecvCur [0] ;
LastTime := GetTickCount ;
end ;
MagRasCon.CurrentStatusEx (ConnHandle, 0) ;
if LastState <> MagRasCon.ConnectState then
begin
LastState := MagRasCon.ConnectState ;
end ;
if (MagRasCon.ConnectState = RASCS_Connected) then
begin
MagRasPer.GetPerfStats ;
curxmit := MagRasPer.PerfXmitCur [0] - LastXmit ;
currecv := MagRasPer.PerfRecvCur [0] - LastRecv ;
interval := GetTickCount - LastTime ;
LastXmit := MagRasPer.PerfXmitCur [0] ;
LastRecv := MagRasPer.PerfRecvCur [0] ;
LastTime := GetTickCount ;
sEdit1.Text := BytesToFriendlyString (MagRasPer.PerfXmitCur [0]);
sEdit2.Text := BytesToFriendlyString (MagRasPer.PerfRecvCur [0]);
end;
end;
8. Selesai.
Terima kasih telah membaca artikel Cara menampilkan total download dan total upload pada delphi 7 , selamat mencoba dan semoga bermanfaat.
Bagi yang berminat untuk melihat contoh Source Codenya bisa download DISINI atau DISINI
Tidak ada komentar :
Posting Komentar