Gambas-it

Gambas3 => Programmazione => Topic aperto da: vir1966 - 24 Gennaio 2021, 15:24:38

Titolo: Posizionare testo in TextArea
Inserito da: vir1966 - 24 Gennaio 2021, 15:24:38
Ciao a Tutti...come da titolo, è possibile impostare la posizione in cui verrà visualizzato il testo in una textarea...su VisualBasic 5/6 bastava impostare Tab nell'istruzione, ad esempio Tab(20)
Titolo: Re:Posizionare testo in TextArea
Inserito da: vuott - 24 Gennaio 2021, 16:49:51
Non mi sembra.
Puoi ottenere un risultato analogo lungo la riga prescelta inserendo degli spazi prima del testo mediante la funzione "String()".

Esempio:
Codice: [Seleziona]
TextArea1.Text = String(20, Chr(32)) & "abcde"
Titolo: Re:Posizionare testo in TextArea
Inserito da: vir1966 - 24 Gennaio 2021, 18:04:03
Non mi sembra.
Puoi ottenere un risultato analogo lungo la riga prescelta inserendo degli spazi prima del testo mediante la funzione "String()".

Esempio:
Codice: [Seleziona]
TextArea1.Text = String(20, Chr(32)) & "abcde"

Grazie mille
Titolo: Re:Posizionare testo in TextArea
Inserito da: Gianluigi - 24 Gennaio 2021, 18:46:22
Siccome non sono molto sveglio, non ho capito la domanda.
Si parla di una textarea vuota?
Titolo: Re:Posizionare testo in TextArea
Inserito da: vir1966 - 25 Gennaio 2021, 07:01:58
Una textarea con più righe, dove c'è un dato a inizio riga e il relativo valore da posizionare a una certa posizione da inizio riga.
Titolo: Re:Posizionare testo in TextArea
Inserito da: vuott - 25 Gennaio 2021, 08:50:52
uhmmm... quindi non è una TextArea vuota: la faccenda è più complessa allora.
Titolo: Re:Posizionare testo in TextArea
Inserito da: Gianluigi - 25 Gennaio 2021, 11:58:04
Una textarea con più righe, dove c'è un dato a inizio riga e il relativo valore da posizionare a una certa posizione da inizio riga.

Tipo una cosa del genere?
Codice: [Seleziona]
Public Sub Form_Open()

  Dim aStringhe As String[] = ["Chiave inglese", "11,20", "Ferro da stiro a vapore", "32,40", "Macchinetta da caffè per cialde", "112,00", "Aermacchi bicilindrica 1953", "7.500,00"]
  Dim iLen1, iLen2 As Integer
  Dim sStringa1, sStringa2 As String

  TextArea1.Font = Font["monospace,11"]
  For i As Integer = 0 To aStringhe.Max
    If i > 1 Then
      If i Mod 2 = 0 Then
        If Comp(aStringhe[i - 2], aStringhe[i]) = 1 Then
          sStringa1 = aStringhe[i - 2]
        Else
          sStringa1 = aStringhe[i]
        Endif
      Else
        If Comp(aStringhe[i - 2], aStringhe[i]) = 1 Then
          sStringa2 = aStringhe[i - 2]
        Else
          sStringa2 = aStringhe[i]
        Endif
      Endif
    Endif
  Next
  iLen1 = String.Len(sStringa1) + 4
  iLen2 = String.Len(sStringa2)
  TextArea1.Text = "DESCRIZIONE" & Space(iLen1 - String.Len("DESCRIZIONE")) & Space(iLen2 - String.Len("PREZZO")) & "PREZZO" & "\n\n"
  For i As Integer = 0 To aStringhe.Max Step 2
    TextArea1.Text &= aStringhe[i] & Space(iLen1 - String.Len(aStringhe[i])) & Space(iLen2 - String.Len(aStringhe[i + 1])) & aStringhe[i + 1] & "\n"
  Next

End

Se serve qualche spiegazione sono qui  :)
Titolo: Re:Posizionare testo in TextArea
Inserito da: vuott - 25 Gennaio 2021, 13:44:59
Tipo una cosa del genere?
Poniamo il caso che si abbia soltanto il dato all'inizio di ogni riga e che il "relativo valore" debba essere posizionato via codice solo successivamente...
Titolo: Re:Posizionare testo in TextArea
Inserito da: Gianluigi - 25 Gennaio 2021, 15:07:12
Tipo una cosa del genere?
Poniamo il caso che si abbia soltanto il dato all'inizio di ogni riga e che il "relativo valore" debba essere posizionato via codice solo successivamente...

Intendi dire qualcosa del genere (rimanendo nell'esempio precedente)?
Codice: [Seleziona]
Public Sub Form_Open()

  Dim aDescrizione As String[] = ["Chiave inglese", "Ferro da stiro a vapore", "Macchinetta da caffè per cialde", "Aermacchi bicilindrica 1953"]

  TextArea1.Font = Font["monospace,11"]
  TextArea1.Text = "DESCRIZIONE" & "\n\n"
  For i As Integer = 0 To aDescrizione.Max
    TextArea1.Text &= aDescrizione[i] & "\n"
  Next

End

Public Sub Button1_Click()

  Dim aStringhe As String[] = ["DESCRIZIONE", "PREZZO", "Chiave inglese", "11,20", "Ferro da stiro a vapore", "32,40", "Macchinetta da caffè per cialde", "112,00", "Aermacchi bicilindrica 1953", "7.500,00"]
  Dim aSplit As String[] = Split(TextArea1.Text, "\n", Null, True)
  Dim iLen1, iLen2, iStart As Integer
  Dim sStringa1, sStringa2, sPrezzo As String

  For i As Integer = 0 To aSplit.Max
    If i > 0 Then
      If Comp(aSplit[i - 1], aSplit[i]) = 1 Then
        sStringa1 = aSplit[i - 1]
      Else
        sStringa1 = aSplit[i]
      Endif
    Endif
  Next
  iLen1 = String.Len(sStringa1) + 4
  For i = 0 To aStringhe.Max
    If i > 1 Then
      If i Mod 2 <> 0 Then
        If Comp(aStringhe[i - 2], aStringhe[i]) = 1 Then
          sStringa2 = aStringhe[i - 2]
        Else
          sStringa2 = aStringhe[i]
        Endif
      Endif
    Endif
  Next
  iLen2 = String.Len(sStringa2)
  For i As Integer = 0 To aSplit.Max
    iStart = String.Instr(TextArea1.text, aSplit[i]) - 1
    sPrezzo = aStringhe[aStringhe.Find(aSplit[i]) + 1]
    TextArea1.Pos = iStart + String.Len(aSplit[i])
    TextArea1.Insert(Space(iLen1 - String.Len(aSplit[i])) & Space(iLen2 - String.Len(sPrezzo)) & sPrezzo)
  Next

End
Titolo: Re:Posizionare testo in TextArea
Inserito da: vuott - 25 Gennaio 2021, 16:13:08
Cliccando sul Button, mi dà errore (" Argomento sbagliato ") qui:
Codice: [Seleziona]
TextArea1.Insert(...etc...)
Titolo: Re:Posizionare testo in TextArea
Inserito da: Gianluigi - 25 Gennaio 2021, 16:18:32
Cliccando sul Button, mi dà errore (" Argomento sbagliato ") qui:
Codice: [Seleziona]
TextArea1.Insert(...etc...)

Qui funziona bene, allego un esempio  :-\
Titolo: Re:Posizionare testo in TextArea
Inserito da: vuott - 25 Gennaio 2021, 16:38:28
Ora funziona anche copiando il codice.
Da un po' di tempo, quando effettuo il copia e incolla di un codice nell'IDE, se sono presenti lettere accentate, al loro posto mi appare il tipico simbolo del punto interrogativo su fondo scuro. Cosicché sono costretto a cancellarlo e a scrivere la corretta lettera accentata.
Questo problema mi causava quell'errore.
Ad ogni modo, sì, il tuo ultimo codice esemplificativo era il caso da me sollevato.
Titolo: Re:Posizionare testo in TextArea
Inserito da: cogier - 25 Gennaio 2021, 16:42:00
Perché usare una 'TextArea' quando si può usare una 'GridView'?

(https://www.cogier.com/gambas/lineup.png)

Codice: [Seleziona]
GridView1 As GridView

Public Sub Form_Open()

  Dim aStringhe As String[] = ["DESCRIZIONE", "PREZZO", "", "", "Chiave inglese", "11,20", "Ferro da stiro a vapore", "32,40", "Macchinetta da caffè per cialde", "112,00", "Aermacchi bicilindrica 1953", "7.500,00"]
  Dim iLoop, iRow As Integer

  With Me
    .padding = 5
    .Height = 150
    .Width = 300
    .Arrangement = Arrange.Vertical
  End With

  With GridView1 = New GridView(Me) As "GridView1"
    .Clear
    .Expand = True
    .Grid = False
    .Rows.Count = aStringhe.Count / 2
    .Columns.Count = 3
  End With

  For iLoop = 0 To aStringhe.Max Step 2
    GridView1[iRow, 0].Text = aStringhe[iLoop]
    GridView1[iRow, 1].Text = aStringhe[iLoop + 1]
    GridView1[iRow, 1].Alignment = Align.Right
    Inc iRow
  Next

  GridView1.Columns.Width = -1

End

Titolo: Re:Posizionare testo in TextArea
Inserito da: vuott - 25 Gennaio 2021, 16:47:43
Perché usare una 'TextArea' quando si può usare una 'GridView'?
La tua proposta non è priva di ragione, ma bisogna restare sul teorico, ossia sulla richiesta, sul petitum di vir1966.
Ciò, anche perché noi non conosciamo le motivazioni e le esigenze che hanno indotto vir1966 a utilizzare una TextArea
Titolo: Re:Posizionare testo in TextArea
Inserito da: Gianluigi - 25 Gennaio 2021, 17:29:36
Ora funziona anche copiando il codice.
Da un po' di tempo, quando effettuo il copia e incolla di un codice nell'IDE, se sono presenti lettere accentate, al loro posto mi appare il tipico simbolo del punto interrogativo su fondo scuro. Cosicché sono costretto a cancellarlo e a scrivere la corretta lettera accentata.
Questo problema mi causava quell'errore.


È già successo anche a me in passato, non questa volta però, boh non capisco a me aveva incollato un simbolo html un &qualcosa
Potrebbe anche essere colpa del nuovo kernel di linux :-\

E meno male che Linus Torvald pare abbia detto che sia la versione migliore di sempre...
Titolo: Re:Posizionare testo in TextArea
Inserito da: vuott - 25 Gennaio 2021, 18:05:27
Ma mi succede soltanto con l'IDE di Gambas.
Iniziò quando fu fatta quella modifica dell'IDE in qt5, in gkt di due o tre mesi fa.
Mah !
Titolo: Re:Posizionare testo in TextArea
Inserito da: Gianluigi - 25 Gennaio 2021, 18:12:05
Ma mi succede soltanto con l'IDE di Gambas.
Iniziò quando fu fatta quella modifica dell'IDE in qt5, in gkt di due o tre mesi fa.
Mah !

Credo tu abbia ragione, io ce l'ho un po con l'ultimo kernel per via del nuovo pc desktop, comunque funziona bene il fatto è che mi scoccia avere degli warning scritti nel registro.
Lo so che mi basterebbe zittirli, ma non è una soluzione.  >:(
Titolo: Re:Posizionare testo in TextArea
Inserito da: vir1966 - 25 Gennaio 2021, 21:30:34
Tipo una cosa del genere?
Poniamo il caso che si abbia soltanto il dato all'inizio di ogni riga e che il "relativo valore" debba essere posizionato via codice solo successivamente...

Intendi dire qualcosa del genere (rimanendo nell'esempio precedente)?
Codice: [Seleziona]
Public Sub Form_Open()




  Dim aDescrizione As String[] = ["Chiave inglese", "Ferro da stiro a vapore", "Macchinetta da caffè per cialde", "Aermacchi bicilindrica 1953"]

  TextArea1.Font = Font["monospace,11"]
  TextArea1.Text = "DESCRIZIONE" & "\n\n"
  For i As Integer = 0 To aDescrizione.Max
    TextArea1.Text &= aDescrizione[i] & "\n"
  Next

End

Public Sub Button1_Click()

  Dim aStringhe As String[] = ["DESCRIZIONE", "PREZZO", "Chiave inglese", "11,20", "Ferro da stiro a vapore", "32,40", "Macchinetta da caffè per cialde", "112,00", "Aermacchi bicilindrica 1953", "7.500,00"]
  Dim aSplit As String[] = Split(TextArea1.Text, "\n", Null, True)
  Dim iLen1, iLen2, iStart As Integer
  Dim sStringa1, sStringa2, sPrezzo As String

  For i As Integer = 0 To aSplit.Max
    If i > 0 Then
      If Comp(aSplit[i - 1], aSplit[i]) = 1 Then
        sStringa1 = aSplit[i - 1]
      Else
        sStringa1 = aSplit[i]
      Endif
    Endif
  Next
  iLen1 = String.Len(sStringa1) + 4
  For i = 0 To aStringhe.Max
    If i > 1 Then
      If i Mod 2 <> 0 Then
        If Comp(aStringhe[i - 2], aStringhe[i]) = 1 Then
          sStringa2 = aStringhe[i - 2]
        Else
          sStringa2 = aStringhe[i]
        Endif
      Endif
    Endif
  Next
  iLen2 = String.Len(sStringa2)
  For i As Integer = 0 To aSplit.Max
    iStart = String.Instr(TextArea1.text, aSplit[i]) - 1
    sPrezzo = aStringhe[aStringhe.Find(aSplit[i]) + 1]
    TextArea1.Pos = iStart + String.Len(aSplit[i])
    TextArea1.Insert(Space(iLen1 - String.Len(aSplit[i])) & Space(iLen2 - String.Len(sPrezzo)) & sPrezzo)
  Next

End

Molto bella e ben fatta grazie Gianluigi, anche se molto lontana dal mio modo (mooooolto scadente ) di programmare...io sono ancora fermo al
Codice: [Seleziona]
TextArea1.text=TextArea1.text & Chr$(13) & "Aermacchi 350  "& "                "& prezzo
e via di seguito con il problema di posizionare via via il prezzo sempre sulla stessa colonna. Alla fine comunque la TextArea mi serve per poi selezionare e copiare il testo visualizzato per poi trattarlo su LibreO Writer
Titolo: Re:Posizionare testo in TextArea
Inserito da: kicco - 25 Gennaio 2021, 21:39:12
Ma mi succede soltanto con l'IDE di Gambas.
Iniziò quando fu fatta quella modifica dell'IDE in qt5, in gkt di due o tre mesi fa.
Mah !
...è, si da lì sono iniziati i casini, di ogni genere.
Ho sempre degli starni malfunzionamenti.
Il mouse che seleziona due righe sotto la sua reale posizione.
Non si sposta il prompt nella posizione selezionata dal mouse.
In un nuovo progetto quando clicco su sul Fmain.form non si apre ecc.
 :-\
Spero sia il prezzo da pagare  solo transitoriamente!
 :ciao:
Titolo: Re:Posizionare testo in TextArea
Inserito da: Gianluigi - 25 Gennaio 2021, 21:59:57

Molto bella e ben fatta grazie Gianluigi, anche se molto lontana dal mio modo (mooooolto scadente ) di programmare...io sono ancora fermo al
Codice: [Seleziona]
TextArea1.text=TextArea1.text & Chr$(13) & "Aermacchi 350  "& "                "& prezzo
e via di seguito con il problema di posizionare via via il prezzo sempre sulla stessa colonna. Alla fine comunque la TextArea mi serve per poi selezionare e copiare il testo visualizzato per poi trattarlo su LibreO Writer

Prego, piano piano si può anche migliorare il nostro codice.  :)
Se capisco bene passi a Libre Write per poter stampare, se lo fai solo per quello e magari aggiungere qualcosa di scritto, te lo sconsiglio.

Domani posto un piccolo esempio e poi mi dici se ti piace e se può avvicinarsi ai tuoi interessi.

 :ciao:
Titolo: Re:Posizionare testo in TextArea
Inserito da: vuott - 26 Gennaio 2021, 01:28:59
Spero sia il prezzo da pagare  solo transitoriamente!

Con gb.map invece tutto va liscio ! 

(https://thumbs.gfycat.com/SlowComposedChital-max-14mb.gif)
Titolo: Re:Posizionare testo in TextArea
Inserito da: kicco - 26 Gennaio 2021, 08:52:03
Spero sia il prezzo da pagare  solo transitoriamente!

Con gb.map invece tutto va liscio ! 

... come l'olio!
Titolo: Re:Posizionare testo in TextArea
Inserito da: vir1966 - 26 Gennaio 2021, 21:43:35

Molto bella e ben fatta grazie Gianluigi, anche se molto lontana dal mio modo (mooooolto scadente ) di programmare...io sono ancora fermo al
Codice: [Seleziona]
TextArea1.text=TextArea1.text & Chr$(13) & "Aermacchi 350  "& "                "& prezzo
e via di seguito con il problema di posizionare via via il prezzo sempre sulla stessa colonna. Alla fine comunque la TextArea mi serve per poi selezionare e copiare il testo visualizzato per poi trattarlo su LibreO Writer

Prego, piano piano si può anche migliorare il nostro codice.  :)
Se capisco bene passi a Libre Write per poter stampare, se lo fai solo per quello e magari aggiungere qualcosa di scritto, te lo sconsiglio.

Domani posto un piccolo esempio e poi mi dici se ti piace e se può avvicinarsi ai tuoi interessi.

 :ciao:

Per essere più precisi il programmino in questione e visto il mio lavoro che ha a che fare con le finestre ma non quelle targate Microsoft ma quelle in legno e pvc, mi serve per calcolarne la trasmittanza termica per poi appunto trasferire i risultati in un documento che andrà poi consegnato al cliente...di seguito l'output visualizzato sulla textarea, comunque grazie per qualsiasi info.
  26/01/2021                     Cliente____________
-
 01 Finestra mm. 1000 x 1000   1 anta/e
-
  Spessore infisso             mm.                                             75
  Altezza nodo inferiore  mm.                                               118
  Altezza nodo Laterale e superiore mm.                               118
  Altezza nodo centrale   mm.                                                0
  Altezza nodo traverso   mm.                                                0
  Tipo legno                                                                       Abete
  PRESTAZIONI:
  Vetrocamera          3+3.1Be/14GasWe/4ExCh/14GasWe/3+3.1Be
  Trasmittanza totale infisso                                 Uw  1.18  W/m2K
  Trasmittanza vetro                                              Ug  0.6  W/m2K
---------------------------------------------------------------------------------------------------------------
 01 PortaFinestra mm. 1000 x 2000   2 anta/e
-
  Spessore infisso             mm.                                             75
  Altezza nodo inferiore  mm.                                              166
  Altezza nodo Laterale e superiore mm.                              118
  Altezza nodo centrale   mm.                                             138
  Altezza nodo traverso   mm.                                               92
  Tipo legno                                                                     Abete
  PRESTAZIONI:
  Vetrocamera          3+3.1Be/14GasWe/4ExCh/14GasWe/3+3.1Be
  Trasmittanza totale infisso                                  Uw  1.32  W/m2K
  Trasmittanza vetro                                              Ug  0.6  W/m2K
---------------------------------------------------------------------------------------------------------------
Titolo: Re:Posizionare testo in TextArea
Inserito da: Gianluigi - 27 Gennaio 2021, 00:28:00

Per essere più precisi il programmino in questione e visto il mio lavoro che ha a che fare con le finestre ma non quelle targate Microsoft ma quelle in legno e pvc, mi serve per calcolarne la trasmittanza termica per poi appunto trasferire i risultati in un documento che andrà poi consegnato al cliente...di seguito l'output visualizzato sulla textarea, comunque grazie per qualsiasi info.
...

Ah pensavo ad un'altra cosa come vedrai dall'allegato progetto.
Comunque anche se creato per un altro scopo, il progetto allegato può darti uno spunto per crearti direttamente il report e stamparlo o inviarlo in allegato a una mail con il formato pdf.

Funzionamento:

Doppio click sul cliente per inviarne i dati alle proprietà.
Doppio click sui prodotti, dopo averne scelto la quantità, per popolare la TableView (potevo usare anche una gridview ma nella tableview volendo puoi anche scriverci).
Scrivi tutto quello che vuoi e poi crei il report agendo sul pulsante stampa.
Naturalmente è un abbozzo, anche se sufficientemente particolareggiato, che va raffinato

 :ciao:

P.S. Domani se riesco ti creo un report con i dati che hai postato...
Titolo: Re:Posizionare testo in TextArea
Inserito da: vir1966 - 27 Gennaio 2021, 21:54:36
Gianluigi Intanto grazie...me lo scarico e me lo studio, vediamo se riesco a capirci qualcosa  :hatecomputer:
Titolo: Re:Posizionare testo in TextArea
Inserito da: Gianluigi - 28 Gennaio 2021, 23:12:38
Come promesso, anche se in ritardo, allego un programma per la stampa delle schede tecniche.
È un filino complicato ed è creato con l'ultima master.
Dimmi se per caso non riesci a farlo funzionare con il tuo Gambas e chiedi pure lumi riguardo al codice.
Purtroppo non conosco la materia mi sono dovuto basare esclusivamente su quanto hai postato.
Se il tuo programma crea automaticamente i dati devi fare in modo di inviarli alla classe e da li al report.

Ciao

P.S. Report.Path è stata introdotta da poco se hai la stabile oppure una master un po datata devi commentare il codice:
Codice: [Seleziona]
hReport.Path = "/tmp/" & aPanel[0].Cliente & ".pdf"
altrimenti otterrai un errore.

Programma rimosso vedi il post successivo (appena sotto)
Titolo: Re:Posizionare testo in TextArea
Inserito da: Gianluigi - 29 Gennaio 2021, 11:23:38
C'era un errore su "Tipo legno" scritto in due modi.
C'era un malfunzionamento nell'aggiornamento dei dati immessi ora dando Invio da tastiera si salvano.
Ho aggiunto la possibilità di rimuovere gli ultimi dati aggiunti alla scheda tecnica.
Ho commentato Report.Path se lo si desidera avere basta de-commentarlo.

Ciao
Titolo: Re:Posizionare testo in TextArea
Inserito da: vir1966 - 29 Gennaio 2021, 21:58:32
Ciao Gianluigi...intanto grazie per i tuoi esempi che sono molto utili per imparare cose nuove...allego invece il mio programmino cosi come lo ho concepito io, trasportando i parametri di calcolo da un foglio Excel per il calcolo della trasmittanza, il funzionamento è molto semplice, inserisco le misure faccio delle scelte se non sono quelle di default già preimpostate all'avvio e premo elabora, se tutto ok premo memorizza per tenere in memoria la misurazione e posso fare altre elaborazioni per altre misure di finestre, quando finito di calcolare premo visualizza per avere il report....sul quale appunto avevo delle difficoltà a posizionare i dati
Titolo: Re:Posizionare testo in TextArea
Inserito da: Gianluigi - 30 Gennaio 2021, 18:45:47
Non ho capito se l'esempio di report che ti ho postato, ti possa andar bene.
Io i calcoli non li ho capiti mi ci sono perso, se ti serve una mano a rifare il tuo programma, sono a disposizione ma occorrerà che tu mi faccia capire quali calcoli servono e dove.

 :ciao:
Titolo: Re:Posizionare testo in TextArea
Inserito da: vir1966 - 30 Gennaio 2021, 19:11:03
Non ho capito se l'esempio di report che ti ho postato, ti possa andar bene.
Io i calcoli non li ho capiti mi ci sono perso, se ti serve una mano a rifare il tuo programma, sono a disposizione ma occorrerà che tu mi faccia capire quali calcoli servono e dove.

 :ciao:
Ciao Gianluigi....tranquillo non ti chiedo di rifarmi il programmino, l'ho inserito solo per coerenza visto che ti eri profuso ad aiutarmi, detto questo... si il report mi va benissimo, semmai non mi serve che i campi siano editabili essendo il risultato di un calcolo perché andando a modificare ad esempio un nodo cambierebbe anche la trasmittanza totale che è il fine ultimo per accedere alle detrazioni di legge. Comunque con calma proverò a inserire il report nel mio programma e indirizzare correttamente le variabili nello stesso
Titolo: Re:Posizionare testo in TextArea
Inserito da: Gianluigi - 30 Gennaio 2021, 19:23:45

Ciao Gianluigi.... si il report mi va benissimo, semmai non mi serve che i campi siano editabili essendo il risultato di un calcolo perché andando a modificare ad esempio un nodo cambierebbe anche la trasmittanza totale che è il fine ultimo per accedere alle detrazioni di legge. Comunque con calma proverò a inserire il report nel mio programma e indirizzare correttamente le variabili nello stesso

Se il tuo programma ti va bene (io fossi in te lo rivedrei) e ti occorre solo il report la mia form non ti serve.
Ti occorre solo di importare la classe e il report, inviare i dati direttamente alla classe e attivare il report.
Aiutati guardando il codice di btnAdd e btnStampa.
Se hai dei dubbi o delle domande sono a disposizione.

Ciao