Mostrando las entradas con la etiqueta Settings. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Settings. Mostrar todas las entradas

lunes, 26 de octubre de 2020

USE (scripter)

 

En gambas3 podemos generar script, aquí un ejemplo usando "USE". Este script lo que hace es crear una ventana (form) con titulo hola mundo y cuando cierra guarda la posición del formulario y sus dimensiones, esto lo hacemos por medio de gb.settings, en el evento open leemos los datos antes guardados por settings.

Lo primero que debemos hacer es el encabezado del script usando esta linea:

#!/usr/bin/gbs3

para localizar gbs3 con seguridad ejecutamos: which gbs3

Ejemplo: 

juan@debian:~$ which gbs3
/usr/bin/gbs3

Lo segundo declarar mediante USE los componentes de gambas que vamos a necesitar en este caso use dos de los mas comunes y vitales gb.qt5 y gb.settings.

El primero para usar formularios y el settings para recordar configuraciones.
Cada componente sera un string entre comillas y separado por coma de los demás que se agreguen.

Ejemplo: Use "gb.qt5", "gb.settings"


Ayuda:

USE "Componente" [, "Componente" ...]

Solo para Gambas Scripting con gbs3.
Declara que una clase utilizará uno o varios componentes.
Esta declaración debe estar escrita en el encabezado de la clase.
Los componentes se especifican mediante cadenas. Se cargarán la primera vez que se use la clase.

----- Comienzo del Script -----

#!/usr/bin/gbs3

Use "gb.qt5", "gb.settings"

Private FormX As Form

Public Sub Main()

  Print "Hello world"
  Print "Ejecutando Sub Main"

  formx = New Form As "ev"

  With FormX
    .Width = 200
    .Height = 100
    .Title = "Hola Mundo"
    .Show
  End With

End

Public Sub ev_Close()

  Print "Evento Close detectado"
  Settings.Write(FormX)
  Settings.Save

End

Public Sub ev_Open()

  Print "Evento Open detectado"
  Settings.Read(FormX)

End 

----- Fin del Script ----- 

 

Crea un archivo de texto simple con nombre "scripterHolaMundo" y pega todo el código del script.

Dale permisos de ejecución con: chmod +x scripterHolaMundo

Ejecútalos estando en la carpeta donde se encuentra el script con:

./scripterHolaMundo


Bueno espero les sirva para sus aprendizajes, si algo no entienden o lo he explicado mal por favor escriban un comentario, saludos.

miércoles, 24 de febrero de 2016

Activar o Desactivar sonidos en nuestra aplicación



Hola novatos!!! jajaja
Les traigo un pequeño programita que si lo usan en una programa grande seguro les sera de utilidad.
Trata de la opcion de desactivar todos los sonidos de nuestro programa o activarlos para asi poder oirlos.
A experimentar mucho que es como se aprende.

Saludos y comenten.


' gambas class file

'by postapase
'necesario componentes gb.settings y gb.sdl2.audio

Public bPermisoSonido As Boolean 'Variable que maneja si se pueden o no ejecutar sonidos
Public Clic As Sound 'declaramos una variable de sonido que se puede acceder de cualquier lado.
Public ErrorX As Sound 'declaramos una variable de sonido que se puede acceder de cualquier lado.


Public Sub Form_Open()

Clic = Sound.Load("clic.ogg") 'asignamos a la variable de sonido Clic un sonido X
ErrorX = Sound.Load("error.ogg") 'asignamos a la variable de sonido ErrorX un sonido X
bPermisoSonido = Settings["Opciones/PermitirSonido", True] 'leemos el valor de PermitirSonido y lo asignamos a bPermisoSonido.
'en caso de no existir ningun valor en el archivo settings en PermitirSonido le asignamos true.

EsteIcono() 'llamamos a la funcion.

End

Public Sub btnSonidos_Click()

bPermisoSonido = Not bPermisoSonido 'not le asigna a bPermisoSonido el valor contrario al que tiene.
'si bPermisoSonido es true lo dejara en false
'si bPermisoSonido es false lo dejara en true

EjecutarSonido(Clic) 'llama a la funcion EjecutarSonidos() y entre los parentesis le asignamos el sonido a ejecutar.

EsteIcono() ' funcion que se encarga de visualizar un icono dependiendo de la variable bPermisoSonido.

Settings["Opciones/PermitirSonido"] = bPermisoSonido 'asigna el valor de bPermisoSonido a PermitirSonido del archivo settings
Settings.Save ' guarda los cambios ya de la orden anterior, si esta orden no esta settings la guarda al cerrar el programa.

End

Public Sub EsteIcono() 'se encarga de mostrar uno u otro icono dependiendo de bPermisoSonido.

If bPermisoSonido Then
btnSonidos.Picture = Picture["icon:/64/volume"]
Else
btnSonidos.Picture = Picture["icon:/64/muted"]
Endif

End


Public Sub EjecutarSonido(sonido As Sound)

If bPermisoSonido Then 'si bPermisoSonido es true ejecuta el sonido sino no hace nada.
Try sonido.Play 'intenta ejecutar el sonido si da error el programa no se cuelga y el if siguiente muestra el detalle del error.
If Error Then Message.Warning(Error.Text & gb.NewLine & Error.Where & gb.NewLine & Error.Code)
Endif

End

Public Sub Button2_Click()
EjecutarSonido(Clic) 'llama a la funcion
End

Public Sub Button1_Click()
EjecutarSonido(ErrorX) 'llama a la funcion
End




Código fuente: ActivarDesactivarSonidos-0.0.1.tar.gz






lunes, 8 de septiembre de 2014

CBoolean y Settings

Otro ejemplo de Settings con Cboolean, la razón de porque hago muchos ejemplos con Settings es que a mi me costo enormidades entender el funcionamiento de este componente que es vital para cualquier programa, ya que sin el no podemos guardar configuraciones y datos importantes de funcionamiento de nuestra aplicación, y la info que hay por ahí es escasa.
Ojala que ustedes con esta info no pasen tantas dificultades como pase yo para poder comprender y usar Settings.




' gambas class file

'by postapase
Public Sub Form_Open()
Me.Center
CheckBox1.Value = Settings["Opciones/" & CheckBox1.Text, False]
CheckBox2.Value = Settings["Opciones/" & CheckBox2.Text, False]
CheckBox3.Value = Settings["Opciones/" & CheckBox3.Text, False]
End

Public Sub CheckBox1_Click()
Settings["Opciones/" & CheckBox1.Text] = CBoolean(CheckBox1.Value)
LeerArchivoDeConfiguracion()
End

Public Sub CheckBox2_Click()
Settings["Opciones/" & CheckBox2.Text] = CBoolean(CheckBox2.Value)
LeerArchivoDeConfiguracion()
End

Public Sub CheckBox3_Click()
Settings["Opciones/" & CheckBox3.Text] = CBoolean(CheckBox3.Value)
LeerArchivoDeConfiguracion()
End

Public Sub LeerArchivoDeConfiguracion()
Dim ArchivoX As File
Dim Linea As String
Dim Ruta As String

Settings.Save
TextArea1.Clear
Ruta = Settings.DefaultDir &/ Application.Name & ".conf"
ArchivoX = Open Ruta For Read

While Not Eof(ArchivoX)
Line Input #ArchivoX, Linea
TextArea1.Text &= Linea & gb.NewLine
Wend

Close ArchivoX

End


Código fuente: Cboolean-0.0.1.tar.gz

sábado, 30 de agosto de 2014

Settings.write y Settings.read

Buenas, para ver los cambios tienen que abrir y cerrar el formulario.


' gambas class file

'by postapase

Public Sub Form_Open()
Print Settings.Path
Settings.Read(Me) 'lee los datos antes guardados con el comando Settings.write
Settings["Blog/postapase"] = "http://novatocodegambas.blogspot.com/" 'ordena que hay que guardar este dato en el archivo
'Settings cuando se cierre el formulario.
Settings.Save ' guarda ya mismo el dato de la linea anterior
LeerArchivoSettings() 'llama a la subrutina que se encargara de leer el archivo Settings y mostrarlo en el TextArea
End


Public Sub by_Click()

Settings.Clear(Me.Name) 'ordena que hay que borrar solo la llave o key Me.name
'que equivale al nombre del formulario en este caso equivale a FMain, se guardara cuando el formulario principal sea cerrado,
'salvo que se ponga la line que viene abajo que ordena guardar inmediatamente.
Settings.Save ' guarda ya todos los datos que ordenaron guardar en el archivo settings
Wait 0.2 ' comando que hace un tiempo antes de ejecutar la linea siguiente.
LeerArchivoSettings() 'llama a la subrutina que se encargara de leer el archivo Settings y mostrarlo en el TextArea
End

Public Sub btnBorrarTodo_Click()
Settings.Clear ' 'ordena que hay que borrar todo el archivo Settings cuando se cierre el formulario principal
Settings.Save 'ejecuta ya mismo todas las ordenes pendientes sobre el archivo Settigns.
Wait 0.2 ' comando que hace un tiempo antes de ejecutar la linea siguiente.
LeerArchivoSettings() 'llama a la subrutina que se encargara de leer el archivo Settings y mostrarlo en el TextArea
End

Public Sub LeerArchivoSettings() 'rutina que se encargara de leer el archivo Settings y mostrarlo en el TextArea
Dim ArchivoSettings As File 'declaramos una variable de tipo archivo para poder leer los datos de un archivo
Dim LineaX As String 'variable de tipo string que contendra los dato de una linea del archivo que estemos leyendo
Dim RutaArchivoSettins As String 'variable de tipo string que contendra la ruta del archivo a leer

TextArea1.Clear 'borramos el textarea sino no visualizaremos los datos como corresponde
RutaArchivoSettins = Settings.Path 'asignamos la ruta del archivo al string

ArchivoSettings = Open RutaArchivoSettins For Read
'open abre un archivo x en la ruta especificada en este caso Settings.path ( )
'For Read indica que abre el archivo solo con intenciones de lectura

'while...wend (El bucle se repite mientras que la expresión es verdadera.)
'Eof devuelve TRUE si estamos al final de un Flujo. (en este caso un archivo)
While Not Eof(ArchivoSettings) 'si eof NO es true ejecute el bluce (comienzo del bluce)
' cuando Eof(ArchivoSettings) es true significa que llego al final del archivo y el bluce no se ejecuta mas
Line Input #ArchivoSettings, LineaX 'lee de a una linea el archivo
' y lo que hay en esa linea lo deposita en lineaX que es una variable de tipo String
TextArea1.Text &= LineaX & gb.NewLine 'va escribiendo en el textarea linea a linea pasando lo que hay en lineax, gb.NewLine es una constante equivalente a poner  LineaX & "\n"
Wend

End

Public Sub BtnGuardar_Click()
Settings.Write(Me) 'ordena que se guarden las coordenadas del FMain en este caso el formulario principal (me) cuando se cierre el formulario.
Settings.Save ' guarda ya todos los datos que ordenaron guardar en el archivo settings
LeerArchivoSettings() 'llama a la subrutina que se encargara de leer el archivo Settings y mostrarlo en el TextArea
End

Public Sub Form_Move() 'evento que sucede cuando movemos el formulario
LabX.Text = "(" & Me.X & ")"
LabY.Text = "(" & Me.y & ")"
End



Código fuente: Settings-write-read-0.0.1.tar.gz

jueves, 21 de agosto de 2014

Listado de recientes



' gambas class file

'por postapase

Private ArbitroRepetido As Boolean
Public AgregandoJueces As New String[]
Public listajueces As ListBox
Public lista As String[]

Public Sub Form_Open()
    listajueces = New ListBox(Me) As "listajueces"
    Me.Center
    With listajueces
       .ScrollBar = 3
       .Enabled = True
       .Visible = False
       .Width = txtArbitro.Width
       .Height = 100
       .x = txtArbitro.X
       .y = txtArbitro.y + txtArbitro.Height
    End With

    CargarArbitros()
End

Public Sub txtArbitro_Change()
  If Len(txtArbitro.Text) <0> 0 Then
     For x = 0 To AgregandoJueces.Count - 1
        If InStr(Left(UCase(AgregandoJueces[x]), Len(txtArbitro.Text)), UCase(txtArbitro.Text)) <> 0 Then
          listajueces.Visible = True
         Endif
      Next
 Endif

 For x = 0 To AgregandoJueces.Count - 1
     If InStr(Left(UCase(AgregandoJueces[x]), Len(txtArbitro.Text)), UCase(txtArbitro.Text)) <> 0 Then
        listajueces.Add(AgregandoJueces[x])
      Endif
 Next

End

Public Sub btnAgregarArbitro_Click()
  SErepiteArbitro(Trim$(txtArbitro.Text))
  If ArbitroRepetido = False Then
    AgregandoJueces.Add(Trim$(txtArbitro.Text))
    GuardarArbitros()
  Endif
  txtArbitro.Clear
  txtArbitro.SetFocus
End

Public Sub SErepiteArbitro(nombre As String)
  Dim itemArray As String

  If AgregandoJueces.Count <> 0 Then
      For Each itemArray In AgregandoJueces
         If itemArray = nombre Then
            ArbitroRepetido = True
         Else
            ArbitroRepetido = False
         Endif
      Next
  Else
    ArbitroRepetido = False
  Endif

End

Public Sub GuardarArbitros()
 Dim arbitro, ConjuntoArbitros As String
 For Each arbitro In AgregandoJueces
     ConjuntoArbitros &= arbitro & ","
 Next
 ConjuntoArbitros = Left(ConjuntoArbitros, Len(ConjuntoArbitros) - 1)
 Settings["ArbitrosRecientes/Lista"] = ConjuntoArbitros
 Settings.Save
End

Public Sub CargarArbitros()
  Dim lista As String
  lista = Settings["ArbitrosRecientes/Lista", ""]
  AgregandoJueces = Split(lista, ",")
 End

Código fuente:ListaJueces-0.0.1.tar.gz
                       ListaArbitros 0.0.2

lunes, 21 de abril de 2014

Crear y usar nuestro propio archivo de configuración

' Gambas class file

' crea un nuevo proyecto, después
' activar gb.settings  (proyecto --> propiedades --> componentes) gambas 3.5.3
' declaramos la variable de tipo settings personalizada

Public Mi_Archivo_de_configuracion As Settings



Public Sub Form_Open()

' inicializamos la variable, le asignamos su ruta(User.Home)
' y el nombre que tendrá nuestro archivo, si le ponemos un punto antes del
' nombre sera una archivo oculto /.My_setting
Mi_Archivo_de_configuracion = New Settings(User.Home & "/My_setting")

' esta linea lo que hace es definir una Key(MisDatosPersonales) de tipo string,
'  y seguido y después de la barra un nombre relacionado a la información que almacenara
'  el dato que tendremos que poner despues del = es de tipo variant, puede ser una cadena o string,
'  un número, una variable de tipo boolean etc

Mi_Archivo_de_configuracion["MisDatosPersonales/MiNombre"] = "postapase"

' la próxima linea lo que hace es guardar el dato inmediatamente ,
' pues si no el dato se graba cuando el programa es cerrado (creo jaja)

Mi_Archivo_de_configuracion.Save

' ahora el dato se puede leer en:
' /home/tu_usuario/My_setting
' asi se vera en el archivo My_setting
' [MisDatosPersonales]
' MiNombre = "postapase"


End

bueno espero que les haya sido útil, así como este archivo de configuración de pueden hacer varios

http://gambasdoc.org/help/comp/gb.settings?es

miércoles, 16 de abril de 2014

Recordar elecciones de checkbox



' Gambas class file

' antes que nada el componente gb.Settings( gestión de archivo de configuración debe estar activado)
' Proyecto, propiedades, componentes y buscas gb.Settings y activarlo

' estas variables de tipo boolean serán las que guardaremos en el archivo de configuración,
' si ellas están en true los botones se verán, si en false los botones no se verán, pues al estar
' en true los checkbox en su propiedad value estarán en true y ejecutaran su código interno.
' (/home/aqui ira tu nombre de usuario/.config/gambas3/checkbox.conf
' veras algo asi:
' [Visualizar]
' VerBoton1 = True
' VerBoton2 = True



Public VerBoton1 As Boolean
Public VerBoton2 As Boolean

Public Sub CheckboxVerBoton1_Click()
' al hacer clic en el checkbox, el checkbox analizara si su propiedad value es true o false
' sera true cuando el cuadrado tenga la v del ok y sera falso cuando este en blanco.
  If CheckboxVerBoton1.Value = True Then
     btn1.Visible = True
     VerBoton1 = True
  Else
    btn1.Visible = False
    VerBoton1 = False
  Endif
' con estas lineas guardamos en la variable de tipo Boolean  VerBoton1 si es igual a True o False
 Settings["Visualizar/VerBoton1"] = VerBoton1
 Settings.Save ' guarda en el archivo de configuracion ahora mismo, sino se pone esta linea
 ' se guardara cuando el programa se cierre

End

Public Sub CheckboxVerBoton2_Click()

  If CheckboxVerBoton2.Value = True Then
    btn2.Visible = True
    VerBoton2 = True
  Else
   btn2.Visible = False
   VerBoton2 = False
  Endif
   
 Settings["Visualizar/VerBoton2"] = VerBoton2
 Settings.Save

End
Public Sub Form_Open()
  ' con estas dos lineas leemos el archivo Settings para saber
  '  que valores tienen las variables VerBoton1 y VerBoton2
  VerBoton2 = Settings["Visualizar/VerBoton2"]
  VerBoton1 = Settings["Visualizar/VerBoton1"]
  
  If VerBoton1 = True Then
    CheckboxVerBoton1.Value = True
  Else
    CheckboxVerBoton1.Value = False
  Endif
 
   If VerBoton2 = True Then
    CheckboxVerBoton2.Value = True
  Else
    CheckboxVerBoton2.Value = False
  Endif
End

https://www.dropbox.com/s/pwa787c6gxdgtvi/checkbox-0.0.1.tar.gz