🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#2838
Author: Lumus
Date: Fri, 27 Feb 2004 08:56
9 lines
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
#2839
Author: 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.
>
>
Re: map aanmaken in Visual Basic 5
#2841
Author: 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.
> >
> >
>
>
Re: map aanmaken in Visual Basic 5
#2848
Author: Billyke
Date: Fri, 27 Feb 2004 18:50
110 lines
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