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
 

miércoles, 20 de agosto de 2014

HallarNumeroMayorOmenor




' Gambas class file

' Escrito por postapase
' Creo que falta un complemento o un comando que ejecute esta función en gambas

Public ConjuntoNumeros As New Integer[]
Public HallarMaryorOmenor As String
Public ResultadoFinal As Integer

Public Sub _new()

End

Public Sub Form_Open()
Me.Center
End

Public Sub btnAgregarNumero_Click()
Dim numero As Integer
  If IsNull(TextBox1.Text) Then
    Message("ingrese un número por favor")
    Return
  Else
    ConjuntoNumeros.Add(Val(TextBox1.Text))
  Endif
  TextBox2.Text &= TextBox1.Text & ","
  TextBox1.Clear
  TextBox1.SetFocus
End

Public Sub Button2_Click()
  If rbtnMayor.Value = True Then
    HallarMaryorOmenor = "mayor"
  Else
    HallarMaryorOmenor = "menor"
  Endif
  CalcularMaxMin(ConjuntoNumeros, HallarMaryorOmenor)
  labResultado.Text = ResultadoFinal
End

Public Function CalcularMaxMin(numeros As Integer[], maxomin As String) As Integer
  Dim Resultados As New Integer[]
  Dim conteo, conteo2, NumActual, NumMenor As Integer
  Dim NumMayor As Integer = 0
   
  Resultados = numeros

  For conteo = 0 To numeros.Count - 1 Step 1
    If Resultados[conteo] > NumMayor Then
      NumActual = Resultados[conteo]
      NumMayor = NumActual
    Endif
  Next 

  NumMenor = NumMayor

  For conteo2 = 0 To numeros.Count - 1 Step 1
     If Resultados[conteo2] < NumMenor Then
       NumActual = Resultados[conteo2]
       NumMenor = NumActual
     Endif
  Next 

  If maxomin = "mayor" Then
    ResultadoFinal = NumMayor
    Return ResultadoFinal
  Else
    ResultadoFinal = NumMenor
    Return ResultadoFinal
  Endif
 
End

Public Sub TextBox1_Change()
  If Len(TextBox1.Text) = 3 Then btnAgregarNumero.SetFocus
End

Public Sub TextBox1_KeyPress()
   Select Case Key.Code
        Case 48 To 57
        Case 65456 To 65465
        Case Key.BackSpace
        Case Key.Left
        Case Key.Delete
        Case Key.Right
        Case Key.BackTab
        Case Key.Home
        Case Key.End
        Case Key.Tab
        Case Else
            Stop Event
      End Select
End




Código: HallarNumeroMayorOmenor-0.0.1.tar.gz

miércoles, 6 de agosto de 2014

RespaldaProyectos 0.0.1

Buenas gente, estoy empezando un nuevo proyecto que consiste en hacer respaldos automáticos de nuestros proyectos gambas simplemente dando la ruta de la carpeta del proyecto y el lugar donde queremos hacer el respaldo por ahora es manual intentare hacer automático mas adelante pero creo que es un programita útil super super liviano, la idea es que se ejecute con el sistema así puede hacer las copias según como las hayamos programado, si por día por hora o lo que fuera. por ahora es manual recién comienzo el proyecto.



' Gambas class file
' por postapase
Public CarpetaDeProyecto As String
Public LugarDErespaldo As String
 
Public Sub _new()

End

Public Sub Form_Open()
 Me.Center
 txtLugarProyecto.Text = Settings["CarpetasDEtrabajo/Proyecto", ""]
 txtLugarDondeRespaldar.Text = Settings["CarpetasDEtrabajo/LugarDeRespaldo", ""]
End

Public Sub Button1_Click()
 Dialog.Path = User.Home
 If Dialog.SelectDirectory() Then Return
 CarpetaDeProyecto = Dialog.Path
 txtLugarProyecto.Text = CarpetaDeProyecto
 Print CarpetaDeProyecto
End

Public Sub Button4_Click()
  Me.Close
End

Public Sub Button2_Click()
 Dialog.Path = User.Home
 If Dialog.SelectDirectory() Then Return
 LugarDErespaldo = Dialog.Path
 txtLugarDondeRespaldar.Text = LugarDErespaldo
End

Public Sub btnAplicar_Click()
  Settings["CarpetasDEtrabajo/Proyecto"] = CarpetaDeProyecto
  Settings["CarpetasDEtrabajo/LugarDeRespaldo"] = LugarDErespaldo
  Settings.Save
End

Public Sub btnRespaldar_Click()
 Dim TiempoRespaldo As Process
 Dim entrada As String
 Dim salida As String
 Dim carpetafecha As String
 
  entrada = Settings["CarpetasDEtrabajo/Proyecto", ""]
  salida = Settings["CarpetasDEtrabajo/LugarDeRespaldo", ""]

  carpetafecha = salida &/ Replace$(CString(Time), ":", "-")

  If Exist(salida) = True Then
    Mkdir carpetafecha
  Else
    Message("Carpeta destino no encontrada!")
  Endif

  TiempoRespaldo = Shell "cp -Rf " & entrada & " " & carpetafecha

End


Public Sub salir_Click()
  Me.Close
End

Public Sub Autor_Click()
  Autor1.ShowModal
End


RespaldaProyectos-0.0.1.tar.gz


domingo, 20 de julio de 2014

Programar con última version de Gambas en PC obsoleto!!

Buenas Gente!!

Les traigo un notición, en este post se trata de instalar la versión mas moderna de gambas en una pc obsoleta que por lo general se tira.

Caracteristicas de PC obsoleta:

Procesardor intel 733 
Memoria ram 256
Disco 10 gigas

Sistema operativo:
 http://minino.galpon.org/ ( minino-artabros-2.0. )
http://minino.galpon.org/es/descargas


Repositorio: 
 deb http://ftp.us.debian.org/debian/ sid main


1. descargamos la iso: minino-artabros-2.0
2. la grabamos en un cd
3. configuramos el bios para arrancar del cd
4. instalamos mínimo-artabros 2.0
5. agregamos el repositorio  deb http://ftp.us.debian.org/debian/ sid main 
6. instalamos el paquete gambas3  (synaptic)
7. instalar tanteador de tenis de mesa (opcional para clubes, liceos, escuelas etc)


Destalles de instalación:
memoria durante la instalación 133 (promedio) 145 o 150 picos
memoria solo sistema recién instalado 82 megas
memoria con tanteador andando 105 megas
procesador funciona a tope por eso si en vez de 733 fuera un poco mas alto seria mejor.


Nota: para poder hacer esto tenes que tener conocimientos medios de informática, me da pereza hacer un tutorial detallado ademas de que seria bastante largo, si vos no te animas, decile algún amigo ducho en el tema o de ultima pedicelo a un técnico, espero les guste.

miércoles, 11 de junio de 2014

Autenticación





' Gambas class file

Private Llave As String
Private PrimeraLlave As Boolean

Public Sub Form_Open()
Dim RutaKey As String
Me.Center
Me.Caption = "Autenticar a Juez Árbitro"
 RutaKey = Settings["Contraseña/Llave", Null]
  If IsNull(RutaKey) Then
    LabKey.Visible = False
    txtLlave.Visible = False
    btnAutenticar.Visible = False
    btnVerKey.Visible = False
    CheckBcambiarKey.Visible = False
    PrimeraLlave = True
  Else
      Me.Height = 90
  End If
End

Public Sub btnGuardarCambios_Click()
 If PrimeraLlave = True Then
  Llave = Crypt.MD5(txtNuevaKey.Text)
  Settings["Contraseña/Llave"] = Llave
  Settings.Save
  LabKey.Visible = True
  txtLlave.Visible = True
  btnNuevaKey.Visible = True
  btnVerKey.Visible = True
  CheckBcambiarKey.Visible = True
  btnAutenticar.Visible = True
  Me.Height = 90
  PrimeraLlave = False
 Else
  Print "se cambio clave correctamente"
  Llave = Crypt.MD5(txtNuevaKey.Text)
  Settings["Contraseña/Llave"] = Llave
  Settings.Save
  Me.Height = 90
  CheckBcambiarKey.Value = False
  txtNuevaKey.Clear
  txtRepetirKey.Clear
 Endif

End

Public Sub btnVerKey_MouseDown()
  txtLlave.Password = False
End

Public Sub btnVerKey_MouseUp()
  txtLlave.Password = True
End

Public Sub btnAutenticar_Click()
 Llave = Settings["Contraseña/Llave"]
 If Crypt.Check(txtLlave.Text, Llave) = False Then
    If CheckBcambiarKey.Value = True Then
      Message.Info("Contraseña correcta!" & gb.NewLine & "ahora podra cambiar la contraseña")
      txtLlave.Clear
    Else
      Message.Info("Bienvenido Juez Árbitro")
      txtLlave.Clear
    Endif
    If CheckBcambiarKey.Value = True
      VerCambiarKey
    Endif
  Else
    Message.Error("Contraseña incorrecta intente nuevamente")
    txtLlave.Clear
    txtLlave.SetFocus
  Endif

End


Public Sub btnNuevaKey_MouseDown()
  txtNuevaKey.Password = False
End

Public Sub btnNuevaKey_MouseUp()
   txtNuevaKey.Password = True
End

Public Sub btnRepetirKey_MouseDown()
  txtRepetirKey.Password = False
End

Public Sub btnRepetirKey_MouseUp()
  txtRepetirKey.Password = True
End

Public Sub txtRepetirKey_Change()
  If txtNuevaKey.Text = txtRepetirKey.Text Then
      PBxKeyIguales.Visible = True
      btnGuardarCambios.Enabled = True
  Else
       PBxKeyIguales.Visible = False
       btnGuardarCambios.Enabled = False
  Endif
End

Public Sub VerCambiarKey()
  Me.Height = 250
  LabNuevaKey.Visible = True
  txtNuevaKey.Visible = True
  btnNuevaKey.Visible = True
  LabRepetirKey.Visible = True
  txtRepetirKey.Visible = True
  btnRepetirKey.Visible = True
 End

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


sábado, 17 de mayo de 2014

socket


Propiedades:

  host :


  Port :


  LocalHost :


  LocalPort :


  RemoteHost :


  RemotePort :

 
  Path :


  Server :


  Status :


  Timeout :




Métodos:

  Connect :


  Peek :





Eventos:


Closed :
El servidor nos puede cerrar la conexión, o bien cerrarse por algún error. Para ello contamos con el evento Closed(), que es disparado por el control Socket al perder la conexión con el servidor

Error :


Found : 


Read  :


Ready :
Si la conexión se realiza con éxito el control Socket dispara el evento Ready(), aquí es donde podemos realizar acciones inmediatas en el momento preciso en que se logra establecer la conexión con el servidor


Write :