Solved

Check if removable drive is empty or not

Posted on 1998-03-26
8
233 Views
Last Modified: 2010-04-06
Hi,
I have a jazz drive.
How can i check if it is empty or not ?
It's a removable drive.
Your solution should work, under 95 and NT
Thanks
0
Comment
Question by:jeurk
  • 3
  • 2
  • 2
  • +1
8 Comments
 
LVL 1

Expert Comment

by:Socrates050697
ID: 1360911
Never used a Jazz Drive but if it has a drive letter, then can''t you use the same code as I just gave you for a floppy drive, but changing the drive letter - as in :


    if FileExists('a:\*.*') then
    begin
       (disk in drive)
    end
    else
    begin
       (no disk in drive or disk not formatted)
    end;


    Socrates
0
 
LVL 1

Expert Comment

by:pjdb
ID: 1360912
I would put it inside a try / except / end just to make sure about exception if there is no drive or is the drive is not formatted (or corrupted).

JDB
0
 
LVL 4

Expert Comment

by:itamar
ID: 1360913
Hi all,

What if the disk is empty (but in the driver) ? I think FileExists will return false.

Perhaps a better solution could be:
Drive := 1  // 0 = Current, 1 = A, 2 = B, etc.
if DiskSize(Drive)>0 then
  begin
    Label1.Caption := '(disk in drive)'
   end
else
   begin
      Label1.Caption := '(no disk in drive or disk not formatted)'
end;

IHTH,
Itamar
0
ScreenConnect 6.0 Free Trial

Check out the updates in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI that improves session organization and overall user experience. See the enhancements for yourself!

 
LVL 1

Accepted Solution

by:
pjdb earned 50 total points
ID: 1360914
Same as on the other thread :

function DiskInDrive(DrvNum:byte):Boolean;
var
      EMode: Word;
begin
      result:=false;
      EMode:=SetErrorMode(SEM_FAILCRITICALERRORS);
      try
            if DiskSize(DrvNum)<>-1 then
                  result:=true;
      finally
            SetErrorMode(EMode);
      end;
end;      {DiskInDrive}

It work with NT and Win 95 without raising some message(s)

JDB
0
 
LVL 4

Expert Comment

by:itamar
ID: 1360915
Hummm,

I see that pjdb took my comment, elaborate it a little and placed as an answer .....
Not a very good conduct....
Let's hear smth from jeurk.

And just another what if...

What if the disk is unformatted. The proposed function (and my comment itself) will give a result of false, what is not absolutely right. The drive is not fisically empty.

Perhaps it is critical to jeurk's usage, so let's hear from him.

Bye,
Itamar
0
 
LVL 4

Author Comment

by:jeurk
ID: 1360916
Like I sayd in the other thread I'll check the things out.
About the unformatted thing, itamar, I does not really matter,
but for sure if you know how to detect if the drive is unformatted
You will earn some points;

Jeurk
0
 
LVL 1

Expert Comment

by:pjdb
ID: 1360917
Sorry itamar to have token your answer but i've post only 2 minutes after you. In fact when i've load the page there was no answer (i was probably seeking my code when you post it). Moreover, your code does not work under NT (it raise an error on floppies).

Jeurk can evaluate know will have points (i wont send any more message on this thread)

JDB



0
 
LVL 4

Author Comment

by:jeurk
ID: 1360918
Hi,
Let's say I'll give those points out, so that we close the thead.
Sorry itamar, but u won't get a point for that question.
What can I say ? It's true that your answer is near of pjdb's,
but it's true that it raises an error under NT.
Don't take it personnel, please.
I you don't like that, let me know and I'll make  a thead just for you
and I'll grant you 50 points too. I don't wan you to be sad about that, ok ?

Jeurk.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question