miércoles, 4 de mayo de 2016

Comentarios en gambas



En gambas tenemos 5 tipos de comentarios:

Comilla simple

' comentario simple de gambas que empieza por una comilla simple



Doble comilla simple

Public Sub rutinaX(boton As Byte) ''1=Todo, 2=Año actual, 3=Mes actual, 4=Demás años sin ser el actual

muestra el comentario en la ventana de completado de la ide gambas para ayudarnos con los parámetros a pasar u otros datos ver vídeo.

Comentarios que salen en la pestaña tareas:

Comienza por una comilla simple y termina con dos puntos la palabra todo deber ir en mayúsculas igual los demás comentarios de abajo.
'TODO:              

Se usa para marcar zonas donde hay errores o algo hay que arreglar (arreglame)
'FIXME:

Notas sobre algún asunto, rutina etc.
'NOTE:





sábado, 30 de abril de 2016

While... Wend (Bucle-Repetición)





' gambas module file

' by postapase
' Da comienzo a un bucle delimitado por las instrucciones While ...WEND.
' El bucle se repite mientras la Expresión sea cierta.
' Si la expresión es falsa al inicio, el bucle nunca se ejecuta.

Public Sub Main()
Dim EntroEnBucle As Boolean ' el valor predeterminado de una variable de tipo boolean es false
Dim x As Integer

x = 1

While x <= 7 'si x es menor o igual a 7 entonces lea la siguiente linea sino lea a partir de la siguiente linea de Wend
Print "x ahora es: "; x
If EntroEnBucle = False Then EntroEnBucle = True
Inc x
Wend 'lea a partir del while

If EntroEnBucle = True
Print "Se entro en el bucle porque la condicion de entrada fue True/verdadera"
Else
Print "No se entro en el bucle porque la condicion de entrada fue false/falsa"
Endif

End

lunes, 25 de abril de 2016

REPEAT ... UNTIL





' gambas module file
'by postapase

Public Sub Main()
Dim x As Byte ' declaración de variable pequeña

Repeat
Inc x 'incrementa x en 1
Print "x equivale a " & x 'muestra en pantalla
Wait 1 ' pequeña pausa para poder observar el proceso
Until x = 10 'REPEAT ... UNTIL Bucle con una comprobación de salida al final.


Evento Arrangement y Función Min





' gambas class file

Public Ancho As Integer
Public Alto As Integer

Public Sub DrawingArea1_Arrange()

Ancho = DrawingArea1.Width
Alto = DrawingArea1.Height
Print "Ancho=" & Ancho
Print "Alto=" & Alto

DrawingArea1_Draw()

End

Public Sub Form_Open()



End

Public Sub DrawingArea1_Draw()

dibuja()

End

Public Sub dibuja()
DrawingArea1.Clear

Paint.Begin(DrawingArea1)
Paint.LineWidth = 2
Paint.Brush = Paint.Color(Color.Black)
Paint.Arc(Ancho / 2, Alto / 2, Min(Ancho / 2, Alto / 2))
Paint.Stroke
Paint.End
End


Ejemplo Triángulo


DrawingArea.Cache=true

Public Sub Form_Open()
Dim puntos As Float[] = [0, 0, -200, 200, 200, 200]

Paint.Begin(DrawingArea1) ' Comenzar los parámetros del dibujo y
'donde se quiere dibujar entre paréntesis

Paint.Translate(DrawingArea1.Width / 2, DrawingArea1.Height / 2) 'punto central del drawingArea1
Paint.LineWidth = 2 'grosor del trazo
Paint.Brush = Paint.Color(Color.Blue) 'color del trazo
Paint.Polygon(puntos) 'polígono en este caso un triángulo
Paint.Stroke ' realizar el trazado y visualizar el dibujo
Paint.End 'fin de parámetros del dibujo

End


Código Fuente

miércoles, 20 de abril de 2016

Clase personalizada (primera parte)


Primera parte de ejemplo de como hacer nuestros propios botones personalizados, que se crean con clases especiales o personalizadas o creadas por nosotros mismo.



Clase contacto


' gambas class file

'by postapase
'primera parte de clase personalizada

Property Nombre As String
Property Movil As String

Private $Nombre As String
Private $Movil As String



Private $CajaPrincipal As Panel
Private $CajaNombre As Label
Private $CajaMovil As Label
Private $Contenedor As ScrollView
Private $observador As Observer



Public Sub _new(nombre As String, movil As String, contenedor As ScrollView)

$Nombre = nombre
$Movil = movil
$Contenedor = contenedor


$CajaPrincipal = New Panel($Contenedor) As "CajaPrincipal"
$CajaPrincipal.Height = 70
$CajaPrincipal.Background = Color.DarkCyan
$CajaPrincipal.Visible = True
$CajaPrincipal.Arrangement = Arrange.Vertical
$CajaPrincipal.Padding = 2
$CajaPrincipal.Border = Border.Solid


$CajaNombre = New Label($CajaPrincipal)
$CajaNombre.Height = 55
$CajaNombre.Visible = True
$CajaNombre.Font.Bold = True
$CajaNombre.Font.Size = 20
$CajaNombre.Alignment = Align.TopLeft
$CajaNombre.Text = $Nombre
$CajaNombre.Expand = True
$CajaNombre.Proxy = $CajaPrincipal

$CajaMovil = New Label($CajaPrincipal)
$CajaMovil.Height = $Contenedor.Height - $CajaPrincipal.Height
$CajaMovil.Visible = True
$CajaMovil.Alignment = Align.Right
$CajaMovil.Text = $Movil
$CajaMovil.Font.Size = 14
$CajaMovil.Font.Italic = True
$CajaMovil.Expand = True
$CajaMovil.Background = Color.Gray


End


Public Sub CajaPrincipal_Enter()
$CajaPrincipal.Background = Color.Cyan
End

Public Sub CajaPrincipal_Leave()
$CajaPrincipal.Background = Color.DarkCyan
End

Private Function Nombre_Read() As String
Return $Nombre
End

Private Sub Nombre_Write(Value As String)
$Nombre = Value
End

Private Function Movil_Read() As String
Return $Movil
End

Private Sub Movil_Write(Value As String)
$Movil = Value
End



Formulario.

Public Sub Button1_Click()
Dim XContacto As Contacto

If txtContacto.Text = Null Then
Return
Else If txtTelefono.Text = Null Then
Return
Endif

XContacto = New Contacto(txtContacto.Text, txtTelefono.Text, ScrollView1)

txtContacto.Clear()
txtTelefono.Clear()
txtContacto.SetFocus()

End



Código fuente

domingo, 10 de abril de 2016

Param

Aquí les dejo un ejemplo de como usar Param, dado que las funciones Max y Min solo permiten dos parámetros e creado este ejemplo que permite muchos parámetros.

' gambas module file

'by postapase abril 2016

Public Sub Main()

Print op.Maximo(30, 10, 5, 2, 2000, 500)'aquí podes poner mas números, desconozco el limite.
Print op.Minimo(30, 10, 5, 2, 2000, 500)

End

---------------------------------------------------

' gambas module file

'by postapase abril 2016

Private Lista As New Integer[]
Private a As Integer

Public Sub Maximo(...) As Integer

For Each a In Param
Lista.Add(a)
Next

Return Lista.Sort(True)[0]

End


Public Sub Minimo(...) As Integer

For Each a In Param
Lista.Add(a)
Next

Return Lista.Sort(True)[Lista.Max]

End



Código Fuente
Related Posts Plugin for WordPress, Blogger...

Facebook

www.gambas-es.org