c: char;
s: string;
DriveType: integer;
for c:='A' to 'Z' do
begin
s:=c+':';
DriveType:=GetDriveType(PChar(s));
if DriveType = DRIVE_REMOTE then begin; //если флеха, то
//Че те там нужно сделать с диском s?
end;
end;
Drive
Вот код:
-------------------------------------------------------------------------
function IsDriveReady(DriveLetter : char) : bool;
var
OldErrorMode : Word;
OldDirectory : string;
IsDriveReady:string;
str: bool;
begin
OldErrorMode := SetErrorMode(SEM_NOOPENFILEERRORBOX);
GetDir(0, OldDirectory);
{$I-}
ChDir(DriveLetter + ':\');
{$I+}
if IoResult <> 0 then
Result := False
else
Result := True;
ChDir(OldDirectory);
SetErrorMode(OldErrorMode);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if not IsDriveReady('f') then
begin
end
else
begin
timer1.Enabled:=False;
ShowMessage('Drive is Ready');
end;
end;
-------------------------------------------------------------------------
Код рабочий,только один прикол,каждый раз в коде программы придется менять диск,который нужно определить.Помогите пожалуйста организовать переменную,чтобы пользователь мог сам выбирать диск.
Заранее спасибо.
С уважением,SNAKE
[COLOR=#ff0000][/COLOR]
выдаю тебе нарушение, -5.
Код:
И функция IsDriveReady нафик нужна,если GetDriveType вернет 0 в случае ошибки?