Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Senior++ en 8 Julio 2011, 20:18 pm



Título: mi programa No encuentra vb6 este archivo...
Publicado por: Senior++ en 8 Julio 2011, 20:18 pm
Bueno amigos este es mi programa

Código
  1. Private Function Existe(Archivo As String) As Integer
  2.    Existe = Len(Dir$(Archivo))
  3.    If Existe Then
  4.        Label1 = Archivo & " Si existe"
  5.    Else
  6.        Label1 = Archivo & " No existe"
  7.    End If
  8. End Function
  9.  


Código
  1. Private Sub Form_Load()
  2.  
  3.    Dim A As Integer, Nombre As String
  4.  
  5.    Show
  6.  
  7.    Label1 = ""
  8.    Nombre = "C:\Autoexec.exe"
  9.    A = 5
  10.    If A > 10 Then
  11.        If Existe(Nombre) Then
  12.            Print A; "mayor de 10 y " & Nombre & " existe"
  13.        Else
  14.            Print A; "es mayor de 10 pero " & Nombre & " no existe"
  15.        End If
  16.    Else
  17.        Print A; "no es mayor de 10 o " & Nombre & " no existe"
  18.    End If
  19. End Sub

Entonces yo cree en en c:/ un archivo llamado asi (autoexec.exe) pero dice que no se encuentra

Eso por que ¿que hice mal?

Saludos




Título: Re: mi programa No encuentra vb6 este archivo...
Publicado por: 79137913 en 8 Julio 2011, 20:29 pm
HOLA!!!
Código
  1. Private Function Existe(Archivo As String) As Integer
  2.    Existe = Len(Dir$(Archivo))
  3.    If Existe Then
  4. '--------^ ACA ESTA EL ERROR PONE "IF EXISTE > 0 THEN"
  5.        Label1 = Archivo & " Si existe"
  6.    Else
  7.        Label1 = Archivo & " No existe"
  8.    End If
  9. 'ACA AGREGA ESTO:
  10. IF EXISTE > 0 THEN EXISTE = 1
  11. End Function
  12.  

Yo lo haria asi:
Código
  1. Private Function Existe(Archivo As String) As Boolean
  2. If Len(Dir(Archivo)) > 0 Then Existe = True
  3. End Function

Igual Dir es muy Lento, hay un Reto donde se encuentra la manera mas rapida para encontrar la ruta del archivo.

GRACIAS POR LEER!!!


Título: Re: mi programa No encuentra vb6 este archivo...
Publicado por: x64core en 8 Julio 2011, 20:32 pm
en esta linea:

Código:
    If A > 10 Then
haces una comprobacion que si el valor de A es mayor que 10 entonces comprobamos si existe el archivo pero el valor de A en ese momento el valor de A vale 5
noce porq tu sabras
para resolverlo el valor de A debe ser mayor que 10 o moficas la condicion.



Título: Re: mi programa No encuentra vb6 este archivo...
Publicado por: Senior++ en 8 Julio 2011, 21:09 pm
Pero si modifico la condición solo me pone que es mayor que pero no encuentra el directorio...

y si modifico el private function por el tu yo
Código:
Private Function Existe(Archivo As String) As Boolean
If Len(Dir(Archivo)) > 0 Then Existe = True
End Function

no esta definido el Label1 y daría error...

Saludos...


Título: Re: mi programa No encuentra vb6 este archivo...
Publicado por: x64core en 8 Julio 2011, 21:20 pm
 :P no veo el problema :P

la funcion de comprobar el archivo esta bien creo :P sino prueba asi:
Código
  1. If A > 10 Then
  2.        If dir$(nombre) Then
  3.            Print A; "mayor de 10 y " & Nombre & " existe"
  4.        Else
  5.            Print A; "es mayor de 10 pero " & Nombre & " no existe"
  6.        End If
  7. Else
  8.        Print A; "no es mayor de 10 o " & Nombre & " no existe"
  9. End If

asi no tienes que llamar a otra funcion ahi compruebas todo :P


Título: Re: mi programa No encuentra vb6 este archivo...
Publicado por: 79137913 en 8 Julio 2011, 22:18 pm
HOLA!!!

Label1 es una variable? Pfff

Todo mal, no es necesario saber si la longitud del directorio es 80 o 1 lo que importa es que es mayor a 0 nada mas. Aprende a debuggear con F8 y lee bien lo que escribo.

GRACIAS POR LEER!!!


Título: Re: mi programa No encuentra vb6 este archivo...
Publicado por: $Edu$ en 8 Julio 2011, 22:25 pm
Eh? porque te estas complicando que es lo que quieres hacer?
Porque no hacer esto y listo:

Código
  1. Private Function Existe(Archivo As String) As Boolean
  2. If Len(Dir(Archivo)) > 0 Then Existe = True
  3. End Function
  4.  
  5. Private Sub Form_Load()
  6.  
  7.    Dim Nombre As String
  8.  
  9.    Show
  10.  
  11.    Label1 = ""
  12.    Nombre = "C:\Autoexec.exe"
  13.  
  14. if Existe then
  15. Label1 = "Existe!!!"
  16. else
  17. Label1 = "No existe!!"
  18. end if
  19.  
  20.  
  21. End Sub
  22.  


Título: Re: mi programa No encuentra vb6 este archivo...
Publicado por: x64core en 8 Julio 2011, 22:29 pm
ehhh porq no hacer esto:  :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD

Código
  1. Private Sub Form_Load()
  2. Dim Nombre As String
  3. Show
  4.  
  5. Label1 = ""
  6. Nombre = "C:\Autoexec.exe"
  7.  
  8. if dir$(nombre) then label1 = "EXISTE" else label1 = "NO EXISTE"
  9. end sub


Título: Re: mi programa No encuentra vb6 este archivo...
Publicado por: Senior++ en 8 Julio 2011, 22:40 pm
Todo eso esta muy bien, pero es lo mismo llevaría todo igual... de todas manera lo e probado y sigue igual, una pregunta:

¿Lo habéis probado ustedes y os da bien?  es para sacarme de duda por que si con el código mio os funciona entonces el problema esta en que yo no e puesto bien el directorio y me sacaría bastantes dudas...

Saludos y gracias.


Título: Re: mi programa No encuentra vb6 este archivo...
Publicado por: x64core en 8 Julio 2011, 22:44 pm
es cierto al menos la ultima mia no funcionaria diera error fuera asi :P

Código:
If Dir(Nombre) <> "" Then label1 = "EXISTE" Else label1 = "NO EXISTE"

 :xD


Título: Re: mi programa No encuentra vb6 este archivo...
Publicado por: $Edu$ en 8 Julio 2011, 22:55 pm
Esque el archivo que compruebas es .bat en realidad asique podrias probar con otro archivo a ver si funciona o no.


Título: Re: mi programa No encuentra vb6 este archivo...
Publicado por: Senior++ en 8 Julio 2011, 23:18 pm
Edu es .exe, no .bat no se a que te refieres de .bat

Saludos


Título: Re: mi programa No encuentra vb6 este archivo...
Publicado por: seba123neo en 9 Julio 2011, 01:42 am
Todo eso esta muy bien, pero es lo mismo llevaría todo igual... de todas manera lo e probado y sigue igual, una pregunta:

¿Lo habéis probado ustedes y os da bien?  es para sacarme de duda por que si con el código mio os funciona entonces el problema esta en que yo no e puesto bien el directorio y me sacaría bastantes dudas...

Saludos y gracias.

sabes hacer debug del codigo? casi todos los problemas se solucionan poniendo un punto de interrupcion en el codigo y siguiendo linea por linea para ver donde falla.


Título: Re: mi programa No encuentra vb6 este archivo...
Publicado por: Senior++ en 9 Julio 2011, 10:03 am
Seba no se hacerlo pero ya voy aprenderlo dentro de nada, ya os contare :xD

Saludos y gracias


Título: Re: mi programa No encuentra vb6 este archivo...
Publicado por: $Edu$ en 9 Julio 2011, 22:07 pm
Edu es .exe, no .bat no se a que te refieres de .bat

Saludos

Esque en windows xp por defecto viene un archivo C:\Autoexec.bat y pensaba que talvez probabas con ese pero se ve que no, se ve que tienes otro ahi no se..
Pero lo mejor que podrias hacer es probar el codigo que te han puesto con otro archivo, crea un .txt en C:\ y proba con eso a ver que pasa.


Título: Re: mi programa No encuentra vb6 este archivo...
Publicado por: seba123neo en 9 Julio 2011, 22:15 pm
ese archivo esta oculto por defecto, pero igual te lo tiene que detectar esa funcion, pero como te dijeron, proba con otro archivo y listo....