![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отобразить? [D7, WinXP]
MAMBA © (2006-04-13 11:16:00)Получаю файл из инета спомощью функции
function GetInetFile (const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var
hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
rrr : DWORD;
f: File;
sAppName: string;
begin
Result:=False;
sAppName := ExtractFileName(Application.ExeName);
hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
try
hURL := InternetOpenURL(hSession, PChar(fileURL), nil,0,0,0);
try
frmMain.ProgressBar.Max := Strtoint(GetUrlInfo(HTTP_QUERY_CONTENT_LENGTH, ' http://10.252.205.13/Update/Izm/w.exe'));
AssignFile(f, FileName);
Rewrite(f,1);
rrr := 0;
repeat
InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
frmMain.label1.Caption := Floattostr(rrr);
frmMain.label1.Update;
frmMain.ProgressBar.Position := frmMain.ProgressBar.Position + BufferLen;
BlockWrite(f, Buffer, BufferLen);
until BufferLen = 0;
CloseFile(f);
Result:=True;
finally
InternetCloseHandle(hURL)
end
finally
InternetCloseHandle(hSession)
end
end;
как бы мне отобразить количесво скачанных килобайтов в формате 0.00 Kb?
просто в байтах rrr := rrr + BufferLen; а в килобайтах?
Dmitrij_K (2006-04-13 12:38:00) [1]format('%.2f kb',[r/1024])
MAMBA (2006-04-13 12:33:00) [2]elfebet © (13.04.06 12:02) [3]
неа, пишет несоответствие типов
[Error] Unit1.pas(90): Incompatible types: 'Cardinal' and 'Extended'
elfebet (2006-04-13 12:02:00) [3]
> просто в байтах rrr := rrr + BufferLen; а в килобайтах?
ну наверно так rrr := (rrr + BufferLen)/1024;
MAMBA (2006-04-13 11:59:00) [4]Dmitrij_K (13.04.06 11:44) [1]
смотрел, пока не получается
Dmitrij_K (2006-04-13 11:44:00) [5]См. функцию format