Bueno amigos este es mi programa
Private Function Existe(Archivo As String) As Integer
Existe = Len(Dir$(Archivo))
If Existe Then
Label1 = Archivo & " Si existe"
Else
Label1 = Archivo & " No existe"
End If
End Function
Private Sub Form_Load()
Dim A As Integer, Nombre As String
Show
Label1 = ""
Nombre = "C:\Autoexec.exe"
A = 5
If A > 10 Then
If Existe(Nombre) Then
Print A; "mayor de 10 y " & Nombre & " existe"
Else
Print A; "es mayor de 10 pero " & Nombre & " no existe"
End If
Else
Print A; "no es mayor de 10 o " & Nombre & " no existe"
End If
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
HOLA!!!
Private Function Existe(Archivo As String) As Integer
Existe = Len(Dir$(Archivo))
If Existe Then
'--------^ ACA ESTA EL ERROR PONE "IF EXISTE > 0 THEN"
Label1 = Archivo & " Si existe"
Else
Label1 = Archivo & " No existe"
End If
'ACA AGREGA ESTO:
IF EXISTE > 0 THEN EXISTE = 1
End Function
Yo lo haria asi:
Private Function Existe(Archivo As String) As Boolean
If Len(Dir(Archivo)) > 0 Then Existe = True
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!!!
en esta linea:
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.
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
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...
:P no veo el problema :P
la funcion de comprobar el archivo esta bien creo :P sino prueba asi:
If A > 10 Then
If dir$(nombre) Then
Print A; "mayor de 10 y " & Nombre & " existe"
Else
Print A; "es mayor de 10 pero " & Nombre & " no existe"
End If
Else
Print A; "no es mayor de 10 o " & Nombre & " no existe"
End If
asi no tienes que llamar a otra funcion ahi compruebas todo :P
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!!!
Eh? porque te estas complicando que es lo que quieres hacer?
Porque no hacer esto y listo:
Private Function Existe(Archivo As String) As Boolean
If Len(Dir(Archivo)) > 0 Then Existe = True
End Function
Private Sub Form_Load()
Dim Nombre As String
Show
Label1 = ""
Nombre = "C:\Autoexec.exe"
if Existe then
Label1 = "Existe!!!"
else
Label1 = "No existe!!"
end if
End Sub
ehhh porq no hacer esto: :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD
Private Sub Form_Load()
Dim Nombre As String
Show
Label1 = ""
Nombre = "C:\Autoexec.exe"
if dir$(nombre) then label1 = "EXISTE" else label1 = "NO EXISTE"
end sub
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.
es cierto al menos la ultima mia no funcionaria diera error fuera asi :P
If Dir(Nombre) <> "" Then label1 = "EXISTE" Else label1 = "NO EXISTE"
:xD
Esque el archivo que compruebas es .bat en realidad asique podrias probar con otro archivo a ver si funciona o no.
Edu es .exe, no .bat no se a que te refieres de .bat
Saludos
Cita de: SixToes 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.
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.
Seba no se hacerlo pero ya voy aprenderlo dentro de nada, ya os contare :xD
Saludos y gracias
Cita de: SixToes en 8 Julio 2011, 23:18 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.
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....