Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.25;
Скачать: CL | DM;

Вниз

есть ли дискета в дисководе   Найти похожие ветки 

 
MetalFan ©   (2002-11-14 11:56) [0]

Мастера, подскажите плз, как определить, вставлена ли дискета в дисковод?
спсб.


 
Marcus   (2002-11-14 12:47) [1]

PrevErrMode := SetErrorMode(SEM_FAILCRITICALERRORS or SEM_NOOPENFILEERRORBOX);

Result := SetCurrentDirectory("A:\");

if Result = false then
MessageDlg("Диска нет");

SetErrorMode(PrevErrMode);


 
SI-riuss ©   (2002-11-14 12:54) [2]

<HTML>
<HEAD>
<TITLE>Как узнать, находится ли дискета в дисководе?</TITLE>
</HEAD>

<BODY BGCOLOR="#FFFFFF">
<BR>
<center><h3>Как узнать, находится ли дискета в дисководе?</h3></center>

<PRE><TT>
type
TDriveState(DS_NO_DISK, DS_UNFORMATTED_DISK,
DS_EMPTY_DISK, DS_DISK_WITH_FILES);

function DriveState(DrvLetter: Char): TDriveState;

var
Mask: String[6];
SearchRec: TSearchRec;
oldMode: Cardinal;
ReturnCode: Integer;

begin
oldMode: = SetErrorMode(SEM_FAILCRITICALERRORS);
Mask:= <FONT COLOR="#0000FF">"?:\*.*"</FONT>;
Mask[1] := DrvLetter;
<FONT COLOR="#000080"> {$I-}</FONT> <FONT COLOR="#000080"> { отключить обработку исключительных ситуаций }</FONT>
ReturnCode := FindFirst(Mask, faAnyfile, SearchRec);
FindClose(SearchRec);

<FONT COLOR="#000080"> {$I+}</FONT>
case ReturnCode of
<FONT COLOR="#000080"> { как минимум один файл был найден }</FONT>
0: Result := DS_DISK_WITH_FILES;
<FONT COLOR="#000080"> { файлов не найдено и дискета в порядке }</FONT>
-18: Result := DS_EMPTY_DISK;
<FONT COLOR="#000080"> { DS_NO_DISK для DOS, ERROR_NOT_READY для WinNT, ERROR_PATH_NOT_FOUND для Win 3.1 }</FONT>
-21, -3: Result := DS_NO_DISK;
else
<FONT COLOR="#000080"> { дискета лежит в дисководе но она не форматировнная }</FONT>
Result := DS_UNFORMATTED_DISK;
end;
SetErrorMode(oldMode);
end; <FONT COLOR="#000080"> { DriveState }</FONT>
</TT></PRE>
<br><br><br><br>
<a href="../r_delphi1_tips.html">Советы начинающим</a>
</BODY>
</HTML>


 
Song ©   (2002-11-14 12:55) [3]

GetVolumeInformation()на метку тома.


 
SI-riuss ©   (2002-11-14 12:55) [4]

Сорри.... :))))

Как узнать, находится ли дискета в дисководе?

type
TDriveState(DS_NO_DISK, DS_UNFORMATTED_DISK,
DS_EMPTY_DISK, DS_DISK_WITH_FILES);

function DriveState(DrvLetter: Char): TDriveState;

var
Mask: String[6];
SearchRec: TSearchRec;
oldMode: Cardinal;
ReturnCode: Integer;

begin
oldMode: = SetErrorMode(SEM_FAILCRITICALERRORS);
Mask:= "?:\*.*";
Mask[1] := DrvLetter;
{$I-} { отключить обработку исключительных ситуаций }
ReturnCode := FindFirst(Mask, faAnyfile, SearchRec);
FindClose(SearchRec);

{$I+}
case ReturnCode of
{ как минимум один файл был найден }
0: Result := DS_DISK_WITH_FILES;
{ файлов не найдено и дискета в порядке }
-18: Result := DS_EMPTY_DISK;
{ DS_NO_DISK для DOS, ERROR_NOT_READY для WinNT, ERROR_PATH_NOT_FOUND для Win 3.1 }
-21, -3: Result := DS_NO_DISK;
else
{ дискета лежит в дисководе но она не форматировнная }
Result := DS_UNFORMATTED_DISK;
end;
SetErrorMode(oldMode);
end; { DriveState }



 
MetalFan ©   (2002-11-14 16:20) [5]

всем сенькс!!!



Страницы: 1 вся ветка

Текущий архив: 2002.11.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.034 c
3-82630
Shen74
2002-11-05 18:11
2002.11.25
Дополнение к предыдущему вопросу


1-82843
old_mole
2002-11-14 10:04
2002.11.25
Char**


14-82933
to666a
2002-11-05 20:34
2002.11.25
сообщения


14-82969
Junior
2002-11-05 01:02
2002.11.25
Прошел все Half-Life-ы...


1-82779
Barman
2002-11-12 23:23
2002.11.25
DeDe