Aquí les dejo el código de un simple programa que a los entusiastas que recién comienzan a programar en Gambas sabrán valorar, no así los programadores que sin dudas largaran una sonrisa jaja. Se trata simplemente de poner los caracteres de un texto cualquiera en forma inversa. Ejemplo: si ponemos la palabra HOLA y presionamos en el botón “Poner al revés ahora”, el resultado sera ALOH. La idea es ir compartiendo código, enlaces, manuales y lo que sea sobre la programación en gambas.
----------------------------------------- Comienzo de código -----------------------------------------
Mostrar código:
' Gambas class file
Public palabrax As String
Public revirtiendo As String
Public largoX As Integer
Public Sub Form_Open()
Me.Center
Me.Title = "Reverseme"
TextBox1.Text = "odinevneiB"
Button1.SetFocus
End
Public Sub Button1_Click()
Dim palabrarevertida As String
Dim contador As Integer
If TextBox1.Text = Null Then
Message.Info("No a ingresado texto")
TextBox1.SetFocus
Else
palabrax = TextBox1.Text
largoX = Len(palabrax)
For contador = largoX To 1 Step -1
revirtiendo = Mid$(palabrax, contador, 1)
palabrarevertida &= revirtiendo
TextBox2.Text = palabrarevertida
Next
Endif
End
Public Sub Button3_Click()
Dim pregunta As String
pregunta = Message.Question("Esta seguro que quiere salir del programa?", "Sí, estoy seguro", "No, quiero volver")
Select Case pregunta
Case 1
Me.Close
Case 2
Return
End Select
End
Public Sub Button2_Click()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.SetFocus
End
Public Sub Button4_Click()
Message.Info("Programado por postapase \n http://postapase.blogspot.com/ \n Gambas 3.4 \n http://gambas.sourceforge.net/es/main.html")
End
----------------------------------------- Final del código -----------------------------------------
Descargar código fuente: reverseme-0.0.1.tar.gz
----------------------------------------------------------------------------------------------
bueno comparto lo que he estado haciendo, esto es para novatos, programadores y expertos mirar para otro lado jaja
- ' Gambas class file
- 'declaramos variables
- Public memlibre As String
- Public memusada As String
- Public memtotal As String
- Public largo1 As Integer
- Public largo2 As Integer
- Public Sub Form_Open()
- Dim i, e As Integer 'contadores de los for
- Dim b, z, x, w, mbmemusada, mbmemlibre, mbmemtotal As String
- 'agregamos un título personalizado a nuestro formulario
- Me.Title = "Estado de Memoria"
- 'centramos el formulario
- Me.Center
- 'obtenemos las 2 primeras lineas de informacion de memoria de /proc/meminfo
- Exec ["grep", "MemTotal:", "/proc/meminfo"] To memtotal
- Exec ["grep", "MemFree:", "/proc/meminfo"] To memlibre
- largo1 = Len(memtotal) 'obtenemos el largo de la primera línea del archivo /proc/meminfo
- largo2 = Len(memlibre) 'obtenemos el largo de la segunda línea del archivo /proc/meminfo
- 'aquí empieza el proceso de extracción de los números que es el dato que nos interesa mostrar
- 'tomamos el primer caracter, si es un número lo agregamos a la variable x sino seguimos
- 'en el ciclo hasta recorrer todo el string sacando la cifra numérica.
- 'La variable x va concatenando los números que vamos encontrando
- 'asi se muestra el dato crudo:
- ' MemTotal: 1805400 kB
- ' MemFree: 184108 kB
- For i = 1 To largo1 Step +1
- z = Mid$(memtotal, i, 1)
- Select Case Asc(z)
- Case 47 To 57
- x &= z
- End Select
- Next
- 'El mismo proceso que el for anterior, pero con la sengunda línea obtenida de /proc/meminfo
- For e = 1 To largo2 Step +1
- b = Mid$(memlibre, e, 1)
- Select Case Asc(b)
- Case 47 To 57
- w &= b
- End Select
- Next
- 'Convirtiendo de kb a mb
- mbmemtotal = Int(x / 1024)
- mbmemlibre = Int(w / 1024)
- 'Ingreso de datos de memoria total en los textbox
- txtmemtotalmb.Text = mbmemtotal & " MB"
- txtmemtotalkb.Text = x & " KB"
- 'Ingreso de datos de memoria libre en los textbox
- txtlibremb.Text = mbmemlibre & " MB"
- txtLibrekb.Text = w & " KB"
- 'Calculo e ingreso de datos de memoria usada en los textbox
- mbmemusada = mbmemtotal - mbmemlibre
- memusada = mbmemusada * 1024
- txtusadamb.Text = mbmemusada & " MB"
- txtusadakb.Text = memusada & " KB"
- End
- Public Sub btnSalir_Click()
- 'cerramos el programa
- Me.close
- End