Article View: be.comp.programming
Article #2841Re: map aanmaken in Visual Basic 5
From: Lumus
Date: Fri, 27 Feb 2004 09:44
Date: Fri, 27 Feb 2004 09:44
92 lines
4219 bytes
4219 bytes
Bedankt voor de spoedige en deskundige hulp. Zal enig studiewerk vergen, maar u hebt mij op weg gezet. API is mij compleet onbekend, in mijn oude taal zal dit wel een 'module' zijn. Zal mij wel lukken. Met vriendelijke groeten. "Billyke" <gert.verstappen@gmx.net> schreef in bericht news:c1n31b$l6j$1@reader10.wxs.nl... > 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:
<403f117a$0$316$ba620e4c@news.skynet.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!feed.news.tiscali.de!tiscali!newsfeed1.ip.tiscali.net!proxad.net!proxad.net!skynet.be!skynet.be!louie!tjb!not-for-mailReferences:
<403f0637$0$13866$ba620e4c@news.skynet.be> <c1n31b$l6j$1@reader10.wxs.nl>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:44:28 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!feed.news.tiscali.de!tiscali!newsfeed1.ip.tiscali.net!proxad.net!proxad.net!skynet.be!skynet.be!louie!tjb!not-for-mail From: "Lumus" <spam@belgacom.net> Newsgroups: be.comp.programming References: <403f0637$0$13866$ba620e4c@news.skynet.be> <c1n31b$l6j$1@reader10.wxs.nl> Subject: Re: map aanmaken in Visual Basic 5 Date: Fri, 27 Feb 2004 10:44:23 +0100 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 Lines: 94 Message-ID: <403f117a$0$316$ba620e4c@news.skynet.be> Organization: -= Belgacom Usenet Service =- NNTP-Posting-Host: 81.241.173.40 X-Trace: 1077875066 reader1.news.skynet.be 316 81.241.173.40:1306 X-Complaints-To: usenet-abuse@skynet.be