🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #2841

Re: map aanmaken in Visual Basic 5

#2841
From: Lumus
Date: Fri, 27 Feb 2004 09:44
92 lines
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-mail
References: <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