Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: ricardovinzo en 29 Junio 2008, 23:13 pm



Título: a alguien le sirve esta funcion?
Publicado por: ricardovinzo en 29 Junio 2008, 23:13 pm
bueno estaba viendo un modulo que poste un user en otro foro (cd :xD) y bueno tiene una funcion para detectar si las carpetas excisten pero a mi no me funciona osae no tira error ni nada solo que no me funciona este code observen:

Código:
If FolderExis(Environ("HOMEDRIVE") & "\fotos") = False then
     MkDir(Environ("HOMEDRIVE") & "\fotos")
end if

y esta es la funcion

Código:
Public Function FolderExis(ByVal folder As String) As Boolean
If Dir(folder, vbDirectory) = "" Then
    FolderExis = False
        Else
    If Dir(folder, vbDirectory) <> "" Then
        FolderExis = True
    End If
End If
End Function

alguna idea porque no sirve?



Título: Re: a alguien le sirve esta funcion?
Publicado por: naderST en 30 Junio 2008, 02:28 am
Código
  1. Option Explicit
  2.  
  3. Private Sub Form_Load()
  4.    If FolderExists("C:\WINDOWS") = True Then
  5.        MsgBox "Existe"
  6.    Else
  7.        MsgBox "No existe"
  8.    End If
  9. End Sub
  10.  
  11. Private Function FolderExists(ByVal Folder As String) As Boolean
  12.    If Dir(Folder, vbDirectory) = "" Then
  13.        FolderExists = False
  14.    Else
  15.        FolderExists = True
  16.    End If
  17. End Function
  18.  


Título: Re: a alguien le sirve esta funcion?
Publicado por: cassiani en 30 Junio 2008, 05:14 am
Tiene un IF de más...  :-\

Si no es igual a "" obviamente es diferente, pero y con todo eso funciona (a simple vista)...


Título: Re: a alguien le sirve esta funcion?
Publicado por: juancho77 en 30 Junio 2008, 06:06 am
Código:
If FolderExis[b]TS[/b](Environ("HOMEDRIVE") & "\fotos") = False then
     MkDir(Environ("HOMEDRIVE") & "\fotos")
end if

a tu codigo le falta una TS, supongo que no sera eso no??¿  :P


Título: Re: a alguien le sirve esta funcion?
Publicado por: cassiani en 30 Junio 2008, 06:42 am
No me digas que...  :-X

Si te parece que el IF no esta demás pooss nada que hacer, el hecho de que NO te de error NO significa que este bien programado, además, en todo caso un ElseIf seria lo ideal...

Código:
'incorrecto
If i = 0 Then
    'code
Else
    If i <> 0 Then 'obvio :-\
        'code
    End If
End If

'correcto
If i = 0 Then
    'code
Else
    'code
End If

Pero creo que te saltaste el flujo... de todas formas cada quien programa como quiere, se que dijiste que eso no lo hiciste tu, pero igual...


Título: Re: a alguien le sirve esta funcion?
Publicado por: seba123neo en 30 Junio 2008, 14:00 pm
porque no usas api y listo??

Código:
Private Declare Function PathIsDirectory Lib "shlwapi.dll" Alias "PathIsDirectoryA" (ByVal pszPath As String) As Long

saludos.