Gambas France BETA


Pas de compte ? Incription

Utilisation de Gb.report

1
AuteurMessages
lapenduledargent#1 Posté le 14/12/2012 à 15:05:48
Bonjour à tous,

Je m'essaie à l'impression sous Gb.3
Je regarde dans les exemples, j'essaie avec "Imprimer un screenshot avec gb.report" de Gambix.

Mais j'ai encore quelques petites questions...

Alors je fais un petit projet. Dans Fmain, je place une Textbox et un bouton.

Je fais un fichier Report1.
Dans ce report, je place par exemple un ReportLabel et je souhaite afficher le texte de ma Textbox

Voilà mon code :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
PRIVATE $hReport AS Report1

PUBLIC SUB Button1_Click()

DIM hReportLabel AS NEW ReportLabel($hreport)
hReportLabel.Text = TextBox1.Text

$hReport.Font.Size = 24
$hReport.Orientation = Printer.Landscape
$hReport.Preview()

END

PUBLIC SUB Form_Open()

TextBox1.text = "essai"

END


Lorsque je lance mon application, j'ai "référence d'objet null"
J'essaie de différentes manière mais j'ai toujours des erreurs :(
Prokopy#2 Posté le 14/12/2012 à 16:13:11
Kinder PinguiTu dois instancier ton objet report avant de pouvoir t'en servir. ;)

En haut de ton code, il faut mettre :

1
PRIVATE $hReport AS NEW Report1
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
lapenduledargent#3 Posté le 14/12/2012 à 16:28:40
Bonjour Adrien,

Ok ça fonctionne mais par contre, j'ai rien qui s'affiche dans le report
lapenduledargent#4 Posté le 14/12/2012 à 17:46:48
Dans l'exemple de Gabix, il est dit :

'Ainsi je fixe la hauteur en fonction de la taille du texte
'ATtention si la hauteur d'un texte est égale a zéro alors
'le texte n'apparaitra pas ... donc c'est soit on fixe la hauteur du texte
'avec la propriété Height soit on met autoresize a true
'Le problème est le même pour la largeur dans un container a arrangement
'horizontal.

C'est fait mais j'ai toujours rien ?
lapenduledargent#5 Posté le 14/12/2012 à 20:23:49
Bonsoir,

Ca fonctionne mais j'ai pas compris pourquoi ??
lapenduledargent#6 Posté le 15/12/2012 à 10:02:56
Bonjour,

Avec ce code (d'un site espagnol gambas), je peux afficher un aperçu de l'état sans utiliser un "formulaire état :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
PUBLIC SUB Button1_Click()
DIM cabezera AS NEW ReportLabel
DIM texto AS NEW ReportLabel
DIM cadena AS STRING
cadena = "\n\nGambas es un lenguaje de programación libre derivado de BASIC. Es distribuido con licencia GNU GPL.\nCabe destacar que presenta ciertas similitudes con Java ya que en la ejecución de cualquier aplicación,\nse requiere un conjunto de librerías interprete previamente instaladas (Gambas Runtime) que entiendan\nel bytecode de las aplicaciones desarrolladas y lo conviertan en código ejecutable por el computador.\nPor otro lado, a diferencia de Java, no se experimentan ralentizaciones y es posible desarrollar\ngrandes aplicaciones en poco tiempo.\n\n Permite crear formularios con botones de comandos, cuadros de texto y muchos otros controles y\nenlazarlos a bases de datos como MySQL, PostgreSQL o SQLite además de facilitar la creación de\naplicaciones muy diversas como videojuegos (utilizando OpenGL), aplicaciones para dispositivos móviles\n(en desarrollo pero muy avanzado), aplicaciones de red (con manejo avanzado de protocolos HTTP, FTP\n, SMTP, DNS), entre otras.\n"
'cabezera.Padding = "2px" 'Margenes
cabezera = NEW ReportLabel(Report)

cabezera.Width = "10.5 cm"
cabezera.Height = "15 cm"
cabezera.Font = Font["Arial,+12"] ' Tipo de Letra
cabezera.Alignment = Align.Center 'Alineacion del Texto
cabezera.Text = "Componentes de Gambas" 'Texto a Mostrar
cabezera.Autoresize = TRUE
texto = NEW ReportLabel(Report)
texto.Font = Font["Arial,+6"] ' Tipo de Letra
texto.Alignment = Align.Justify
texto.Text = cadena
texto.Text &= "\nDefinición sacada de Wikipedia.org"
texto.Expand = TRUE
Report.Preview

END



A présent, je souhaite ajouter un formulaire état pour organiser ma mise en page graphique,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
PRIVATE $hReport AS NEW Report1

PUBLIC SUB Button1_Click()

DIM hReportLabel AS NEW ReportLabel($hreport)
hReportLabel.Text = TextBox1.Text
hReportLabel.Autoresize = TRUE
$hReport.Font.Size = 24
$hReport.Orientation = Printer.Landscape
$hReport.Preview()


END

PUBLIC SUB Form_Open()

TextBox1.text = "essai"

END


Dans mon fichier Report1, je place un ReportLabel1 mais comment afficher la textbox de FMain ???
Actuellement, le texte s'affiche mais toujours au-dessus, pas dans le reportlabel
lapenduledargent#7 Posté le 15/12/2012 à 17:11:15
bonsoir,

Visiblement gambas report ne passionne pas les foules !!!
lapenduledargent#8 Posté le 16/12/2012 à 11:14:01
Bonjour,

J'ai trouvé ce tuto intéressant :

http://willicab.gnu.org.ve/tutogambas-6-crear-reportes-usando-el-componente-gb-report-en-gambas3-12/
1