Avatar billede tvj Nybegynder
04. december 1999 - 10:19 Der er 5 kommentarer og
3 løsninger

drevbogstav

Jeg skal lave en menu til nogen cd'er, men cdrom drevet har jo som bekendt ikke altid det samme drevbogstav.
Er der nogen der ved hvordan det løses
Avatar billede joern Nybegynder
04. december 1999 - 13:27 #2
Hej Tvj.

Mener du at programmet selv skal finde ud af, hvilket drevbogstav CD-rom drevet er tildelt, eller skal man blot kunne vælge det rette?  Det sidste er nemt, der er en kontrol til det samme.

M.v.h.  Jørn
Avatar billede aleks Nybegynder
06. december 1999 - 09:41 #3
Med denne funktion kan du se hvad de forskellige drev er sat til.

Option Explicit
Private Declare Function GetDriveTypeA Lib "Kernel32" (ByVal nDrive As String) As Long

Function HentDriveType( pcDrev )
  Select Case GetDriveTypeA(UCase(Left( pcDrev, 1) & ":\"))

    Case 0
      HentDriveType := "Kan ikke afgøre typen"
    Case 1
      HentDriveType :=  "Drevet eksisterer ikke"
    Case 2
      HentDriveType := "Floppy disk"
    Case 3
      HentDriveType := "Hard disk" 
    Case 4
      HentDriveType := "Net drev"
    Case 5
      HentDriveType := "CD-Rom"
    Case 6
      HentDriveType := "RAM Disk"
  End Select
End Function
Avatar billede aleks Nybegynder
06. december 1999 - 09:43 #4
Sorry, der skal stå = istedet for :=
Avatar billede stingbat Nybegynder
06. december 1999 - 18:12 #5
mener at der skulle være en kommando som hedder App.*et eller andet* hvor du kan få at vide hvor programmet bliver startet op fra...

Kan ikke præcis huske hvilken, da jeg ikke har arbejdet med VB det sidste halve år (ca.)

Prøver nok lige at se om jeg kan finde den præcise kommando... på en eller anden måde!

// Stingbat
Avatar billede joern Nybegynder
06. december 1999 - 18:23 #6
Hej stingbat

Yes, app.path indeholder fuld sti til den mappe, hvorfra et VB-program som exe-fil startes.  Men tvj mangler at svare på, hvad problemet er, synes jeg.

M.v.h. Jørn
Avatar billede joern Nybegynder
08. december 1999 - 13:01 #7
Jeg har fundet følgende i en fil: VB-tips.

The following code loops through all your computer's drive letters, to see
which letter is mapped to the CD-ROM drive. It returns the drive letter if
successful or an empty string on failure.

Public Function BI_GetCDROMDrive() As String
    Dim lType As Long
    Dim i As Integer
    Dim tmpDrive As String
    Dim found As Boolean
   
    On Error GoTo ErrorHandler
   
    'Loop thru A-Z. If found, exit early.
    For i = 0 To 25

        tmpDrive = Chr(65 + i) & ":\"
        lType = GetDriveType(tmpDrive)    'Win32 API function
        If (lType = DRIVE_CDROM) Then    'Win32 API constant
            found = True
            Exit For
        End If
    Next
    If Not found Then
        tmpDrive = ""
    End If
   
    BI_GetCDROMDrive = tmpDrive
   
ErrorHandler:
Err.Description = "BI_GetCDROMDrive failed: Unexpected error."
BI_Errorhandler
   
End Function

From--Frank May, fmay@bioimaging.com

M.v.h.  Jørn
Avatar billede theportal Nybegynder
05. marts 2000 - 16:10 #8
Koden:

Private Sub Command1_Click()
Dim CDROM as String
    CDROM = Left(App.Path, 1)
End Sub

--
CDROM indeholder nu bogstavet for cdrom drevet...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester