Article View: be.comp.programming
Article #2839Re: map aanmaken in Visual Basic 5
From: Billyke
Date: Fri, 27 Feb 2004 09:32
Date: Fri, 27 Feb 2004 09:32
79 lines
3896 bytes
3896 bytes
In VB6 kan je dit doen met de MkDir() functie.
Om de "mijn documenten" folder te krijgen, zal je gebruik moeten maken van
een API-functie.
Met onderstaande code lukt het alleszins in VB6, ik heb er wat commentaar
bijgezet. Laat je vooral niet afschrikken door de API functies, die zal je
gaandeweg wel leren kennen. Ik heb ook de code erbij gezet om de net
aangemaakte folder ook te openen via Windows Explorer.
Om te testen maak je een nieuwe form en zet je er een textbox en een
commandbutton op.
Succes nog met je programma!
Option Explicit
Private Declare Function SHGetSpecialFolderPath Lib "shell32.dll" Alias
"SHGetSpecialFolderPathA" (ByVal hwnd As Long, ByVal lpszPath As String,
ByVal nFolder As Integer, ByVal fCreate As Boolean) As Boolean
'API call om speciale folders op te halen
Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String,
ByVal nShowCmd As Long) As Long
'API call om de aangemaakte folder te openen
Private Const CSF_PERSONAL = &H5 'Constante voor Mijn Documenten
Private Const iMaxPathLength As Integer = 512 'Maximale lengte voor de
buffer
Public Function GetMyDocumentsFolder() As String
Dim lReturn As Long 'Return value van de functie
Dim sBuf As String 'Buffer
sBuf = Space(iMaxPathLength) 'Buffer opvullen met spaties
lReturn = SHGetSpecialFolderPath(0, sBuf, CSF_PERSONAL, False) 'Aanroep
van de API-functie
lReturn = InStr(sBuf, Chr$(0)) 'Einde van de foldernaam is karakter 0,
dus alles tot aan karakter 0 is de foldernaam
If lReturn > 1 Then
GetMyDocumentsFolder = Left$(sBuf, lReturn - 1) 'Succesvol
Else
GetMyDocumentsFolder = "" 'Mislukt
End If
End Function
Private Sub Command1_Click()
On Error GoTo Command1_Click_Error
Dim sFolder As String
sFolder = GetMyDocumentsFolder & "\" & Text1.Text
MkDir sFolder 'MkDir is de VB-functie om een folder aan te maken
'Openen van de net aangemaakte folder
ShellExecute Me.hwnd, "open", sFolder, vbNullString, vbNullString, 1
Exit Sub
Command1_Click_Error:
MsgBox "Fout bij aanmaken van de folder " & sFolder
End Sub
"Lumus" <spam@belgacom.net> schreef in bericht
news:403f0637$0$13866$ba620e4c@news.skynet.be...
> Mijn kennis van VB is niet zo groot.
> Een bestand lezen en schrijven lukt me wel, een map aanmaken niet.
> Kan iemand mij op weg zetten ?
>
> Het is dus de bedoeling van in mijn documenten een map aan te maken
> waarvan de naam door de gebruiker wordt opgegeven in de
> VB-toepassing.
>
> Alvast bedankt.
>
>
Technical Details
Message-ID:
<c1n31b$l6j$1@reader10.wxs.nl>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed00.sul.t-online.de!t-online.de!tiscali!newsfeed1.ip.tiscali.net!newsfeed.bit.nl!newsfeed.bit.nl!newsfeeder.concepts.nl!213.51.141.5.MISMATCH!newshub2.home.nl!newshub1.home.nl!home.nl!news2.euro.net!newsfeed.wxs.nl!textnews.wxs.nl!not-for-mailReferences:
<403f0637$0$13866$ba620e4c@news.skynet.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,7f3a0276515d039 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2004-02-27 01:32:59 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed00.sul.t-online.de!t-online.de!tiscali!newsfeed1.ip.tiscali.net!newsfeed.bit.nl!newsfeed.bit.nl!newsfeeder.concepts.nl!213.51.141.5.MISMATCH!newshub2.home.nl!newshub1.home.nl!home.nl!news2.euro.net!newsfeed.wxs.nl!textnews.wxs.nl!not-for-mail From: "Billyke" <gert.verstappen@gmx.net> Newsgroups: be.comp.programming Subject: Re: map aanmaken in Visual Basic 5 Date: Fri, 27 Feb 2004 10:32:34 +0100 Organization: Planet Internet Lines: 81 Message-ID: <c1n31b$l6j$1@reader10.wxs.nl> References: <403f0637$0$13866$ba620e4c@news.skynet.be> NNTP-Posting-Host: 81.11.185.37 X-Trace: reader10.wxs.nl 1077874539 21715 81.11.185.37 (27 Feb 2004 09:35:39 GMT) X-Complaints-To: abuse@planet.nl NNTP-Posting-Date: 27 Feb 2004 09:35:39 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165