[delphi] jak cicho sprawdzić dysk wymienny

0

Gdy sprawdzam czy jest cos na dysku 'a:' (czytnik dyskietek) a dysku nie ma w środku wyskauje wszystkim dobrze znana wiadmość :

Brak dysku:
W stacji nie ma dysku.Włóż dysk do stacji A:.

Anuluj Ponów p. Kontynuuj

Używałem do tego FileExists i TSearchRec

Jak obejść ten błąd , ukryć go ?
Wie ktoś jak to zrobić ?

0

SetErrorMode(sem_NoOpenFileErrorBox); itp.

0

sorki ale nie bardzo wiem jak tego użyć , poprośił bym troksze jasniej, może jakiś przykład ?

0

Sorki ale dalej tego nie <ort>rozumiem </ort>, <ort>niezaliczam </ort>sie do zaawansowanych.<ort>Niewiem </ort>jak mam to zastosować ?

0

wpisz to przed tym co się odwołujesz do stacji dyskietek

begin
to coś
twój kod
end;

możesz też objąć chyba w klamerkę bez sprawdzania błędów IO

begin
{$I-}
to coś
twój kod
IOResult;
{$I+}
end;

0

Bez skutku , zrobiłem to tak :

procedure TForm1.Button1Click(Sender: TObject);
begin
{$I-}
SetErrorMode(sem_NoOpenFileErrorBox);
if fileexists('a:*.*') then showmessage('jest') else showmessage('nie ma');
IOResult;
{$I+}
end;

0
Bobi napisał(a)

Bez skutku , zrobiłem to tak :

procedure TForm1.Button1Click(Sender: TObject);
begin
{$I-}
SetErrorMode(sem_NoOpenFileErrorBox);
if fileexists('a:*.*') then showmessage('jest') else showmessage('nie ma');
IOResult;
{$I+}
end;

no i dobrze poza szczególikiem że prawa działać nie ma, bo o ile błędu wyświetlać już nie powinno to w fileexists nie można używać masek, więc musisz podaj mu w parametrze konkretny plik, sprawdź przed findfirst, findnext, a poza tym gdzieś w faqu jest kod na sprawdzanie gotowości urządzenia (zdaje się ta sama procedura co listuje urządzenia takie jak twarde dyski, pokazuje też gotowość urządzenia)

  • dopisane: http:*4programmers.net/faq.php?id=343
0

Dzięki :)

0

tak swoją drogą to pomogamy w pisaniu trojana... bobi, strzeż się.

1 użytkowników online, w tym zalogowanych: 0, gości: 1