/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
VBA: liste alle CD/DVD drev i Combo
Fra : Cifly


Dato : 24-04-05 17:22

Hej NG

Er der nogen der kan hjælpe mig med en kode til følgende:

Når frm1 loader, skal combo1 liste alle de CD/DVD drev der er tilsluttet
computeren.

Vh Cifly



 
 
Per (24-04-2005)
Kommentar
Fra : Per


Dato : 24-04-05 20:20

Cifly < "Cifly" <clauss"nospam"@postkasse.net> > skrev følgende:

> Hej NG
>
> Er der nogen der kan hjælpe mig med en kode til følgende:
>
> Når frm1 loader, skal combo1 liste alle de CD/DVD drev der er tilsluttet
> computeren.
>
> Vh Cifly

Hej Cifly,

Det kan kodes på flere måder, - men en af måderne kunne være:

-------------------------------------------------------------

Private Sub Form_Load()
CheckDriveList
End Sub

Sub CheckDriveList()
On Error Resume Next
Dim fs, d, dc
Set fs = CreateObject("Scripting.FileSystemObject")
Set dc = fs.Drives
For Each d In dc
If d.drivetype = 4 Then Combo1.AddItem d.driveletter
Next
On Error Goto 0
End Sub

---------------------------------------------------------------

Scripting.FileSystemObject er forøvrigt et kanongodt info-værktøj, som
kan vise praktisk taget alt vedr. drev og filesystemer.


--
Med venlig hilsen

Per

Cifly (25-04-2005)
Kommentar
Fra : Cifly


Dato : 25-04-05 09:02

"Per" <Jensenp@Hotmail.com> skrev i en meddelelse
news:MPG.1cd60fc77bb564709896d8@news.tele.dk...
> Cifly < "Cifly" <clauss"nospam"@postkasse.net> > skrev følgende:
>
>> Hej NG
>>
>> Er der nogen der kan hjælpe mig med en kode til følgende:
>>
>> Når frm1 loader, skal combo1 liste alle de CD/DVD drev der er tilsluttet
>> computeren.
>>
>> Vh Cifly
>
> Hej Cifly,
>
> Det kan kodes på flere måder, - men en af måderne kunne være:
>
> -------------------------------------------------------------
>
> Private Sub Form_Load()
> CheckDriveList
> End Sub
>
> Sub CheckDriveList()
> On Error Resume Next
> Dim fs, d, dc
> Set fs = CreateObject("Scripting.FileSystemObject")
> Set dc = fs.Drives
> For Each d In dc
> If d.drivetype = 4 Then Combo1.AddItem d.driveletter
> Next
> On Error Goto 0
> End Sub
>
> ---------------------------------------------------------------
>
> Scripting.FileSystemObject er forøvrigt et kanongodt info-værktøj, som
> kan vise praktisk taget alt vedr. drev og filesystemer.
>
>
> --
> Med venlig hilsen
>
> Per

Ahh, det fungerer perfekt. Takker for assistancen

Iøvrigt; er der mon mulighed for, at jeg må kontakte dig på msn/email ved
fremtidige problemer? - Det kan være hurtigere og lettere.

Ellers er det helt ok, hvis du foretrækker at svare her istedet.

Takker!

Cifly



Gert Krabsen (25-04-2005)
Kommentar
Fra : Gert Krabsen


Dato : 25-04-05 11:06

Mon, 25 Apr 2005 10:02:24 +0200, Cifly <clauss"nospam"@postkasse.net>
skrev:

>
> Ahh, det fungerer perfekt. Takker for assistancen
>
> Iøvrigt; er der mon mulighed for, at jeg må kontakte dig på msn/email ved
> fremtidige problemer? - Det kan være hurtigere og lettere.
>
> Ellers er det helt ok, hvis du foretrækker at svare her istedet.
>

Nu er det heldigvis svært for vi andre at læse jeres private
mail-korrespondance. Og dermed tilsvarende svært at lære af det - eller
deltage med løsningsforslag.

Det er vel det, der er meningen med gruppen


mvh
Krabsen




--
Sendt via Opera.
www.krabsen.dk
www.responsnord.dk
mfl

Cifly (25-04-2005)
Kommentar
Fra : Cifly


Dato : 25-04-05 09:17

"Per" <Jensenp@Hotmail.com> skrev i en meddelelse
news:MPG.1cd60fc77bb564709896d8@news.tele.dk...
> Cifly < "Cifly" <clauss"nospam"@postkasse.net> > skrev følgende:
>
>> Hej NG
>>
>> Er der nogen der kan hjælpe mig med en kode til følgende:
>>
>> Når frm1 loader, skal combo1 liste alle de CD/DVD drev der er tilsluttet
>> computeren.
>>
>> Vh Cifly
>
> Hej Cifly,
>
> Det kan kodes på flere måder, - men en af måderne kunne være:
>
> -------------------------------------------------------------
>
> Private Sub Form_Load()
> CheckDriveList
> End Sub
>
> Sub CheckDriveList()
> On Error Resume Next
> Dim fs, d, dc
> Set fs = CreateObject("Scripting.FileSystemObject")
> Set dc = fs.Drives
> For Each d In dc
> If d.drivetype = 4 Then Combo1.AddItem d.driveletter
> Next
> On Error Goto 0
> End Sub
>
> ---------------------------------------------------------------
>
> Scripting.FileSystemObject er forøvrigt et kanongodt info-værktøj, som
> kan vise praktisk taget alt vedr. drev og filesystemer.
>
>
> --
> Med venlig hilsen
>
> Per

Hvad så, iørigt, med størrelsen på mapperne samt navnet på selve CD/DVD i
drevet. - Ka du klare den?



Per (25-04-2005)
Kommentar
Fra : Per


Dato : 25-04-05 18:10

Cifly < "Cifly" <clauss"nospam"@postkasse.net> > skrev følgende:

> "Per" <Jensenp@Hotmail.com> skrev i en meddelelse
> news:MPG.1cd60fc77bb564709896d8@news.tele.dk...
> > Cifly < "Cifly" <clauss"nospam"@postkasse.net> > skrev følgende:

> >> Er der nogen der kan hjælpe mig med en kode til følgende:
> >>
> >> Når frm1 loader, skal combo1 liste alle de CD/DVD drev der er tilsluttet
> >> computeren.
> >> Vh Cifly

> > Det kan kodes på flere måder, - men en af måderne kunne være:
> >
> > -------------------------------------------------------------
> >
> > Private Sub Form_Load()
> > CheckDriveList
> > End Sub
> >
> > Sub CheckDriveList()
> > On Error Resume Next
> > Dim fs, d, dc
> > Set fs = CreateObject("Scripting.FileSystemObject")
> > Set dc = fs.Drives
> > For Each d In dc
> > If d.drivetype = 4 Then Combo1.AddItem d.driveletter
> > Next
> > On Error Goto 0
> > End Sub
> >
> > ---------------------------------------------------------------

> > Med venlig hilsen
> >
> > Per
>
> Hvad så, iørigt, med størrelsen på mapperne samt navnet på selve CD/DVD i
> drevet. - Ka du klare den?
>
>
>

Hej Cifly,

Nu ved jeg jo ikke, hvilken form for projekt, som du har gang i, og jeg
er derfor ikke helt klar over, hvad du mener med "mapperne" - vil du
vise størrelsen på de enkelte mapper i en combobox eller vil du lave din
egen Stifinder eller .... ?

Med hensyn til størrelse på drevets kapacitet og evt. navn på CD/DVD'en
kan du skrive følgende:

Combo1.AddItem d.driveletter & ": " & Format(d.totalsize, "###,###,###,
###") & " Bytes " & " - " & d.volumename

Vær opmærksom på, at de fleste audiocd'ere og DVD'er formentlig vil vise
en kapacitet på 0 bytes.

Du kan også lave et Break-punkt i linien "For Each d In dc" og dernæst
lave en Watch på variablen "dc". Så kan du på en nem måde se alle de
oplysninger, som Scripting.FileSystemObject indeholder.

Skal du ind og have fat i den type oplysninger, som f.eks.
brænderprogrammet "NERO" kan udlæse - ja så bliver jeg dig svar skyldig
- men jeg gætter på, at vi så skal have fat i noget API-halløj.

Go' fornøjelse med projektet.

PS ! Og nej - jeg svarer kun her i NG'en (for måske er der andre, som
gerne vil give deres besyv med)


--
Med venlig hilsen

Per

Cifly (26-04-2005)
Kommentar
Fra : Cifly


Dato : 26-04-05 06:52

"Per" <Jensenp@Hotmail.com> skrev i en meddelelse
news:MPG.1cd74291c125bfc09896da@news.tele.dk...
> Cifly < "Cifly" <clauss"nospam"@postkasse.net> > skrev følgende:
>
>> "Per" <Jensenp@Hotmail.com> skrev i en meddelelse
>> news:MPG.1cd60fc77bb564709896d8@news.tele.dk...
>> > Cifly < "Cifly" <clauss"nospam"@postkasse.net> > skrev følgende:
>
>> >> Er der nogen der kan hjælpe mig med en kode til følgende:
>> >>
>> >> Når frm1 loader, skal combo1 liste alle de CD/DVD drev der er
>> >> tilsluttet
>> >> computeren.
>> >> Vh Cifly
>
>> > Det kan kodes på flere måder, - men en af måderne kunne være:
>> >
>> > -------------------------------------------------------------
>> >
>> > Private Sub Form_Load()
>> > CheckDriveList
>> > End Sub
>> >
>> > Sub CheckDriveList()
>> > On Error Resume Next
>> > Dim fs, d, dc
>> > Set fs = CreateObject("Scripting.FileSystemObject")
>> > Set dc = fs.Drives
>> > For Each d In dc
>> > If d.drivetype = 4 Then Combo1.AddItem d.driveletter
>> > Next
>> > On Error Goto 0
>> > End Sub
>> >
>> > ---------------------------------------------------------------
>
>> > Med venlig hilsen
>> >
>> > Per
>>
>> Hvad så, iørigt, med størrelsen på mapperne samt navnet på selve CD/DVD i
>> drevet. - Ka du klare den?
>>
>>
>>
>
> Hej Cifly,
>
> Nu ved jeg jo ikke, hvilken form for projekt, som du har gang i, og jeg
> er derfor ikke helt klar over, hvad du mener med "mapperne" - vil du
> vise størrelsen på de enkelte mapper i en combobox eller vil du lave din
> egen Stifinder eller .... ?
>
> Med hensyn til størrelse på drevets kapacitet og evt. navn på CD/DVD'en
> kan du skrive følgende:
>
> Combo1.AddItem d.driveletter & ": " & Format(d.totalsize, "###,###,###,
> ###") & " Bytes " & " - " & d.volumename
>
> Vær opmærksom på, at de fleste audiocd'ere og DVD'er formentlig vil vise
> en kapacitet på 0 bytes.
>
> Du kan også lave et Break-punkt i linien "For Each d In dc" og dernæst
> lave en Watch på variablen "dc". Så kan du på en nem måde se alle de
> oplysninger, som Scripting.FileSystemObject indeholder.
>
> Skal du ind og have fat i den type oplysninger, som f.eks.
> brænderprogrammet "NERO" kan udlæse - ja så bliver jeg dig svar skyldig
> - men jeg gætter på, at vi så skal have fat i noget API-halløj.
>
> Go' fornøjelse med projektet.
>
> PS ! Og nej - jeg svarer kun her i NG'en (for måske er der andre, som
> gerne vil give deres besyv med)
>
>
> --
> Med venlig hilsen
>
> Per

Det er bare helt i orden. Sommetider er det bare lettere, at have kontakt
med en støtte. Men synspunktet deler jeg for så vidt også - det gør vi bare.

Nu er jeg imidlertid gået over til VB. Det er godt nok længe siden jeg har
programmeret her, men de allerede eksisterende koder, er jo nogenlunde de
samme.

Nu er der så bare dukket et problem op: ved indlæsning i textbox, skrives
mappernes navne i en lang smøre (Mappe1Mappe2Mappe3...) trods at Multiline
er True og chr(13) i koden. Jeg kan ikke umiddelbart se hvorfor det sker,
kan du/i?

Mit projekt er såmænd ikke så stort. Jeg skal bruge printet af mapper, til
bagsiden på mine backup cd'er. Ved at lave en lille app. er jeg fri for at
indtaste det i hånden. Endvidere kan jeg trække forskellige oplysninger ud,
hurtigere og nemmere end hvis jeg selv skulle undersøge det i Stifinder.

Resultatet skulle gerne blive, at printet inkl. størrelse etc. suppleres med
et auto setup af cover, så det bare er lige til at udskrive.

Cifly



Per (26-04-2005)
Kommentar
Fra : Per


Dato : 26-04-05 20:23

Cifly < "Cifly" <clauss"nospam"@postkasse.net> > skrev følgende:

<snip>
>
> Nu er der så bare dukket et problem op: ved indlæsning i textbox, skrives
> mappernes navne i en lang smøre (Mappe1Mappe2Mappe3...) trods at Multiline
> er True og chr(13) i koden. Jeg kan ikke umiddelbart se hvorfor det sker,
> kan du/i?
</snip>

> Cifly

Hej Cifly,

Forinden jeg svarer kunne jeg godt tænke mig at se den del af din kode,
hvor du udlæser mapperne til en textbox.

Men jeg gætter alligevel på, at du skal bruge vbcrlf (svarer til Enter +
ny linie) istedet for chr(13)(som kun svarer til Enter)

--
Med venlig hilsen

Per

Cifly (27-04-2005)
Kommentar
Fra : Cifly


Dato : 27-04-05 11:23


"Per" <Jensenp@Hotmail.com> skrev i en meddelelse
news:MPG.1cd8b39a995eaf2e9896db@news.tele.dk...
> Cifly < "Cifly" <clauss"nospam"@postkasse.net> > skrev følgende:
>
> <snip>
>>
>> Nu er der så bare dukket et problem op: ved indlæsning i textbox, skrives
>> mappernes navne i en lang smøre (Mappe1Mappe2Mappe3...) trods at
>> Multiline
>> er True og chr(13) i koden. Jeg kan ikke umiddelbart se hvorfor det sker,
>> kan du/i?
> </snip>
>
>> Cifly
>
> Hej Cifly,
>
> Forinden jeg svarer kunne jeg godt tænke mig at se den del af din kode,
> hvor du udlæser mapperne til en textbox.
>
> Men jeg gætter alligevel på, at du skal bruge vbcrlf (svarer til Enter +
> ny linie) istedet for chr(13)(som kun svarer til Enter)
>
> --
> Med venlig hilsen
>
> Per

Du havde ret. Det fungerer med vbcrlf. Takker.

--------------------------------------------------------------------------------------
Private Sub Form_Load()
mypath = drev ' Set the path.
myname = Dir(mypath, vbDirectory) ' Retrieve the first entry.
Do While myname <> "" ' Start the loop.
' Ignore the current directory and the encompassing directory.
If myname <> "." And myname <> ".." Then
' Use bitwise comparison to make sure MyName is a directory.
If (GetAttr(mypath & myname) And vbDirectory) = vbDirectory Then
Txtresult.Text = Txtresult.Text & vbCrLf & myname ' Display
entry only if it
End If ' it represents a directory.
End If
myname = Dir ' Get next entry.
Loop
LblResult.Caption = "Følgende mapper blev fundet på drev " & mypath
End Sub
--------------------------------------------------------------------------------------

Er du frisk på én mere? - Ved indlæsning, indsættes i starten en blank linie
og herefter mapperne. Hvor stammer den blanke linie fra?

Cifly



Per (27-04-2005)
Kommentar
Fra : Per


Dato : 27-04-05 19:36

Cifly < "Cifly" <clauss"nospam"@postkasse.net> > skrev følgende:

>
> --------------------------------------------------------------------------------------
> Private Sub Form_Load()
> mypath = drev ' Set the path.
> myname = Dir(mypath, vbDirectory) ' Retrieve the first entry.
> Do While myname <> "" ' Start the loop.
> ' Ignore the current directory and the encompassing directory.
> If myname <> "." And myname <> ".." Then
> ' Use bitwise comparison to make sure MyName is a directory.
> If (GetAttr(mypath & myname) And vbDirectory) = vbDirectory Then
> Txtresult.Text = Txtresult.Text & vbCrLf & myname ' Display
> entry only if it
> End If ' it represents a directory.
> End If
> myname = Dir ' Get next entry.
> Loop
> LblResult.Caption = "Følgende mapper blev fundet på drev " & mypath
> End Sub
> --------------------------------------------------------------------------------------
>
> Er du frisk på én mere? - Ved indlæsning, indsættes i starten en blank linie
> og herefter mapperne. Hvor stammer den blanke linie fra?
>
> Cifly
>
>

Hej Cifly

Denne linie:
Txtresult.Text = Txtresult.Text & vbCrLf & myname ' Display

skal du ændre til:
Txtresult.Text = Txtresult.Text & myname & vbCrLf ' Display

da du ellers vil starte med at lægge et linieskift ind som det første i
textboxen.

--
Med venlig hilsen

Per

Cifly (27-04-2005)
Kommentar
Fra : Cifly


Dato : 27-04-05 19:42

"Per" <Jensenp@Hotmail.com> skrev i en meddelelse
news:MPG.1cd9f9ef3ba3bb719896dd@news.tele.dk...
> Cifly < "Cifly" <clauss"nospam"@postkasse.net> > skrev følgende:
>
>>
>> --------------------------------------------------------------------------------------
>> Private Sub Form_Load()
>> mypath = drev ' Set the path.
>> myname = Dir(mypath, vbDirectory) ' Retrieve the first entry.
>> Do While myname <> "" ' Start the loop.
>> ' Ignore the current directory and the encompassing directory.
>> If myname <> "." And myname <> ".." Then
>> ' Use bitwise comparison to make sure MyName is a directory.
>> If (GetAttr(mypath & myname) And vbDirectory) = vbDirectory Then
>> Txtresult.Text = Txtresult.Text & vbCrLf & myname ' Display
>> entry only if it
>> End If ' it represents a directory.
>> End If
>> myname = Dir ' Get next entry.
>> Loop
>> LblResult.Caption = "Følgende mapper blev fundet på drev " & mypath
>> End Sub
>> --------------------------------------------------------------------------------------
>>
>> Er du frisk på én mere? - Ved indlæsning, indsættes i starten en blank
>> linie
>> og herefter mapperne. Hvor stammer den blanke linie fra?
>>
>> Cifly
>>
>>
>
> Hej Cifly
>
> Denne linie:
> Txtresult.Text = Txtresult.Text & vbCrLf & myname ' Display
>
> skal du ændre til:
> Txtresult.Text = Txtresult.Text & myname & vbCrLf ' Display
>
> da du ellers vil starte med at lægge et linieskift ind som det første i
> textboxen.
>
> --
> Med venlig hilsen
>
> Per

Hoold op, hvor er jeg blind. Du kender det garanteret, at man ser sig blind
på ét sted og ser så ikke den snublende nære fejl. Nå, men takker ....
Igen.



Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409075
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste