Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: ricardovinzo en 28 Julio 2008, 05:07 AM

Título: como hacne los programas para?..
Publicado por: ricardovinzo en 28 Julio 2008, 05:07 AM
tengo una duda por ejemplo aquellos programas que cuando uno los configura.. y por ejemplo de la a una opcion X osea lo clikea en un check button.. y cierran el programa y todo y cuando lo vuelven a abrir el check button esta chekeado osea no se pone sin chekear. como lo hacen?

se entiende?
Título: Re: como hacne los programas para?..
Publicado por: Novlucker en 28 Julio 2008, 05:09 AM
Guardan su configuración en archivos de registro, archivos ini o archivos auxiliares  ;)

Saludos
Título: Re: como hacne los programas para?..
Publicado por: ricardovinzo en 28 Julio 2008, 05:28 AM
xD.. man disculpa pero sino es mucha molestia seria posible ver si me podias pasar un tuto acerca de eso.. que he tratado de buscar pero nada! :S
Título: Re: como hacne los programas para?..
Publicado por: naderST en 28 Julio 2008, 06:02 AM
busca sobre escribir y leer archivos ini y con eso ya tienes todo :P
Título: Re: como hacne los programas para?..
Publicado por: seba123neo en 28 Julio 2008, 06:08 AM
mmmmm no te creo que no encontras,ya que hay un monton de paginas que te dicen eso de guardar en .ini ,es imposible no encontrar...
Título: Re: como hacne los programas para?..
Publicado por: d(-_-)b en 28 Julio 2008, 09:35 AM
Cita de: ricardovinzo en 28 Julio 2008, 05:28 AM
que he tratado de buscar pero nada

hay que buscarce bien la vida, solo con escribir "archivos ini vb6" en google, ya tienes la respuesta.

-------------------------------------------------

Leer y grabar datos en un archivo INI

Ejemplo que utiliza las funciones Api GetPrivateProfileString y WritePrivateProfileString para grabar y leer datos en un archivo de configuración ini

La función que lee es GetPrivateProfileString, la función que graba WritePrivateProfileString.

Las dos poeen casi los mismos parámetros: ( La ruta y nombre del archivo Ini, el nombre de La clave a leer o grabar, el Valor que se va a leer o grabar.)

Nota: La función GetPrivateProfileString, tiene un parámetro adicional ( ByVal lpDefault As String ) para los valores por defecto en caso de que no haya ningún dato que leer.

El siguiente ejemplo lo que hace es leer y almacenar en un archivo Ini ( ubicado en el App.Path del programa y llamado Config.ini), ..el ancho, alto, el Top y el Left del formulario.

En el evento FormLoad, se llama a la función de ajuste llamada Leer_Ini ( Esta función retorna el valor leeido )

Código (vb) [Seleccionar]
Private Function Leer_Ini(Path_INI As String, Key As String, Default As Variant) As String

..en el evento Unload del formulario se llama a la función Grabar_Ini.

Código (vb) [Seleccionar]

Private Function Grabar_Ini(Path_INI As String, Key As String, Valor As Variant) As String


En el fichero Ini se almacenarán los datos de esta forma:

Código (vb) [Seleccionar]
[MiPrograma]
Left=0
Top=0
Width=12165
Height=5000


Nota: Si el archivo ini no existe, la función api WritePrivateProfileString, lo crea automáticamente, o sea que no generará error de Acceso o ruta de archivo inexistente

Código fuente en el formulario

Código (vb) [Seleccionar]
     Option Explicit 
   
  Const APPLICATION As String = "MiPrograma" 
   
  Dim m_Left As Single 
  Dim m_Top As Single 
  Dim m_Width As Single 
  Dim m_Height As Single 
   
  Dim Path_Archivo_Ini As String 
   
  'Función api que recupera un valor-dato de un archivo Ini 
  Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" ( _ 
      ByVal lpApplicationName As String, _ 
      ByVal lpKeyName As String, _ 
      ByVal lpDefault As String, _ 
      ByVal lpReturnedString As String, _ 
      ByVal nSize As Long, _ 
      ByVal lpFileName As String) As Long 
   
  'Función api que Escribe un valor - dato en un archivo Ini 
  Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" ( _ 
      ByVal lpApplicationName As String, _ 
      ByVal lpKeyName As String, _ 
      ByVal lpString As String, _ 
      ByVal lpFileName As String) As Long 
   
   
  'Lee un dato _ 
  ----------------------------- 
  'Recibe la ruta del archivo, la clave a leer y _ 
   el valor por defecto en caso de que la Key no exista 
  Private Function Leer_Ini(Path_INI As String, Key As String, Default As Variant) As String 
   
  Dim bufer As String * 256 
  Dim Len_Value As Long 
   
          Len_Value = GetPrivateProfileString(APPLICATION, _ 
                                           Key, _ 
                                           Default, _ 
                                           bufer, _ 
                                           Len(bufer), _ 
                                           Path_INI) 
           
          Leer_Ini = Left$(bufer, Len_Value) 
   
  End Function 
   
  'Escribe un dato en el INI _ 
  ----------------------------- 
  'Recibe la ruta del archivo, La clave a escribir y el valor a añadir en dicha clave 
   
  Private Function Grabar_Ini(Path_INI As String, Key As String, Valor As Variant) As String 
   
      WritePrivateProfileString APPLICATION, _ 
                                           Key, _ 
                                           Valor, _ 
                                           Path_INI 
   
  End Function 
   
   
  Private Sub Form_Load() 
       
      'Path del fichero Ini 
      Path_Archivo_Ini = App.Path & "\config.ini" 
       
      ' Lee las Key y  Les envia el valor por defecto por si no existe 
      m_Left = Leer_Ini(Path_Archivo_Ini, "Left", 0) 
      m_Top = Leer_Ini(Path_Archivo_Ini, "Top", 0) 
      m_Width = Leer_Ini(Path_Archivo_Ini, "Width", 5000) 
      m_Height = Leer_Ini(Path_Archivo_Ini, "Height", 5000) 
       
      'Posiciona el formulario con los valores del archivo Ini 
      Move m_Left, m_Top, m_Width, m_Height 
       
  End Sub 
   
  Private Sub Form_Unload(Cancel As Integer) 
       
      'Escribe en el archivo Ini 
       
      'Posición del Form 
      Call Grabar_Ini(Path_Archivo_Ini, "Left", Me.Left) 
      Call Grabar_Ini(Path_Archivo_Ini, "Top", Me.Top) 
       
      'Tamaño del formulario 
      Call Grabar_Ini(Path_Archivo_Ini, "Width", Me.Width) 
      Call Grabar_Ini(Path_Archivo_Ini, "Height", Me.Height) 
       
  End Sub   


Fuente: Leer y grabar datos en un archivo INI (http://www.recursosvisualbasic.com.ar/htm/listado-api/159-leer-grabar-archivo-ini.htm)

saludos...