Español
Fuente/ Codesnippets

Bereit Ein Laufwerk Laufwerke Testen

 

KompilierenMarcaSeparación
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Laufwerke  - Testen, ob ein Laufwerk bereit ist
Lauffähig ab Profan-Version 5.0
PRFellow-Vorlage
Autor: Thomas Hölzer
3 Routinen zum Testen, ob ein Laufwerk bereit ist
a) IsDriveReady: alle neueren 16+32 Bit Profan-Versionen
Funktioniert auch mit Partitionen > 2 GB, bei denen DiskSize
einen negativen Wert wg. Integerüberlauf zurückliefert.
2 weitere Prozeduren nur um die ErrorMode-Funktionen
vorzustellen, was aber bei Profan nicht unbedigt sein muß,
weil die an sich fällige  kritische Fehlermeldung offenbar
schon von Profan abgeschaltet wird.
b) IsDriveOK : ab Profan 5.0 - 32
c) CheckDrive: ab Profan 6.1 - 32 (wg. Addr-Funktion)
Als Parameter kann jeweils ein einzelner LW-Buchstabe oder
auch ein kompletter Pfad übergeben werden
Ergebnis: 1 = OK; 0 = Fehler
Def IsDriveReady(1) If(And(Gt(DiskSize($(1)),-2),Lt(DiskSize($(1)),1)),0,1)
Def GetVolumeInformation(8) !KERNEL32,GetVolumeInformationA
Def SetCurrentDirectory(1) !KERNEL32,SetCurrentDirectoryA
Def SetErrorMode(1) !KERNEL32,SetErrorMode
Declare dirbuf#

Proc IsDriveOK

    Parameters drive$
    Declare result&,olddir$,olderrormode&
    Let olderrormode&=SetErrorMode(1)
    Let olddir$=GetDir$(@)
    Let drive$=Upper$(Mid$(drive$,1,1));:
    Dim dirbuf#,Add(Len(olddir$),2)
    String dirbuf#,0=drive$
    Let result&=SetCurrentDirectory(dirbuf#)
    String dirbuf#,0=olddir$
    SetCurrentDirectory(dirbuf#)
    SetErrorMode(olderrormode&)
    Dispose dirbuf#
    Return result&

EndProc

Proc CheckDrive

    Parameters drive$
    Declare result&,olderrormode&,dw1&,dw2&
    Let olderrormode&=SetErrorMode(1)
    Let drive$=Upper$(Mid$(drive$,1,1));:
    Dim dirbuf#,Add(Len(drive$),2)
    String dirbuf#,0=drive$
    Let result&=GetVolumeInformation(dirbuf#,0,0,0,Addr(dw1&),Addr(dw2&),0,0)
    SetErrorMode(olderrormode&)
    Dispose dirbuf#
    Return result&

EndProc

Beispiel
SetErrorLevel 2  nur zum Testen - max. Fehlerausgabe
Cls
Print IsDriveReady für C:
Print IsDriveReady(C:)
WaitInput
Cls
Print IsDriveOK für A:
IsDriveOK A
Print &(0)
WaitInput
Cls
Print CheckDrive für C:
CheckDrive C:
Print &(0)
ref='./../../references-fonction/XProfan/waitinput/'>WaitInput
 
16.07.2007  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

2.210 Views

Untitledvor 0 min.
Selmo24.03.2019
Andre Rohland17.02.2013

Themeninformationen

Dieses Thema ha 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie