[Source] Funcion sencilla para variables de entorno

Iniciado por nhaalclkiemr, 12 Enero 2008, 16:56 PM

0 Miembros y 1 Visitante están viendo este tema.

nhaalclkiemr

Weno como sabreis algunos en Windows las variables de entorno se llaman entre % ...como por ejemplo %windir% y eso devuelve la ruta de Windows...

Y weno en VB no se reconocen de la misma forma...por ejemplo %windir%\system32 en windows ya suponeis que ruta marca (provar a poner eso en ejecutar) pero para VB es una ruta no valida...en VB hay que usar la funcion Environ...por ejemplo Environ("windir")

lo que puse antes en VB sería así

Código (vb) [Seleccionar]
Environ("windir") & "\system32"

Pues bueno yo como acostumbro usar variables de entorno en formato "%windir%" (y por ejemplo para poner una ruta en un TextBox es la mejor manera de hacerlo) hice una funcion sencilla que te devuelve la ruta expandida de las variables de entorno...es muy sencillo simplemente parte las strings por el simbolo % y despues le pasa lo de dentro a la funcion Environ...pero weno por si a alguien le sirve y tal la pongo...es muy sencilla:

Código (vb) [Seleccionar]
Private Function Remplazar(ByVal texto As String) As String
Dim pos(0 To 1) As Long
On Error Resume Next
Do
pos(0) = InStr(1, texto, "%")
pos(1) = InStr(pos(0) + 1, texto, "%")
If pos(1) = 0 Then Exit Do
texto = Left(texto, pos(0) - 1) & Environ(Mid(texto, pos(0) + 1, pos(1) - pos(0) - 1)) & Mid(texto, pos(1) + 1)
Loop
Remplazar = texto
End Function


Saludos ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

Rudy21

En El Code De fulano_ de residencia obtiene el directorio de windows y system32 así:

Set obj = CreateObject("Scripting.FileSystemObject") 'declaramos un objeto tipo fileSystem object

Set win = obj.GetSpecialFolder(0)                    'para obtener la carpeta de windows y system

Set sys = obj.GetSpecialFolder(1)

win = LCase(win)                                     'las ponemos en minusculas

sys = LCase(sys)


jeje salu2


nhaalclkiemr

Si y también hay APIs para obtener los directorios...pero por ejemplo está muy bien esto:

%homedrive%%homepath%

Esto devolvería C:\Documents and Settings\USUARIO...donde C es la unidad y USUARIO depende del nombre de usuario...y mira con las variables de entorno te ahorras mucho trabajo...

también stán %programfiles% y muchas mas que podéis ver escribiendo set en el cmd.exe

Saludos ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

nhaalclkiemr

Weno solo era para decir que el code tenía un fallo, ya lo he corregido...

Saludos ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%