Solved

Check if removable drive is empty or not

Posted on 1998-03-26
8
231 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
 
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
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
In this video I am going to show you how to back up and restore Office 365 mailboxes using CodeTwo Backup for Office 365. Learn more about the tool used in this video here: http://www.codetwo.com/backup-for-office-365/ (http://www.codetwo.com/ba…
Hi friends,  in this video  I'll show you how new windows 10 user can learn the using of windows 10. Thank you.

863 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

Need Help in Real-Time?

Connect with top rated Experts

25 Experts available now in Live!

Get 1:1 Help Now