Mostrando las entradas con la etiqueta With…End With. Mostrar todas las entradas
Mostrando las entradas con la etiqueta With…End With. 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.

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

miércoles, 23 de abril de 2014

Usando With…End With

' Gambas class file

'aqui declaramos una variable de tipo button
'(para crear un boton a base de codigo y no con la intefaz grafica)
Public MiBotonPersonalizado As Button


Public Sub Form_Open()

  With Me
    .Center
    .Text = "Ejemplo de como usar with...end...with"
    .Background = &H007FFF
    .Foreground = &HFFFFFF
    .Width = 400
    .Height = 450
    .Font.Bold = True  
    .Font.Italic = True
  End With
  'aqui inicializamos la variable button y declaramos que su contenedor sera el formulario llamado Fwith
  'en donde aparecera el boton
  MiBotonPersonalizado = New Button(FWith)
' y aqui otro ejemplo de como usar with
With MiBotonPersonalizado
  .Text = "Ejemplo de como usar with...end..with"
  .Background = &H000000
  .Foreground = &HFFFFFF
  .X = 50
  .y = Me.Width / 2
  .Width = 300
  .Height = 50
  .Font.Bold = True
  .Font.Italic = True
End With


End



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