VB6 - Partitionsnamen herausfinden

Hallo,

ich suche eine Funktion, der ich z.B. einen Pfad („D:\Programme“) oder nur den Partitionsbuchstaben übergebe und welche mir dann den Partitionsnamen zurückgibt. Im Fall des Beispiels erwarte ich bei einem Übergabeparameter von „D:\Programme“ oder „D:“ einen String-Rückgabewert von „Programme“, wie „D:“ bei mir heißt. Bei „M:“ als Übergabe möchte ich „Media“ zurückerhalten.

Ich stelle mir die Funktion recht einfach vor. Hier ein mögliches Beispiel:
strPartiotionsname=getPartionsname(„D:\Programme“)

Weiß jemand Rat?

Liebe Grüße,
Christopher

Hallo,

Hallo,

ich suche eine Funktion, der ich z.B. einen Pfad
(„D:\Programme“) oder nur den Partitionsbuchstaben übergebe
und welche mir dann den Partitionsnamen zurückgibt. Im Fall
des Beispiels erwarte ich bei einem Übergabeparameter von
„D:\Programme“ oder „D:“ einen String-Rückgabewert von
„Programme“, wie „D:“ bei mir heißt. Bei „M:“ als Übergabe
möchte ich „Media“ zurückerhalten.

Ich stelle mir die Funktion recht einfach vor. Hier ein
mögliches Beispiel:
strPartiotionsname=getPartionsname(„D:\Programme“)

Weiß jemand Rat?

Ja aber sicher doch.
Ich tippsle zwar nicht mehr mit VB6. Aber so weit ich mich erinnere sollte folgende Function Deinen Wünschen entsprechen

Private Function VolumeLabel(Disk As String) As String
If Trim(Disk) = "" Then
 VolumeLabel = ""
Else
 VolumeLabel = Dir(Mid(Disk, 1, 1) & ":\", vbVolume)
End If
End Function

Rufe einfach die Function auf und übergebe ihr den Pfad oder das Drive. Sprich, es spielt keine Rolle, ob du nun D:\Programme oder D oder D:\ übergibst. Als Resultat erhaelst du die VolumenInfo vom Drive :wink:
Angemerkt sei eines. In dieser Function sind keinerlei Fehlerbehandlungsroutinen enthalten, wie zum Bsp. ungültiger Pfad oder Pfad auf ein Laufwerk, welches nicht bereit ist. In diesen Faellen wird Dir „“ zurueck geliefert :wink: Also da solltest du noch etwas machen. Aber als Ansatz sollte dies reichen :wink:

Liebe Grüße,
Christopher

MfG Alex

Hey Alex,

danke dir vielmals :smile: Mit dir hab ich zwar schon öfter gearbeitet, bin aber noch nie auf den Trichter gekommen, mir die Attribute neben vbNormal anzusehen.
Hatte schon mit irgendwelchen API-Funktionen gerechnet, aber dass es so einfach sei dachte ich nicht.

Liebe Grüße,
Christopher

Hey Christopher,

danke dir vielmals :smile: Mit dir hab ich zwar schon
öfter gearbeitet, bin aber noch nie auf den Trichter gekommen,
mir die Attribute neben vbNormal anzusehen.
Hatte schon mit irgendwelchen API-Funktionen gerechnet, aber
dass es so einfach sei dachte ich nicht.

Willst du das Label ändern, so kommst du nicht um einen API Aufruf herum. Aber so, kein Thema! Meist ist der Weg den man gehen kann, einfacher als man denkt. Geht mir oft genug so. Ich tippsle mittlerweile unter .NET und schreibe da auch manchmal 30 Zeilen Source, was auch funktioniert, aber am naechsten morgen dann, zum Bsp via LinQ eine Zeile die das selbe macht *gg*
Aber solch ein „Fehler“ passiert einem nur einmal, danach weiss man dies :wink:

Aber by the Way …
Wenn du Source posten magst, so verwende nicht sondern den Tag Pre und /pre :wink:

Liebe Grüße,
Christopher

MfG Alex