Gambas France BETA


Pas de compte ? Incription

Imprimer sous GB3 depuis une ListBox

12
AuteurMessages
lapenduledargent#1 Posté le 26/9/2011 à 06:58:47
Bonjour,

Je n'ai jamais imprimé avec Gb. En version 3, je souhaiterai imprimer sur une page A4 le contenu d'une ListBox.
Dans le fichier Blocnote 1.1.3, j'ai une série d'erreurs lorsque je veux imprimer. Je pense qu'il ne fonctionne pas sous GB3.

Alors, j'ai essayé en adaptant l'exemple de ce forum fournit par Prokopy :


1
2
3
4
5
6
7
8
9
10
11
12
DIM Textaimprimer AS STRING
DIM Printer2 AS NEW Printer

textaimprimer = ListBox1.Text


Printer2.OutputFile = Application.Path
Printer2.Orientation = Printer.Portrait
Printer2.Paper = Printer.A4
Printer2.Count = 1
IF Printer2.Configure() THEN RETURN
textaimprimer.Print(Printer2)


Mais je sais pas comment traiter la dernière ligne ?
Ensuite, y-a-t-il un formatage de la listbox ?

Bonne journée à tous

Pierre
manu#2 Posté le 26/9/2011 à 17:59:31
Avec Gambas ca roule !Salut Pierre,

Je ne saurai te répondre sur l'exemple de Prokopy que je n'ai pas essayé.

En revanche, j'ai utilisé le composant Report avant qu'il ne soit très stable, mais je sais qu'il est maintenant utilisable.

En gros ce composant est fait pour imprimer des rapports (ou des états). Cela te permet d'imprimer de façon simple des objets Result (issue de requêtes sur BDD) ou le contenu de variables tableaux ou collections.

Toute la partie impression proprement dite est gérée par le composant (ainsi que l'aperçu). Toi, quand tu créer ton rapport, tu n'as qu'a définir l'emplacement de tes données, faire des calculs sur les résultats, gérer la mise en page etc...

C'est Gambix qui à fait ce composant. Si il passe par là, il t'en dira plus surement ;).

Tu as un exemple dans Gambas3 de report qui fonctionne très bien .Tu as un exemple printing aussi mais je sais pas si il à été actualisée.



Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
gambix#3 Posté le 26/9/2011 à 19:57:32
Faire simple !chu la :) !!

en gambas 3 ya gb.report ... faut que je fasse la doc !

c'est pas simple avec le peu de temps que j'ai mais oui il marche pas mal le composant.


Pour afficher :

tu seectuonne le composant gb.report
tu fait nouveau etats

dans le code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
STATIC PUBLIC Values AS String[]

PUBLIC SUB New()

DIM s AS STRING
DIM Mylbl AS ReportLabel

ME.Padding = "2cm"

FOR EACH s IN Values
MyLbl = NEW ReportLabel(ME)
MyLbl.Text = s
MyLbl.AutoResize = TRUE
MyLbl.Font.Size = 12

NEXT



Maintenant dans ton code :

1
2
3
4
5
6
7
8
PUBLIC SUB Button1_Click()

Report1.Values = ListBox1.List

Report1.Preview()


END
Moins de texte dans une signature c'est agrandir son espace.
lapenduledargent#4 Posté le 26/9/2011 à 20:30:54
Bonsoir Manu et Gambix,

Merci de votre aide :)

Je connaissais ce composant mais il faut comprendre son fonctionnement.

J'ai modifié mon code comme indiqué par Gambix mais j'ai un erreur à Report1.Preview()

Que faut-il adapter.

Bonne nuit.

Pierre
gambix#5 Posté le 26/9/2011 à 21:02:19
Faire simple !mdr j'ai pas testé mon code !
Moins de texte dans une signature c'est agrandir son espace.
gambix#6 Posté le 26/9/2011 à 21:09:43
Faire simple !
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
STATIC PUBLIC Values AS NEW String[]


PUBLIC SUB _new()

DIM hlbl AS NEW ReportLabel
DIM s AS STRING
FOR EACH s IN Values

hlbl = NEW ReportLabel(ME)

hlbl.Text = s

NEXT

END

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
' Gambas class file

PUBLIC SUB _new()

END

PUBLIC SUB Form_Open()
DIM i AS INTEGER

FOR i = 1 TO 200

ListBox1.Add("Item " & i)

NEXT


END

PUBLIC SUB Button1_Click()

Report1.Values = ListBox1.List
Report1.Preview
END




Moins de texte dans une signature c'est agrandir son espace.
manu#7 Posté le 26/9/2011 à 21:20:01
Avec Gambas ca roule !merci
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
manu#8 Posté le 26/9/2011 à 21:21:31
Avec Gambas ca roule !super !
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
lapenduledargent#9 Posté le 27/9/2011 à 07:01:01
Bonjour Gambix,

Je viens de coller ton code mais à la ligne "Report1.Preview"

J'ai un message d'erreur rose : symbole movescaled inconu dans la classe report1

Si je fais Report.Preview, j'ai bien l'aperçu du report qui s'affiche mais il est vide.

Faut-il mettre dans report1 un tableau qui reçoit les données ?

A bientôt et merci pour ton aide.

Pierre
lapenduledargent#10 Posté le 28/9/2011 à 13:37:57
Bonjour Gambix,

J'ai refait un projet avec uniquement ton code mais j'ai même erreur ?

A bientôt

Pierre
gambix#11 Posté le 28/9/2011 à 20:28:18
Faire simple !ajoute juste un report label dans le report puis vire le ... c'est un bug !
Moins de texte dans une signature c'est agrandir son espace.
lapenduledargent#12 Posté le 29/9/2011 à 06:33:49
Bonjour Gambix,

Ca fonctionne !!! mais je n'ai qu'une ligne par page ? Par exemple sur la page 1, j'ai ITEM 1 et sur la 2, ITEM 70 et sur la dernière, la page 3 ITEM 140 ?
Je suppose que c'est un problème de formatage ?

Bonne journée

Pierre
gambix#13 Posté le 29/9/2011 à 09:05:14
Faire simple !il faut vraiement que je m'attelle a la doc !
Moins de texte dans une signature c'est agrandir son espace.
lapenduledargent#14 Posté le 29/9/2011 à 12:21:46
Re,

Que me conseils-tu, demander sur la liste Gambas ?

Pierre
lapenduledargent#15 Posté le 30/9/2011 à 08:11:10
Bonjour Gambix

Je viens de poster ma demande à l'attention de Fabien.

Nous attendons sa réponse.

Bonne journée

Pierre
12