VB: DriveList.Path......

Status
Niet open voor verdere reacties.

icelandic

Gebruiker
Lid geworden
22 sep 2014
Berichten
122
Goedenavond iedereen,

Ik ben bezig met een schaakprogramma...
Ik heb een map met zg. MAT-stellingen waarvan de enig juiste zet bekend is...
Dit is om mijn programma te testen of het DIE enig juiste zet ook vindt...

Vraag:
Waarom werkt de bovenste regel wel terwijl de onderste twee regels de foutmelding geeft dat het programma het path niet vindt.

Is DriveList.Drive misschien geen string?????

DirectoryList.Path = "D:\Schaak de Meunige\De Meunige 2.2 is met QSearch\MAT"


DriveList.Drive = "D:"
DirectoryList.Path = DriveList.Drive + "\Schaak de Meunige\DeMeunige 2.2 is met QSearch\MAT"


Ik wil dat die onderste twee WEL werken omdat elders in het programma DriveList.Drive bekend moet zijn.

Vr.Gr.,
Eric
 
Maak van die + eens een &
 
Dát had ik niet verwacht:

Het helpt niet...

Nog andere ideeën???

Vr. gr.,
Eric
 
Ik weet niet hoe je dat object hebt gemaakt maar volgens mij geef je DriveList.Drive de letter van de drive waar je gegevens over wilt opvragen. Drivelist bevat ook DriveLetter. Probeer dus eens dit:
Code:
DriveList.DriveLetter & "\Schaak de Meunige\DeMeunige 2.2 is met QSearch\MAT"
 
Laatst bewerkt:
Dank je wel voor je vele moeite edmoor!

Ook wil ik bij deze ook de andere mensen van HELPMIJ dank zeggen voor de interessante nieuwsbrief die ik vandaag ontving.

Maar, m.b.t. mijn listbox is er iets anders aan de hand:

1) Als ik invoer DriveList.Drive = "D"

en ik plaats op de volgende regel een breakpoint

2) en ik vraag dan de inhoud op van DriveList.Drive dan staat er d: [DATA], mét die dubbele punt dus!
3) als ik de lengte van DriveList.Drive opvraag dan krijg ik: 9.

Als ik dan het aantal karakters tel van d: [DATA], dan zijn het er inderdaad negen.

Nou kan ik wel die laatste 7 karakters van die string er wel weer afhalen, maar wat vind je hier nu van?

Vr. gr.,
Eric
 
Je kunt ook Left(DriveList.Drive, 2) doen. Dat is netter. Maar heb je al gekeken wat er in DriveList.DriveLetter staat?
 
Jazeker....

DriveList.DriveLetter bestaat niet!


Left(DriveList.Drive, 2 is inderdaad keurig, zeer bedankt!

Vr.gr.,
Eric
 
Ik zei ook al dat ik niet weet hoe je je object maakt. Ik doe het zo en is DriveLetter er dus wel:
Code:
Sub DriveTypeAndList()
    Dim DriveList   As Object
    Dim strMsg      As String
 
    For Each DriveList In CreateObject("Scripting.FileSystemObject").Drives
        Select Case DriveList.DriveType
            Case 0: strMsg = strMsg & vbNewLine & DriveList.DriveLetter & ": Unknown"
            Case 1: strMsg = strMsg & vbNewLine & DriveList.DriveLetter & ": Removable Drive"
            Case 2: strMsg = strMsg & vbNewLine & DriveList.DriveLetter & ": Hard Disk Drive"
            Case 3: strMsg = strMsg & vbNewLine & DriveList.DriveLetter & ": Network Drive"
            Case 4: strMsg = strMsg & vbNewLine & DriveList.DriveLetter & ": CDROM Drive"
            Case 5: strMsg = strMsg & vbNewLine & DriveList.DriveLetter & ": RAM Disk Drive"
        End Select
    Next
    MsgBox strMsg
    Set DriveList = Nothing
End Sub
 
Ja, ik zie het al.

We praten voor een deel langs elkaar heen: jij denkt in termen (denk ik) van VB 2010,12 of 13. Terwijl ik jammer genoeg nog steeds werk met VB6!
Ik plaats gewoon een drivelist, een directorylist en een filelist op een formulier.
Ik gebruik dus de properties die tot mijn beschikking staan. Daar is geen DriveLetter bij.

Ik had tot nu toe ook nog nergens vermeld ik werk met VB6!

Daar zit de spraakverwarring in.

Vr. gr.,
Eric
 
Ok dan. Nou ja, als je maar een oplossing hebt :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan