Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Units Again [D7, XP]


Страницы:   1 2 3

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;


Я бы в массив оформил.

А если по пути - дырка от бублика?


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо