Модуль "P2KFileManager" (часть 4) - GetDrives
последняя версия: 3.0.9 build 961 beta
от 07 декабря 2007 г.
от 07 декабря 2007 г.
function TfrmP2KFileManager.GetDrives(const ADriveStr: string; var ADrives: TDrivesName): byte; var i : byte; s: string; z: integer; x: integer; begin result:= 0; z:= 0; x:= 0; s:= ADriveStr;
if ADrives <> nil then ADrives:= nil;
if (s[1] = '/') and (length(s) >= 2) then result:= 1;
for i:=1 to length(s) do if (s[i] = #13){ and (s[i+1] = #10)} then inc(result);
if result >= 1 then
begin
case iReadDisks of
0 : begin //0 - все доступные,
SetLength(ADrives, result);
for i:= 1 to result do
begin
ADrives[i-1].Name:= Trim(ExtractStr(s, #13));
{***} Logger('*** Получение свободного места диска ' + ADrives[i-1].Name);
z:= P2K.GetVolumeSize(ADrives[i-1].Name);
ADrives[i-1].Size:= z;
{***} Logger('*** Размер диска ' + ADrives[i-1].Name + ' = ' + IntToStr(z));
end;
end;
1 : begin //1 - не читать флешку (/b)
//if result > 1 then SetLength(ADrives, result-1)
// else SetLength(ADrives, result);
if result > 1 then x:= result-1
else x:= result;
SetLength(ADrives, x);
for i:= 1 to x do
begin
ADrives[i-1].Name:= Trim(ExtractStr(s, #13));
{***} Logger('*** Получение свободного места диска ' + ADrives[i-1].Name);
z:= P2K.GetVolumeSize(ADrives[i-1].Name);
ADrives[i-1].Size:= z;
{***} Logger('*** Размер диска ' + ADrives[i-1].Name + ' = ' + IntToStr(z));
end;
end;
2 : begin //2 - только диск /a
SetLength(ADrives, 1);
ADrives[0].Name:= '/a';
{***} Logger('*** Получение свободного места диска ' + ADrives[0].Name);
z:= P2K.GetVolumeSize(ADrives[0].Name);
ADrives[0].Size:= z;
{***} Logger('*** Размер диска ' + ADrives[0].Name + ' = ' + IntToStr(z));
end;
3 : begin //3 - только диск /c
SetLength(ADrives, 1);
ADrives[0].Name:= '/c';
{***} Logger('*** Получение свободного места диска ' + ADrives[0].Name);
z:= P2K.GetVolumeSize(ADrives[0].Name);
ADrives[0].Size:= z;
{***} Logger('*** Размер диска ' + ADrives[0].Name + ' = ' + IntToStr(z));
end;
4 : begin //3 - только диск /c
SetLength(ADrives, 1);
ADrives[0].Name:= '/e';
{***} Logger('*** Получение свободного места диска ' + ADrives[0].Name);
z:= P2K.GetVolumeSize(ADrives[0].Name);
ADrives[0].Size:= z;
{***} Logger('*** Размер диска ' + ADrives[0].Name + ' = ' + IntToStr(z));
end;
end;
//SetLength(ADrives, result);
{
for i:= 1 to result do
begin
ADrives[i-1].Name:= Trim(ExtractStr(s, #13));
z:= P2K.GetVolumeSize(ADrives[i-1].Name);
ADrives[i-1].Size:= z;
end;
}
end;
end;
Еще записи по теме
- Модуль "АТ-команды" (часть 3) - определение переменных и типов данных
- Главный модуль программы (часть 3)
- Модуль "Flash Rainbow POG" (часть 8) - POG_UpLoadMemory
- Модуль "Редактирование меню" (часть 7) - cbKJavaInstalledChange
- Модуль "Информация АТ" (часть 12) - getOwnNumbers
- Модуль "Мое меню" (часть 1) - определение переменных и типов данных
- Модуль "Flash_SHX" (часть 3) - SplitSHX
