Главная страница
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.019 c
1-82759
Idiot
2002-11-15 14:37
2002.11.25
коплексное число


4-83072
Василий2
2002-10-14 12:50
2002.11.25
Как в консольной проге


1-82827
_Novichok
2002-11-14 09:29
2002.11.25
TreeView


3-82631
KAA
2002-10-31 22:27
2002.11.25
Запрос работает по разному.


3-82596
ton2
2002-11-04 13:33
2002.11.25
Не работает фильтр в IBQuery