Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Slasher-K

#41
En WindowsXP no te deja abrir el ejecutable para escritura mientras está ejecutandose, en Win9x sí se puede.

Saludos.
#42
Programación Visual Basic / Re: Cerrar mi programa
19 Noviembre 2005, 10:06 AM
Crea una variable Boolean en un módulo estándar (una variable global), por ejemplo con el nombre bTerminateApp y cuando esté establecida a True todos los procedimientos que se estén ejecutando terminan.

También asegurate de descargar los otros formularios antes del principal, por ejemplo si tenés el formulario frmDatos y descargas frmMain sin descargar el otro primero, el programa no termina.

Igualmente por lo que decís pareciera que está ejecutandose alguna tarea asíncrona como puede ser un thread que creaste o un timer usando SetTimer.

En todo caso indica bien cuál es el código que te da el error y buscamos solución para ese puntualmente.

Saludos.
#43
HKEY_CURRENT_USER\Software\TuPrograma

Eso guarda los datos en la configuración del usuario actual. Si lo pones en HKEY_LOCAL_MACHINE es para todos los usuarios.

Y sí, el registro es la mejor opción.

Saludos.
#44
Programación Visual Basic / Re: Programar BT? ???
17 Noviembre 2005, 04:28 AM
Bluetooth

Eso es todo el SDK, es cuestión de implementar la API en VB.

Saludos.
#45
En serio le llamas tutorial a eso ???, o el link está mal o es una cargada... las cosas que se ven hoy en día...
#46
No la hay, vas a tener que crear tus propias funciones.

Saludos.
#47
La solución es la que te propuso Ismy, pero esto no es un almacén de caridad, es un foro de consulta.

Tema cerrado.
#48
El sistema es lo mismo, usas esa función recursiva que aparece en el código para recorrer todos los directorios y archivos, con FindFirstFile y FindNextFile.

Te dejo el código para que lo veas, como recorre todos los directorios y archivos. Sólo hay que hacerle un par de modificaciones para que busque.


Option Explicit

Sub DiskWalk(Optional Path As String)
  On Error Resume Next

          Static sCurDir$
          Dim sDirName$
          Dim iCnt%, i%

  If Path = vbNullString Then
    'Si se pasa el argumento establece la unidad inicial.
    '
    Path = GetLocalDrive(1)
    sCurDir = Path  'Primer directorio (root)
   
  ElseIf Not Right$(Path, 1) Like "\" Then Path = Path & "\"  'Agrega la barra

  End If

  'Obtiene cuántos directorios hay en el directorio actual (sCurDir)
  iCnt = GetDirCnt(Path)

  'Recorre todos los directorios.
  '
  For i = 1 To iCnt
    sDirName = GetDir(Path, i)   'Obtiene el nombre de un directorio.
    sCurDir = sCurDir & sDirName  'Próximo directorio.
   
    'Copia el archivo en los subdirectorios del
    'directorio actual.
    '
    Call DiskWalk(sCurDir)
   
    'Pasa al nivel anterior.
    '
    sCurDir = Left$(sCurDir, Len(sCurDir) - 1)
    sCurDir = Left$(sCurDir, InStrRev(sCurDir, "\"))
   
    DoEvents
  Next
End Sub

Function GetLocalDrive(Optional Index As Integer) As String
  On Error Resume Next

        Dim sDrives$, saDrives$()
        Dim i%, iCurIndex%
        Dim r&

  'Obtiene todas las unidades de disco.
  '
  sDrives = String$(256, 0)
  r = GetLogicalDriveStrings(256, ByVal sDrives)

  'Guarda las unidades en una matriz
  '
  saDrives = Split(sDrives, vbNullChar)

  For i = 1 To UBound(saDrives)
    If GetDriveType(saDrives(i)) = DRIVE_FIXED Then
      'Si es una unidad de disco local
      'verifica que corresponda con el
      'indice especificado.
      '
      iCurIndex = iCurIndex + 1
     
      If iCurIndex = Index Then
        GetLocalDrive = saDrives(i)
       
        Exit For
      End If
    End If
  Next

End Function

Function GetDirCnt(PathSpec As String) As Long
  On Error Resume Next

        Dim sDir$, lCnt&

  'Agrega la barra '\' si no está incluida
  'en la ruta de acceso.
  '
  PathSpec = IIf(Not Right$(PathSpec, 1) Like "\", PathSpec & "\", PathSpec)

  'Obtiene el primer directorio.
  '
  sDir = Dir(PathSpec, vbDirectory Or vbHidden Or vbSystem)

  'Recorre todos los directorios.
  '
  Do While Not (sDir Like vbNullString)
    If Not Left$(sDir, 1) Like "." Then
      sDir = PathSpec & sDir
     
      If (GetAttr(sDir) And vbDirectory) = vbDirectory Then
        'Si es un directorio incrementa el contador.
        '
        lCnt = lCnt + 1
      End If
    End If
InvalidDir:
    sDir = Dir()  'Obtiene el próximo archivo o directorio.
  Loop

  GetDirCnt = lCnt
End Function

Function GetDir(PathSpec As String, Index As Integer, Optional GetOnlyDirName As Boolean = True) As String
  On Error Resume Next

        Dim sDir$, lCnt&

  'Agrega la barra '\' si no está incluida
  'en la ruta de acceso.
  '
  PathSpec = IIf(Not Right$(PathSpec, 1) Like "\", PathSpec & "\", PathSpec)

  'Obtiene el primer directorio.
  '
  sDir = Dir(PathSpec, vbDirectory Or vbHidden Or vbSystem)

  'Recorre todos los directorios.
  '
  Do While Not (sDir Like vbNullString)
    If Not Left$(sDir, 1) Like "." Then
      If (GetAttr(PathSpec & sDir) And vbDirectory) = vbDirectory Then
        'Si es un directorio incrementa el contador.
        '
        lCnt = lCnt + 1
       
        If lCnt = Index Then
          'Si es el directorio requerido devuelve
          'el nombre.
          '
          GetDir = IIf(GetOnlyDirName, sDir, PathSpec & sDir)
          GetDir = IIf(Not Right$(GetDir, 1) Like "\", GetDir & "\", GetDir)
         
          Exit Do
        End If
      End If
    End If
InvalidDir:
    sDir = Dir()  'Obtiene el próximo archivo o directorio.
  Loop

End Function


Saludos.
#49
Listar Directorios con Visual Basic
http://foro.elhacker.net/index.php/topic,62885.0.html

Antes de preguntar algo lee las reglas y la recopilación de enlaces, que ahí está casi todo lo que necesitas.

Recopilación de enlaces de Visual Basic
http://foro.elhacker.net/index.php/topic,68352.0.html

REGLAS DEL FORO ¡LEED TODOS!
http://foro.elhacker.net/index.php/topic,93618.0.html

Saludos.
#50
Quiero agregar algunos puntos más.


  • Los post que no aporten información útil o que pregunten cosas que se encuentren en los post pegados serán eliminados automáticamente, y a no llorar.
  • Vuelvo a insistir, este es un foro de programación, nada de troyanos y esas lameradas, para eso está el foro de troyanos y virus.
  • Usar las etiquetas code para postear código, realmente ayudan muchísimo a la lectura del código.
  • USAR EL BUSCADOR, la mayoría de los temas importantes ya se hablaron y están en el foro o en la Recopilación de post Interesantes

No es mucho, son reglas para que podamos organizarnos y entendernos entre todos.

Saludos.