veit > comp.* > comp.programmeren

 #1  
13.05.2018, 19:30
Bert(AWRvB)
Vraag over Visual Studio 2015 Visual Basic: Opslag van data om programma
op te starten!

Voor het opstarten van een programma is het nodig dat dat programma
weet welke mappen het kan gebruiken. Het kunnen duizenden mappen worden.

Nu gebruik ik dit
My.Computer.FileSystem.SpecialDirectories.MyDocume nts & "\" &
"mapvoorhetprogramma"

Zelf ben ik niet zo blij dat de map mijn documenten ervoor wordt
gebruikt maar als het moet dan moet het maar. Anderen gaan dit programma
ook gebruiken.

Is er een speciale plaats die kan worden gebruikt om als opslag van
data te worden gebruikt?
 #2  
13.05.2018, 20:21
Jawade
Bert(AWRvB) <a.w.r.v.b> schreef op Sun, 13 May 2018 19:30:53 +0200 in artikel <nnd$7a1ade47$65583087@78743586fe83f02e>:
> Vraag over Visual Studio 2015 Visual Basic: Opslag van data om programma
> op te starten!
> weet welke mappen het kan gebruiken. Het kunnen duizenden mappen worden.
> My.Computer.FileSystem.SpecialDirectories.MyDocume nts & "\" &
> "mapvoorhetprogramma"
> gebruikt maar als het moet dan moet het maar. Anderen gaan dit programma
> ook gebruiken.
> Is er een speciale plaats die kan worden gebruikt om als opslag van
> data te worden gebruikt?


Gebruik C:\Users\Gebruiker\Appdata\Roaming\Jouwprog

oftewel:

C:\Users\Beheerder\AppData\Roaming\Jouwprog

Met vriendelijke groeten, Jawade.
 #3  
13.05.2018, 21:04
Jawade
Jawade <Henk_Jawade> schreef op Sun, 13 May 2018 20:21:50 +0200 in artikel <20180513$20215086>:
> Bert(AWRvB) <a.w.r.v.b> schreef op Sun, 13 May 2018 19:30:53 +0200 in artikel <nnda1ade47583087@78743586fe83f02e>:
>> Gebruik C:\Users\Gebruiker\Appdata\Roaming\Jouwprog

> oftewel:
> %appdata%\Jouwprog


Misschien begrijpt Visual Basic: Environ("appdata")

Dan is het wel heel eenvoudig.

Met vriendelijke groeten, Jawade.
 #4  
13.05.2018, 22:43
Bert(AWRvB)
Op 13-5-2018 om 21:04 schreef Jawade:
> Jawade <Henk_Jawade> schreef op Sun, 13 May 2018 20:21:50
> +0200 in artikel <20180513215086>:
> Misschien begrijpt Visual Basic: Environ("appdata")
> Dan is het wel heel eenvoudig.
> Met vriendelijke groeten, Jawade.


(Waar bleef mijn antwoord? Ik had per ongeluk de afzender ipv de groep
beantwoord!)

Ja, het werkt en dat is precies wat ik zocht!

Bedankt voor de info!

***********************************************
Resultaat: strU = False / True

*************************************************

strT = My.User.Name
l = Len(strT)
p = InStrRev(strT, "\")

If l > False And p + 1 <= l Then
strUser = LTrim(RTrim(Mid(strT, p + 1, l)))
End If

If Len(strUser) Then
strU = My.Computer.FileSystem.DirectoryExists("C:\Users\" &
strUser & "\AppData\Roaming\DeTeGebruikenDirectory")
End If

***********************************************
 #5  
14.05.2018, 20:39
Johan Wevers
On 13-05-2018 22:43, Bert(AWRvB) wrote:

> If Len(strUser) Then
> strU = My.Computer.FileSystem.DirectoryExists("C:\Users\" &
> strUser & "\AppData\Roaming\DeTeGebruikenDirectory")
> End If


Dat kan fout gaan als de home directories niet op C: staan, of niet in
\Users. Er is dacht ik een variabele die die drive en directory bevat.
 #6  
14.05.2018, 22:12
BugHunter
Johan Wevers <johanw> schreef op Ma 14 Mei 2018 om 20:39:
> On 13-05-2018 22:43, Bert(AWRvB) wrote:
> > If Len(strUser) Then
> > strU = My.Computer.FileSystem.DirectoryExists("C:\Users\" &
> > strUser & "\AppData\Roaming\DeTeGebruikenDirectory")
> > End If

> Dat kan fout gaan als de home directories niet op C: staan, of niet in
> \Users. Er is dacht ik een variabele die die drive en directory bevat.


Ja, dat is userprofile.
 #7  
15.05.2018, 01:19
Bert(AWRvB)
Op 13-5-2018 om 19:30 schreef Bert(AWRvB):
> Vraag over Visual Studio 2015 Visual Basic: Opslag van data om programma
> op te starten!
> weet welke mappen het kan gebruiken. Het kunnen duizenden mappen worden.
>  My.Computer.FileSystem.SpecialDirectories.MyDocu ments & "\" &
> "mapvoorhetprogramma"
> gebruikt maar als het moet dan moet het maar. Anderen gaan dit programma
> ook gebruiken.
>     Is er een speciale plaats die kan worden gebruikt om als opslag van
> data te worden gebruikt?


De eenvoudigste oplossing voor mij is dit:

Dim strUserNaam As String = Environment.UserName
Dim strSystemDrive As String = Environ("Systemdrive")
Dim strAppData As String = Environ("APPDATA")

Dim strAlternatieveMap As String = ""

strAlternatieveMap = strSystemDrive & ":\mapvoorhetprogramma"

Eerst kijkt de app naar AppData en als dat niet bestaat dan vraagt de
app of strAlternatieveMap kan worden aangemaakt!

Iedere keer bij het opstarten zal dan gecontroleerd worden wat er
gebruikt kan worden.

Er is misschien nog een mogelijkheid en dat is de map gebruiken waar de
apps in staan? Dan zal de directory waar de apps in staan actief horen
te zijn?
Soortgelijke onderwerpen