Article View: be.comp.programming
Article #2848Re: map aanmaken in Visual Basic 5
From: Billyke
Date: Fri, 27 Feb 2004 18:50
Date: Fri, 27 Feb 2004 18:50
110 lines
5008 bytes
5008 bytes
API is niet gelijk aan een VB-module. API staat voor Application Programming Interface. Hiermee roep je functies aan van Windows zelf (dus lekker snel en krachtig)... Voor meer info over API's kan je terecht op http://www.mentalis.org/index2.shtml Als je een full install van VB gedaan hebt, dan heb je onder Tools normaal gezien ook de API Text Viewer staan. "Lumus" <spam@belgacom.net> schreef in bericht news:403f117a$0$316$ba620e4c@news.skynet.be... > 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:
<c1o3rt$776$1@reader11.wxs.nl>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!fu-berlin.de!news.tele.dk!news.tele.dk!small.news.tele.dk!newsgate.cistron.nl!amsnews01.chello.com!newshub2.home.nl!newshub1.home.nl!home.nl!newsfeed.multikabel.nl!newsfeed.wxs.nl!textnews.wxs.nl!not-for-mailReferences:
<403f0637$0$13866$ba620e4c@news.skynet.be> <c1n31b$l6j$1@reader10.wxs.nl> <403f117a$0$316$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 10:50:27 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!fu-berlin.de!news.tele.dk!news.tele.dk!small.news.tele.dk!newsgate.cistron.nl!amsnews01.chello.com!newshub2.home.nl!newshub1.home.nl!home.nl!newsfeed.multikabel.nl!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 19:50:20 +0100 Organization: Planet Internet Lines: 112 Message-ID: <c1o3rt$776$1@reader11.wxs.nl> References: <403f0637$0$13866$ba620e4c@news.skynet.be> <c1n31b$l6j$1@reader10.wxs.nl> <403f117a$0$316$ba620e4c@news.skynet.be> NNTP-Posting-Host: 81.11.185.37 X-Trace: reader11.wxs.nl 1077908157 7398 81.11.185.37 (27 Feb 2004 18:55:57 GMT) X-Complaints-To: abuse@planet.nl NNTP-Posting-Date: 27 Feb 2004 18:55:57 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