martes, 15 de septiembre de 2015

Número aleatorio (ejemplo de como usar report)



El componente report no es fácil de usar, o mejor dicho de entender como funciona al menos para mi, estoy en campaña de aprender a usarlo y como siempre busco hacer cosas supersuper simples pues así se entiende.
Este ejemplo hace un reporte de un numero aleatorio.

Primero que nada creamos un proyecto nuevo y en el formulario le agregamos un botón, después vamos a componentes y agregamos gb.report2.

Creamos un nueva clase tipo report como lo muestra la imagen de abajo.


Este código lo pegamos en el formulario principal por defecto de llama FMain


' gambas class file


Public Sub Form_Open()
Me.Center
End

Public Sub Button1_Click()
Dim reportTitulo As New Report1 'aquí declaramos la clase de tipo Report1,
'que es la clase que creamos anteriormente que es un formulario especial con algunos elementos
'como label, pictures, algunos contenedores y algo mas.

Report1.Preview() ' aquí ordenamos ejecutar el formulario especial (from de report) para poder visualizar los resultados.
'Todo lo que queramos hacer o que se muestre en el reporte tenemos que hacerlo dentro de la clase Report1.
End



Este código lo pegamos en la clase report que tendrá como nombre predeterminado Report1.


' gambas class file

Public Sub Report_Open()
Dim Xnumero As Integer

Randomize
Xnumero = Rand(0, 1000)

ReportLabel2.Text = Xnumero

End


Resultado del reporte.



Bueno espero que les ayude a iniciarse a usar este complemento llamado gb.report2, saludos.

Reportes-0.0.1.tar.gz


Ejemplo 2 (variación)

' gambas class file


Public Sub Form_Open()
Me.Center
End

Public Sub Button1_Click()
Dim reportTitulo As Report1
Dim Xnumero As Integer

Randomize
Xnumero = Rand(0, 1000)

Print Xnumero

reportTitulo = New Report1(Xnumero)

reportTitulo.Preview()

End
--------------------------------------------------------------------
' gambas class file

Public Sub _new(EsteNumero As Integer)
ReportLabel2.Text = EsteNumero
End

Public Sub Report_Open()

End

Reportes-0.0.2.tar.gz


Ejemplo 3(complicando un poco ja)




FMain:


' gambas class file


Public Sub Form_Open()
Me.Center
End

Public Sub Button1_Click()
Dim ReportNumeros As Report1

ReportNumeros = New Report1(TextBox1.Text)
ReportNumeros.Preview()

End





Clase Report1:

' gambas class file

Private Xcantidad As Integer


Public Sub _new(cantidad As Integer)
Xcantidad = cantidad
End

Public Sub Report_Open()
Dim XNumeros As Integer[]
Dim a, Xnum As Integer
Dim XReportLabel As ReportLabel

Randomize

For a = 1 To Xcantidad

Xnum = Rand(1, 1000)

Print Xnum

XReportLabel = New ReportLabel(RVBox)
XReportLabel.Text = Xnum
XReportLabel.Visible = True
XReportLabel.Font.Size = 20
XReportLabel.Font.Bold = True
XReportLabel.Alignment = Align.Center

Next

End







MontonNumeros-0.0.1.tar.gz


Ejemplo 4 (report de texto de un TextArea) 





Fmain:



' gambas class file

Public Sub Form_Open()
Me.Center
End

Public Sub Button1_Click()
Dim ReportNotas As Report1
Dim TextoFormateado As String
Dim Partes As String[]

Partes = Split(TextArea1.Text, gb.NewLine)

ReportNotas = New Report1(Partes)
ReportNotas.Preview()

End





Report1

' gambas class file

Private Xtexto As String[]


Public Sub _new(parrafos As String[])
Xtexto = parrafos
End


Public Sub Report_Open()
Dim EsteParrafo As String
Dim LabelParrafo As ReportLabel

For Each EsteParrafo In Xtexto
LabelParrafo = New ReportLabel(RVBox)
LabelParrafo.Visible = True
LabelParrafo.Text = EsteParrafo
Next

End


ReportTextArea-0.0.1.tar.gz

4 comentarios:

  1. Hey, i'm not speaking spanish.

    First Thank you for giving to our community these examples. But I need to correct some errors in your textarea example. At least one : Don't use borders to make a padding space... use the Padding property !

    You can use the margin property the setup a special individual spacing on each label too.

    Take a look at : http://gambaswiki.org/wiki/howto/makereport. I'm currently writting this to help users with my component.

    Can you make the correction and update the farm example ?

    ResponderBorrar
  2. Hola Fabien Bodard perdón que recién veo el comentario.

    la traducción dice esto:
    Hey, no estoy hablando español.

    En primer lugar gracias por dar a nuestra comunidad de estos ejemplos. Pero necesito para corregir algunos errores en su ejemplo área de texto. Al menos una: No utilice fronteras para hacer un espacio acolchado ... utilizar la propiedad Relleno!

    Puede utilizar la propiedad margen de la configuración de un espacio especial individual en cada etiqueta también.

    Echar un vistazo a: http://gambaswiki.org/wiki/howto/makereport. Actualmente estoy escribiendo esto para ayudar a los usuarios con mi componente.

    ¿Se puede hacer la corrección y actualizar el ejemplo granja?

    claro que se puede hacer la corrección y actualizar.
    Si queres hace la corrección y subilo a la granja con tu nombre de usuario.

    y te felicito por el manual, ya que es tan importante como el propio complemento.
    Saludos.

    ResponderBorrar
  3. Esta perfecto para crear seriales aleatorios para algun tike de caja de un programa de ventas.. se podra hacer un numero aleatorio pero hexadecimal ? letras y numeros.

    ResponderBorrar
    Respuestas
    1. supongo que haces números aleatorios decimales y después simplemente lo conviertes a hexadecimal con Hex.

      Borrar