mi programa No encuentra vb6 este archivo...

Iniciado por Senior++, 8 Julio 2011, 20:18 PM

0 Miembros y 2 Visitantes están viendo este tema.

Senior++

Bueno amigos este es mi programa

Código (vb) [Seleccionar]
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



Código (vb) [Seleccionar]
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


Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata

79137913

#1
HOLA!!!
Código (vb) [Seleccionar]

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:
Código (vb) [Seleccionar]
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!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

x64core

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.


Senior++

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...
Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata

x64core

#4
 :P no veo el problema :P

la funcion de comprobar el archivo esta bien creo :P sino prueba asi:
Código (vb) [Seleccionar]

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

79137913

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!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

79137913                          *Shadow Scouts Team*

$Edu$

Eh? porque te estas complicando que es lo que quieres hacer?
Porque no hacer esto y listo:

Código (vb) [Seleccionar]

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


x64core

#7
ehhh porq no hacer esto:  :xD :xD :xD :xD :xD :xD :xD :xD :xD :xD

Código (vb) [Seleccionar]
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

Senior++

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.
Vendo cuenta de LEAGUE OF LEGENDS lvl 30, EU west, muy barata

x64core

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