• Lunes 23 de Diciembre de 2024, 03:24

Autor Tema:  Archivos .ini  (Leído 2687 veces)

Bluebird

  • Miembro activo
  • **
  • Mensajes: 30
    • Ver Perfil
Archivos .ini
« en: Viernes 23 de Junio de 2006, 22:38 »
0
Hola que tal a todos....Tengo problemas para crear archivo ini  a partir de esta línea´s de código....

Código: Text
  1.  
  2. Private Sub RandTema()
  3. Dim rec1 As ADODB.Recordset
  4. Dim Ntemas As Integer
  5. Dim nroTem As Integer
  6. Dim rn
  7. Label8(0).Caption = ""
  8. Label8(1).Caption = ""
  9.  
  10. Pasa_Pago = False
  11. Set rec1 = New ADODB.Recordset
  12. rec1.Open "select * from temas", Constri, adOpenStatic, adLockReadOnly
  13. Ntemas = rec1.RecordCount
  14. Randomize
  15. rn = Int((Ntemas * Rnd))   ' Genera valores aleatorios entre 1 y 6.
  16. 'rn = Int(Ntemas / 60 * Second(Time))
  17. rec1.MoveFirst
  18. rec1.Move rn
  19. nroTem = rec1(0)
  20. rec1.Close
  21. Set rec1 = Nothing
  22. 'Mp1.Stop
  23. Mp3.Controls.Stop
  24. TMRTema.Enabled = True
  25. 'Mp1.Volume = -2700 ------------------------> ¿Como Hacer un .ini para manejar este valor externamente?
  26. 'Mp1.Open "c:\mp3\" & nroTem & ".mp3"
  27. Mp3.settings.volume = 4
  28. Mp3.URL = "c:\mp3\" & nroTem & ".mp3"
  29.  
  30.  
bLuEbIRD....JoIn ThE CoSmOs...

Jose Arriagada

  • Miembro MUY activo
  • ***
  • Mensajes: 373
    • Ver Perfil
Re: Archivos .ini
« Respuesta #1 en: Viernes 23 de Junio de 2006, 22:48 »
0
Si es solo este valor, entonces lo mas facil es...

'Para crear el ini
ArchivoIni=App.path & "\ARCHIVO.INI"
open ArchivoIni for output as #1
print #1, Valor
close(1)


'Para leer el ini
ArchivoIni=App.path & "\ARCHIVO.INI"
open ArchivoIni for input as #1
input #1, Valor
close(1)

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Archivos .ini
« Respuesta #2 en: Sábado 24 de Junio de 2006, 18:38 »
0
Para crear archivos .ini puedes usar las api's:
Código: Text
  1. Private Declare Function GetPrivateProfileString Lib "Kernel32" Alias "GetPrivateProfileStringA" _
  2.         (ByVal lpApplicationName As String, ByVal lpKeyName As Any, _
  3.          ByVal lpDefault As String, ByVal lpReturnedString As String, _
  4.          ByVal nSize As Long, ByVal lpFileName As String) As Long
  5.     Private Declare Function WritePrivateProfileString Lib "Kernel32" Alias "WritePrivateProfileStringA" _
  6.         (ByVal lpApplicationName As String, ByVal lpKeyName As Any, _
  7.          ByVal lpString As Any, ByVal lpFileName As String) As Long
  8.  
Son mucho más confiables que hacerlo a mano.

Ojala te sirva.
Chao
El pasado son solo recuerdos, el futuro son solo sueños

Bluebird

  • Miembro activo
  • **
  • Mensajes: 30
    • Ver Perfil
Re: Archivos .ini
« Respuesta #3 en: Martes 27 de Junio de 2006, 22:01 »
0
Hola José y RadicalEd...

Para José:

En donde Marque donde va el valor del Volumen...."Mp3.Volume= (Valor del Ini)...¿ahi tengo que colocar el mombre del archivo ini que yo creo?....


Gracias...
 :hola:
Para Radical:

Ademas de esas instrucciones api como lo llamo desde la línea que menciono más arriba.

Gracias a los dos :comp:

Salu2 :hola:
bLuEbIRD....JoIn ThE CoSmOs...

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Archivos .ini
« Respuesta #4 en: Viernes 30 de Junio de 2006, 14:56 »
0
Cita de: "Bluebird"
Hola José y RadicalEd...

Para José:

En donde Marque donde va el valor del Volumen...."Mp3.Volume= (Valor del Ini)...¿ahi tengo que colocar el mombre del archivo ini que yo creo?....


Gracias...
 :hola:
Para Radical:

Ademas de esas instrucciones api como lo llamo desde la línea que menciono más arriba.

Gracias a los dos :comp:

Salu2 :hola:
1) Creas una variable que va sera un String que contendra el path de donde guardas el archivo .ini.

2) Con GetPrivateProfileString, puedes obtener datos de un item que tu le digas del archivo.ini
El pasado son solo recuerdos, el futuro son solo sueños

Jose Arriagada

  • Miembro MUY activo
  • ***
  • Mensajes: 373
    • Ver Perfil
Re: Archivos .ini
« Respuesta #5 en: Viernes 30 de Junio de 2006, 15:42 »
0
'Para aplicar esta funcion tienes que crear el archivo en ascii, y lo unico que contiene es el valor del volumen.

Debes declarar como global la siguiente variable
DIM Volumen as Double

Function ValorVolumen() as double
ArchivoIni=App.path & "\ARCHIVO.INI"
open ArchivoIni for input as #1
input #1, ValorVolumen
close(1)
End Function

'Al iniciar tu aplicacion
Private Sub Form_Load()
  Volumen=ValorVolumen()
.....
.....
EndSub



Private Sub RandTema()
Dim rec1 As ADODB.Recordset
Dim Ntemas As Integer
Dim nroTem As Integer
Dim rn
Label8(0).Caption = ""
Label8(1).Caption = ""
Pasa_Pago = False
Set rec1 = New ADODB.Recordset
rec1.Open "select * from temas", Constri, adOpenStatic, adLockReadOnly
Ntemas = rec1.RecordCount
Randomize
rn = Int((Ntemas * Rnd))   ' Genera valores aleatorios entre 1 y 6.
'rn = Int(Ntemas / 60 * Second(Time))
rec1.MoveFirst
rec1.Move rn
nroTem = rec1(0)
rec1.Close
Set rec1 = Nothing
'Mp1.Stop
Mp3.Controls.Stop
TMRTema.Enabled = True

'AQUI COLOCAS EL VALOR DEL VOLUMEN LEIDO AL INICIO DE TU APLICACION
'Mp1.Volume = Volumen

'Mp1.Volume = -2700 ------------------------> ¿Como Hacer un .ini para manejar este valor externamente?
'Mp1.Open "c:\mp3\" & nroTem & ".mp3"
Mp3.settings.volume = 4
Mp3.URL = "c:\mp3\" & nroTem & ".mp3"

Bluebird

  • Miembro activo
  • **
  • Mensajes: 30
    • Ver Perfil
Re: Archivos .ini
« Respuesta #6 en: Viernes 30 de Junio de 2006, 23:34 »
0
Gracias a los 2...entendí perfectamente :P

Saludo2 :hola:

¡¡¡Nos Vemos !!! :kicking:
bLuEbIRD....JoIn ThE CoSmOs...

Bluebird

  • Miembro activo
  • **
  • Mensajes: 30
    • Ver Perfil
Re: Archivos .ini
« Respuesta #7 en: Lunes 3 de Julio de 2006, 15:37 »
0
Hola José...

Una pregunta...Realize los pasos ke tu me dijiste...hasta hay todo bien...Cree un modulo .bas con lo siguiente:

Código: Text
  1.  
  2. Function ValorVolumen() As Double
  3.  
  4. 'Para crear el ini
  5. ArchivoIni = App.Path & "\volumen.ini"
  6. Open ArchivoIni For Output As #1
  7. Print #1, ValorVolumen
  8. Close (1)
  9.  
  10. 'Para leer el ini
  11. ArchivoIni = App.Path & "\volumen.ini"
  12. Open ArchivoIni For Input As #1
  13. Input #1, ValorVolumen
  14. Close (1)
  15. End Function
  16.  
  17.  

Cuando ejecutas la aplicación se crea el archivo .ini pero no me deja grabar un valor dentro de este...¡ke me falta?

Tambiem koloke las sentencias en formload y la variable tal cual me indicaste..

Gracias, :comp:
abrazos y salu2 :hola:
bLuEbIRD....JoIn ThE CoSmOs...

Jose Arriagada

  • Miembro MUY activo
  • ***
  • Mensajes: 373
    • Ver Perfil
Re: Archivos .ini
« Respuesta #8 en: Lunes 3 de Julio de 2006, 16:42 »
0
En un formulario,

Private Sub cmdGrabar_Click()
nValorVolumen = Text1.Text
If GrabarValorVolumen = True Then
    MsgBox "OK"
End If
End Sub

Private Sub cmdLeer_Click()
Text2.Text = LeerValorVolumen
End Sub


En un modulo .BAS

Global nValorVolumen As Double

Function LeerValorVolumen() As Double
ArchivoIni = App.Path & "\volumen.ini"
Open ArchivoIni For Input As #1
Input #1, nValorVolumen
Close (1)
LeerValorVolumen = nValorVolumen
End Function

Function GrabarValorVolumen() As Boolean
ArchivoIni = App.Path & "\volumen.ini"
nFile = FreeFile
Open ArchivoIni For Output As #nFile
    Print #nFile, nValorVolumen
Close (nFile)
End Function