Форум: "Основная";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];
Внизесть ли дискета в дисководе Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c