🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #2839

Re: map aanmaken in Visual Basic 5

#2839
From: Billyke
Date: Fri, 27 Feb 2004 09:32
79 lines
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-mail
References: <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