elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  mFileExists.bas [Tan rustico como se pueda :D]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 Ir Abajo Respuesta Imprimir
Autor Tema: mFileExists.bas [Tan rustico como se pueda :D]  (Leído 11,086 veces)
Elemental Code


Desconectado Desconectado

Mensajes: 622


Im beyond the system


Ver Perfil
mFileExists.bas [Tan rustico como se pueda :D]
« en: 1 Febrero 2011, 22:28 pm »

Siguiendo con lo rustico aca les dejo este modulo para hacer una funcion que VB deberia haber tenido :P

Código
  1. '---------------------------------------------------------------------------------------
  2. ' Module    : mFileExists
  3. ' Author    : Elemental Code
  4. ' Date      : 01/02/2011
  5. ' Purpose   : Check if a file exists in the most rustic way
  6. '---------------------------------------------------------------------------------------
  7. Option Explicit
  8. Dim attr As VbFileAttribute
  9. Public Function FileExists(ByVal sPath As String) As Boolean
  10. On Error GoTo Missing
  11. attr = GetAttr(sPath)
  12. FileExists = True
  13. Exit Function
  14. Missing:
  15. FileExists = False
  16. End Function

Esta es la version estupida, facil y rustica de averiguar si un archivo existe.
Posiblemente haya aproximadamente 15.000 formas mejores pero esta funciona y la arme yo de guapo que soy.

Ademas uso esto como palanca para que un programador capo (Ejem Karcrack, Cobein, Seba123neo, BlackZeroX, Mr.Frog, LeandroA) se jueguen y saquen una version super rapida, con inline de ASM y que tire rayos por los ojos :D

Saludos.


En línea

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas
79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: mFileExists.bas [Tan rustico como se pueda :D]
« Respuesta #1 en: 1 Febrero 2011, 23:12 pm »

HOLA!!!

Creo que la manera mas rustica y corta seria:

Código
  1. Private Function F_Exist(sPath as string) As Boolean
  2.    If Dir(sPath) <> "" then F_Exist = True
  3. End Function

GRACIAS POR LEER!!!


En línea

"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*
LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: mFileExists.bas [Tan rustico como se pueda :D]
« Respuesta #2 en: 1 Febrero 2011, 23:16 pm »



Código:
Private Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long


CBool(GetFileAttributes(sPath) <> -1)

En línea

Elemental Code


Desconectado Desconectado

Mensajes: 622


Im beyond the system


Ver Perfil
Re: mFileExists.bas [Tan rustico como se pueda :D]
« Respuesta #3 en: 1 Febrero 2011, 23:41 pm »

Copado falta la parte de Inline ASM y que tire rayos por los ojos  :rolleyes: :rolleyes:
En línea

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: mFileExists.bas [Tan rustico como se pueda :D]
« Respuesta #4 en: 2 Febrero 2011, 01:16 am »

La forma más rápida de hacerlo que encontrarás es la que usa LA. :silbar:
Aquí una forma más fea:

Código
  1. Option Explicit
  2.  
  3. Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFilename As String, lpFindFileData As WIN32_FIND_DATA) As Long
  4.  
  5. Private Type FILETIME
  6.    dwLowDateTime  As Long
  7.    dwHighDateTime As Long
  8. End Type
  9.  
  10. Private Type WIN32_FIND_DATA
  11.    dwFileAttributes    As Long
  12.    ftCreationTime      As FILETIME
  13.    ftLastAccessTime    As FILETIME
  14.    ftLastWriteTime     As FILETIME
  15.    nFileSizeHigh       As Long
  16.    nFileSizeLow        As Long
  17.    dwReserved0         As Long
  18.    dwReserved1         As Long
  19.    cFileName           As String * 260
  20.    cAlternate          As String * 14
  21. End Type
  22.  
  23. Private myWFD As WIN32_FIND_DATA
  24.  
  25. Public Function MrFrogFileExists(ByRef strFileName As String) As Boolean
  26.    MrFrogFileExists = Not (FindFirstFile(strFileName, myWFD) = -1)
  27. End Function

DoEvents! :P
« Última modificación: 2 Febrero 2011, 02:16 am por Mr. Frog © » En línea

Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: mFileExists.bas [Tan rustico como se pueda :D]
« Respuesta #5 en: 2 Febrero 2011, 01:30 am »

Que hizo la rana? jajaja
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: mFileExists.bas [Tan rustico como se pueda :D]
« Respuesta #6 en: 2 Febrero 2011, 12:17 pm »

Otra alternativa mas:
Código
  1. 'KERNEL32
  2. Private Declare Function OpenFile Lib "KERNEL32" (ByVal lpFileName As String, ByRef lpReOpenBuff As Any, ByVal wStyle As Long) As Long
  3.  
  4. Private Function DoFileExists(ByVal sPath As String) As Boolean
  5.    Dim OFSTRUCT(&H21)  As Long
  6.    DoFileExists = CBool(OpenFile(sPath, OFSTRUCT(0), &H4000) <> -1)
  7. End Function
MOD:La ruta tiene una limitación de 128 caracteres... Problema de usar funciones diseñadas para 16bits :xD
« Última modificación: 2 Febrero 2011, 15:31 pm por Karcrack » En línea

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: mFileExists.bas [Tan rustico como se pueda :D]
« Respuesta #7 en: 3 Febrero 2011, 00:57 am »

HOLA!!!

Mmm, el Inline Asm te lo debo, pero tira rayos por los ojos XD

Código
  1. 'armen un form con:
  2. ' 2 shapes
  3. ' 2 lines
  4. ' 1 timer
  5. ' y denle a f5
  6.  
  7. Private Function F_Exist(sPath As String) As Boolean
  8.    If Dir(sPath) <> "" Then F_Exist = True
  9. End Function
  10.  
  11.  
  12. Private Sub Form_Load()
  13.    Me.ScaleMode = vbPixels
  14.    Me.ScaleHeight = 600
  15.    Me.ScaleWidth = 800
  16.    Shape1.Top = Me.ScaleHeight / 2 - 200
  17.    Shape2.Top = Me.ScaleHeight / 2 - 200
  18.    Shape1.Left = Me.ScaleWidth / 2 - 150
  19.    Shape2.Left = Me.ScaleWidth / 2 + 150
  20.    Shape1.Shape = 2
  21.    Shape2.Shape = 2
  22.    Shape1.Width = 150
  23.    Shape2.Width = 150
  24.    Shape1.Height = 300
  25.    Shape2.Height = 300
  26.    Line1.BorderColor = &HFF&
  27.    Line2.BorderColor = &HFF&
  28.    Line1.X1 = Shape1.Left + Shape1.Width / 2
  29.    Line1.Y1 = Shape1.Top + Shape1.Height / 2
  30.    Line2.X1 = Shape2.Left + Shape2.Width / 2
  31.    Line2.Y1 = Shape2.Top + Shape2.Height / 2
  32.    Timer1.Interval = 100
  33. End Sub
  34.  
  35. Private Sub Timer1_Timer()
  36.    Randomize
  37.    neg = 1
  38.    If Rnd() * 2 > 1 Then neg = -1
  39.    Line1.X2 = Shape1.Left + Shape1.Width / 2 + Rnd() * 300 * neg
  40.    neg = 1
  41.    If Rnd() * 2 > 1 Then neg = -1
  42.    Line1.Y2 = Shape1.Top + Shape1.Height / 2 + Rnd() * 300 * neg
  43.    neg = 1
  44.    If Rnd() * 2 > 1 Then neg = -1
  45.    Line2.X2 = Shape2.Left + Shape2.Width / 2 + Rnd() * 300 * neg
  46.    neg = 1
  47.    If Rnd() * 2 > 1 Then neg = -1
  48.    Line2.Y2 = Shape2.Top + Shape2.Height / 2 + Rnd() * 300 * neg
  49.    Debug.Print F_Exist("c:\hola.txt")
  50. End Sub
  51.  

GRACIAS POR LEER!!!
« Última modificación: 3 Febrero 2011, 17:08 pm por 79137913 » En línea

"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*
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: mFileExists.bas [Tan rustico como se pueda :D]
« Respuesta #8 en: 3 Febrero 2011, 01:01 am »

Jajajjaja
Estás loco... :laugh:

DoEvents! :P
« Última modificación: 3 Febrero 2011, 02:04 am por Mr. Frog © » En línea

Elemental Code


Desconectado Desconectado

Mensajes: 622


Im beyond the system


Ver Perfil
Re: mFileExists.bas [Tan rustico como se pueda :D]
« Respuesta #9 en: 3 Febrero 2011, 03:34 am »

LOQUISIMO

FUNCIONA BOLUDO  ;D ;D ;D ;D


TIRA RAYITOS POR LOS OJOS!!!

Fantastico :D
En línea

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas
Páginas: [1] 2 3 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines