![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Дайте функцию которая из числа
Vanilla Creature © (2005-10-03 19:42:00)(размер файла) делает стринг 2КБ, 1.4МБ ? итп
Vanilla Creature (2005-10-03 20:55:00) [1]Спасибо
Zeqfreed (2005-10-03 20:32:00) [2]Zeqfreed © (03.10.05 20:30) [4]
while (val >= 1024) and (idx < 3)do begin
Ну что же поделать с этой невнимательностью..
Zeqfreed (2005-10-03 20:30:00) [3]Zeqfreed © (03.10.05 20:14) [3]
function SizeToString(Value : Int64) : String;
const
names : array[0..3] of String[5] = ('bytes', 'Kb', 'Mb', 'Gb');
var
idx : Integer;
val : Single;
begin
idx := 0;
val := value;
while val >= 1024 do begin
val := val / 1024;
Inc(idx);
end;
Result := Format('%3.3f %s', [val, names[idx]]);
end;
Такой вариант мне больше нравится :)
Zeqfreed (2005-10-03 20:14:00) [4]Vanilla Creature (03.10.05 19:42)
function SizeToString(const Value : Integer) : String;
var
val : Single;
postfix : String;
begin
if (Value >= 1024 * 1024) then begin
val := Value / (1024 * 1024);
postfix := 'MB';
end else if Value >= 1024 then begin
val := Value / (1024);
postfix := 'KB';
end else begin
val := Value;
postfix := 'Bytes';
end;
Result := Format('%3.3f %s', [val, postfix]);
end;
> Дайте функцию
Подав.. ой, что ж это я такой злой сегодня?..
Насладитесь, пожалуйста!
Fay (2005-10-03 19:58:00) [5]function YourFunc(sz : Int64) : String;
begin
Result := '2КБ, 1.4МБ ? итп';
end;
Spaller (2005-10-03 19:47:00) [6]ну а че ту сложного смотришь размер если больше 1024 значит килобайт и так далее, потом все делишь и переводишь в стринг floattostr :) и добавляешь "кб" или "мб" ну и тд...прояви выдумку