![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Units Again [D7, XP]
Steep © (2006-10-13 07:16:00)Хотел бы узнать оценку моего стиля кодирования
//======================================================
unit FileSizeS;
interface
uses
SysUtils;
function GetSizeTypeS(Path: String): String;
function GetSizeS(Path: String): integer;
implementation
//Получение типа размера файла в строке(1-б, 2-кб, 3-мб, 4-гб, 5-тб :)
function GetSizeTypeS(Path: String): String;
var
sr : TSearchRec;
FSize : real;
i : byte;
begin
FindFirst(Path, faAnyFile, sr); // Получение атрибутов
FSize := sr.Size;
i := 0;
repeat
i := i+1;
Str( FSize:6:2, result);
FSize := FSize/1024;
until FSize<1;
Case i of
1: result := result + ' байт.';
2: result := result + ' кбайт';
3: result := result + ' мбайт';
4: result := result + ' гбайт';
5: result := result + ' тбайт';
end;
end;
//Получение размера файла в байтах
function GetSizeS(Path: String): integer;
var
sr : TSearchRec;
begin
FindFirst(Path, faAnyFile, sr); // Получение атрибутов
result := sr.Size;
end;
end.
//======================================================
Буду рад любой критике
PS. Спасибо за помощь с юнитом!
PPS.
Если удалять в проге ненужные Uses - уменьшит ли это размер проги? Или ненужные функции процедуры вообще не лезут в exe?
Kolan (2006-10-13 11:07:00) [41]
> Ты бы предыддущих ораторов почитал для начала.
Прочетал, и что? Я про форматирование говорю...
Думкин (2006-10-13 11:05:00) [42]> Kolan © (13.10.06 10:59) [12]
Ты бы предыддущих ораторов почитал для начала.
Джо (2006-10-13 11:03:00) [43]> мой вариант:
Твой вариант тоже в топку. :)
Kolan (2006-10-13 11:00:00) [44]String на string забыл исправить и byte на Byte
Kolan (2006-10-13 10:59:00) [45]Удалено модератором
Игорь Шевченко (2006-10-13 10:39:00) [46]
> Хотел бы узнать оценку моего стиля кодирования
2
Пользователь (2006-10-13 09:28:00) [47]Steep © (13.10.06 07:16)
Наверное, теперь отсутствие стиля - типа, тоже стиль?
ЮЮ (2006-10-13 09:18:00) [48]Кроме одного оператора case нет никакого форматирования. О каком стиле тогда говорить?
Джо (2006-10-13 09:01:00) [49]> несмотрел
не смотрел, сорри.
Джо (2006-10-13 08:59:00) [50]> //Получение размера файла в байтах
> function GetSizeS(Path: String): integer;
function GetSizeS(Path: String): Int64;
Строковые параметры с const.
FindClose обязателен.
Проверять результат, возвращаемый FindFirst и соответствующим образом реагировать, если он не равен 0.
Остальное несмотрел — этого достаточно, чтобы код забраковать на такой стадии :)
Думкин (2006-10-13 08:57:00) [51]> Steep © (13.10.06 08:13) [3]
Только вначале - не надо реал, а потом уже сдвиг вправо.
Westbronx (2006-10-13 08:43:00) [52]> i := i+1;
Я предпочитаю inc(i);, хотя это наверное дело вкуса?
Slym (2006-10-13 08:29:00) [53]стиля нету... где FindClose?
Steep (2006-10-13 08:13:00) [54]
> Я бы в массив оформил.
Да точно можно и в массив..
> Деление на 1024 - shr 10 и не надо real
Не знал..
Спасибо тебе Думкин!
Думкин (2006-10-13 08:06:00) [55]Деление на 1024 - shr 10 и не надо real.
Думкин (2006-10-13 08:03:00) [56]
> Case i of
> 1: result := result + ' байт.';
> 2: result := result + ' кбайт';
> 3: result := result + ' мбайт';
> 4: result := result + ' гбайт';
> 5: result := result + ' тбайт';
> end;
Я бы в массив оформил.
А если по пути - дырка от бублика?