Check if removable drive is empty or not

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
LVL 4
jeurkAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Socrates050697Commented:
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
pjdbCommented:
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
itamarCommented:
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
Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

pjdbCommented:
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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
itamarCommented:
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
jeurkAuthor Commented:
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
pjdbCommented:
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
jeurkAuthor Commented:
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
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.