Thread View: be.comp.programming
4 messages
4 total messages
Started by Lumus
Fri, 27 Feb 2004 08:56
map aanmaken in Visual Basic 5
Author: Lumus
Date: Fri, 27 Feb 2004 08:56
Date: Fri, 27 Feb 2004 08:56
9 lines
1212 bytes
1212 bytes
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.
Re: map aanmaken in Visual Basic 5
Author: 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.
>
>
Re: map aanmaken in Visual Basic 5
Author: 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. > > > > > >
Re: map aanmaken in Visual Basic 5
Author: 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. > > > > > > > > > > > >
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads