• Domingo 22 de Diciembre de 2024, 07:56

Autor Tema:  Carpetas Y Archivos  (Leído 2452 veces)

jomace

  • Nuevo Miembro
  • *
  • Mensajes: 9
    • Ver Perfil
Carpetas Y Archivos
« en: Martes 18 de Mayo de 2004, 01:20 »
0
Hola

Seria bueno tener un programa que protegiera los archivos con una contraseña, digamos una imagen protegidad con una aplicacion de visual. Pero la gran pregunta (Almenos para mi) ¿COMO SE RELACIONA UN ARCHIVO O UNA CARPETA CON UNA APLICACION DE VISUAL AL ABRIRLO? :huh:

Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Carpetas Y Archivos
« Respuesta #1 en: Martes 18 de Mayo de 2004, 08:44 »
0
Bueno......lo que tienes que hacer es grabar en el registro de windows, la relación que existe entre la extensión del archivo y tu programa.......El código que alguna tuve....pero que lo boté :angry: ......era muy extenso y complicado......Así que espero que alguien tenga alguna respuesta más clara y directa, porque a mi también me interesa mucho este tema.

Saludos,

Blag  :devil:

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Carpetas Y Archivos
« Respuesta #2 en: Jueves 20 de Mayo de 2004, 15:05 »
0
Hola.

Para asociar una determinada extensión con una aplicación determinada, podéis echarle un ojo a http://foros.solocodigo.com/index.php?showtopic=6041.

Según el ejemplo, tenéis que tener en cuenta que la aplicación debe estar preparada para recibir como parámetro el nombre de archivo en cuestión.

Acerca de lo que jomace pretende, creo que la solución es ingenua: cambiarle la extensión al archivo en cuestión poco puede protejer (tal vez despistar un poco sí) el archivo de un uso indeseado. El ejecutable vb comprobaría la contraseña y a continuación abriría el archivo con la aplicación adecuada. El fallo es evidente, basta con saltarse la llamada al pgm vb cambiando la extensión por la correspondiente y abriédolo con la correspondiente aplicación.

La forma más sencilla que veo para hacer lo que pretendes es cambiando la estructura de los archivos en cuestión: Crear un nuevo archivo con, por ejemplo, determinada estructura de encabezamiento en el que se incluya de alguna forma la clave, a partir de un determinado offset grabar el contenido del archivo original y finalizar el archivo con algún otro dato. Cuando quieras reproducir/visualizar el archivo, el programa comprobaría los datos y contraseña del encabezado, grabaría en un archivo temporal los datos del archivo original y reproduciría este último archivo.

Esta método también es completamente inseguro, pero por lo menos la cosa se complica un poco más (requiere un mínimo de manipulación del archivo). La solución final de reproducir el original con su correspondiente aplicación es un poco marrullera... desde luego lo ideal sería que la aplicación que reproduzca el contenido fuese la que hiciste en vb, pero eso es mucho nivel (crear tus propios formatos de archivos de imagen u otras historias, compresiones, quebraderos de cabeza varios...) aparte de poco operativo con un lenguaje con las características de vb.

En fin... tu mismo.

Suerte.

jegonzalezrubio

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Carpetas Y Archivos
« Respuesta #3 en: Jueves 9 de Diciembre de 2004, 15:30 »
0
hola Brroz como hago para que mi programa en visual basic este preparado para recibir como parámetro el nombre de archivo en cuestión y en que envento debo capturarlo

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Carpetas Y Archivos
« Respuesta #4 en: Jueves 9 de Diciembre de 2004, 15:48 »
0
Hola jegonzalezrubio.

Los argumentos de línea de comandos pasados al programa los recibirás a través del objeto Command. El momento en que recuperas estos parámetros es: cuando los necesites, así de sencillo, aunque normalmente será al comienzo de la ejecución del programa: en un método Main o si el objeto inicial del proyecto es un formulario, en el evento Load del mismo.

Por ejemplo, en el fuente de un programa, en un módulo:
Código: Text
  1.  
  2. Option Explicit
  3.  
  4. Private Sub Main()
  5.    If Command$ = "" Then
  6.       MsgBox "No se han pasado parámetros"
  7.    Else
  8.       MsgBox "Se ha pasado como parámetro" & vbcrlf & Command$ _
  9.       & vbcrlf & " y el programa intentará hacer algo con eso."
  10.    End If
  11. End Sub
  12.  
  13.  

Cuando asociamos una extensión a una aplicación, windows lo que hace es pasar como parámetro al ejecutable asociado el archivo que se desea abrir, por lo que ese ejecutable deberá recuperar el parámetro y hacer lo que deba con ese valor.

Chao.

jegonzalezrubio

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Carpetas Y Archivos
« Respuesta #5 en: Jueves 9 de Diciembre de 2004, 16:13 »
0
Muchas gracias

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Carpetas Y Archivos
« Respuesta #6 en: Viernes 10 de Diciembre de 2004, 00:03 »
0
ESTA SENTENCIA BLOQUEA EL ACCESO A UN ARCHIVO HASTA QUE CIERRES TU APLICACION DE VISUAL
Código: Text
  1.  
  2. Open "dir\file.ext" For Binary Access Read Lock Read Write As #1
  3.  
  4.  
OJALA TE SIRVA.
CHAO
El pasado son solo recuerdos, el futuro son solo sueños

jegonzalezrubio

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Carpetas Y Archivos
« Respuesta #7 en: Martes 14 de Diciembre de 2004, 17:46 »
0
Alguien sabe com desde visual basic puedo exportar un query a lotus 123. yo ya lo hice con excel pero no he podido Hacerlo con lotus 123
por favor dnecesito ayuda

jegonzalezrubio

  • Nuevo Miembro
  • *
  • Mensajes: 13
    • Ver Perfil
Re: Carpetas Y Archivos
« Respuesta #8 en: Jueves 16 de Diciembre de 2004, 22:29 »
0
Hola Brroz

Ahora tengo esta dificultad necesito crear una clave en el registro de windows
de nombre "OPEN1" de tipo "Reg_sz" y con la informacion "Complemento.xlb"
esra clave debe estar situada en una ubicacion de Hkey_current_user

Gracias Y Saludos.

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Carpetas Y Archivos
« Respuesta #9 en: Jueves 16 de Diciembre de 2004, 23:07 »
0
UTILIZA LAS API's RegCreateKey, RegSetValueEx, RegCloseKey, LA CONSTANTE REG_SZ, HKEY_CURRENT_USER
Código: Text
  1. 'TONCES
  2. Sub SaveString (Llave As Long, Path As String, Valor As String, Datos As String)
  3.  Dim ret
  4.  RegCreateKey Llave, Path, ret
  5.  RegSetValueEx ret, Valor, 0, REG_SZ, ByVal Datos, Len(Datos)
  6.  RegCloseKey ret
  7. End Sub
  8.  
  9. Private Sub CmdCrear_Click()
  10. On Error Resume Next
  11. SaveString HKEY_CURRENT_USER, direccion a grabar, "OPEN1", "Complemento.xlb"
  12. End Sub
  13.  
OJALA TE SIRVA.
CHAO
El pasado son solo recuerdos, el futuro son solo sueños

tiquinho

  • Miembro activo
  • **
  • Mensajes: 96
    • Ver Perfil
Re: Carpetas Y Archivos
« Respuesta #10 en: Jueves 16 de Diciembre de 2004, 23:31 »
0
A veces conviene utilizar el buscador del foro para encontrar la solución sin que te responda ;)

http://foros.solocodigo.com/index.php?showtopic=11348&hl=

aqui tienes información para escribir en el registro de dos maneras :D

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Carpetas Y Archivos
« Respuesta #11 en: Viernes 17 de Diciembre de 2004, 09:34 »
0
Hola jegonzalezrubio.

Abre temas nuevos para cuestiones nuevas porque sino la peña no se entera...