Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите....узнать метку диска

2.2K
20 апреля 2006 года
fogg
114 / / 21.02.2006
Как узнать метку диска?
Как округлить тип real(float) до сотен?(например было 6,2545, а необходимо получить 6,25)
Заранее благодарен
:P
303
21 апреля 2006 года
makbeth
1.0K / / 25.11.2004
Цитата:
Originally posted by fogg
Как узнать метку диска?
Как округлить тип real(float) до сотен?(например было 6,2545, а необходимо получить 6,25)
Заранее благодарен
:P


1.

Код:
function VolumeID(DriveChar: Char): string;
var
  OldErrorMode: Integer;
  NotUsed, VolFlags: DWORD;
  Buf: array [0..MAX_PATH] of Char;
begin
  OldErrorMode := SetErrorMode(SEM_FAILCRITICALERRORS);
  try
    Buf[0] := #$00;
    if GetVolumeInformation(PChar(DriveChar + ':\'), Buf, DWORD(sizeof(Buf)),
      nil, NotUsed, VolFlags, nil, 0) then
      SetString(Result, Buf, StrLen(Buf))
    else Result := '';
    if DriveChar < 'a' then
      Result := AnsiUpperCaseFileName(Result)
    else
      Result := AnsiLowerCaseFileName(Result);
    Result := Format('[%s]',[Result]);
  finally
    SetErrorMode(OldErrorMode);
  end;
end;

ЗЫ: Выдрал из VCL (модуль FileCtrl), мож че лишнее будет - смотри сам...

2.
 
Код:
Result:=Round(Value * 100) / 100

подойдет?
5
21 апреля 2006 года
hardcase
4.5K / / 09.08.2005
Цитата:
Originally posted by makbeth
 
Код:
Result:=Round(Value * 100) / 100

подойдет?

Думаю, он имел несколько другое в виду - форматированный вывод вещественного числа с заданной точностью:

 
Код:
Str:=Format('Rounded float number is %.3g', [float])
2.2K
23 апреля 2006 года
fogg
114 / / 21.02.2006
Цитата:
Originally posted by makbeth
1.
Код:
function VolumeID(DriveChar: Char): string;
var
  OldErrorMode: Integer;
  NotUsed, VolFlags: DWORD;
  Buf: array [0..MAX_PATH] of Char;
begin
  OldErrorMode := SetErrorMode(SEM_FAILCRITICALERRORS);
  try
    Buf[0] := #$00;
    if GetVolumeInformation(PChar(DriveChar + ':\'), Buf, DWORD(sizeof(Buf)),
      nil, NotUsed, VolFlags, nil, 0) then
      SetString(Result, Buf, StrLen(Buf))
    else Result := '';
    if DriveChar < 'a' then
      Result := AnsiUpperCaseFileName(Result)
    else
      Result := AnsiLowerCaseFileName(Result);
    Result := Format('[%s]',[Result]);
  finally
    SetErrorMode(OldErrorMode);
  end;
end;

ЗЫ: Выдрал из VCL (модуль FileCtrl), мож че лишнее будет - смотри сам...

2.
 
Код:
Result:=Round(Value * 100) / 100

подойдет?


Спасибо! Все работает

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог