Announcement

Collapse
No announcement yet.

Feststellen, ob Diskette schreibgeschützt?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Feststellen, ob Diskette schreibgeschützt?

    Hallo,

    kann mir bitte jemand sagen, wie man feststellt, ob eine Diskette schreibgeschützt ist?

    Vielen Dank...

    Uli Becker

  • #2
    Hallo,

    am einfachsten wird es sein, vor dem ersten Schreibzugriff den ErrorMode neu zu setzen und schreibend auf die Diskette zuzugreifen:
    <pre>
    var
    dwErrorMode : DWORD;
    begin
    dwErrorMode := SetErrorMode(SEM_FailCriticalErrors);
    try
    ...
    finally
    SetErrorMode(dwErrorMode);
    end;
    </pre>

    SEM_FAILCRITICALERRORS: The system does not display the critical-error-handler message box. Instead, the system sends the error to the calling process

    Comment


    • #3
      Vielen Dank..

      Comment


      • #4
        Das angegebene Bespiel ist zwar ganz gut, besser finde ich aber, wenn man nicht nur den Schreibschutz testet, sondern auch auf andere Probleme eingeht (nicht formatierte Diskette, ist Diskette überhaupt eingelegt etc.) Dazu schlage ich folgende kleine Funktion vor:

        function DiskInDrv(lw: Char; Statusanzeige:boolean) : boolean;
        // funktion, status der diskette im laufwerk
        var sRec : TSearchRec;
        i : Integer;
        begin
        result := False;
        i := FindFirst(lw +':\*.*', faAnyfile, SRec);
        FindClose(SRec);
        case i of
        0 : result := True; //Diskette mit Dateien
        2, 18 : begin
        If Statusanzeige then
        Showmessage('Disk in Drive ' + lw + ' is empty!');
        Result := True;
        end;
        21,3 : if Statusanzeige then
        Showmessage('No Disk in Drive ' + lw);
        else If Statusanzeige then
        Showmessage('Disk not format ' + inttostr(i));
        end;
        end

        Comment


        • #5
          Hallo Mike,

          danke für deinen wirklich guten Tip. Die Windows-Fehlercodes, die du verwendest, kannte ich nicht.

          Gruß Ul

          Comment


          • #6
            Hallo Mike,

            aber was ist mit dem Schreibschutz

            Comment

            Working...
            X