Ho cominciato ad approfondire il concetto di definizione di proprietà per potere gestire una nuova sottoclasse riguardante l'impostazione del formato in base ai paramtri impostati precedentemente nel programma chiamante.
Il programma utente, nel mio caso: BolloAutoPT richiama la sottoclasse RepoBolloAuto di PdfWriter con:
view plaincopy to clipboardprint?
With pdf = New RepoBolloAuto("L", "cm", "spec.29.7X10.2") 'accede a PdfWriter per predisporre il formato di stampa
.Open()
.AliasNbPages()
.Data(CCPost.Text, TotImPag.Text, $ImpLettere, Label5.Text, MeseScad.Text, AnnoScad.Text, MesiValidi.Text, CodRiduz.Text, Targa.Text, CategRimorch.Text, CognNom.Text, CoDFisc.Text, ImpBollo.Text, ImpSanz.Text, ImpMora.Text, ProvResid.Text, ComResid.Text, CapResid.Text, ProvResid.text, $ViaPzzaResid, IndiResid.text, NumIndir.Text)
.Output(User.Home & "/BolloAuto", False)
End With
passandole nella riga 01 i parametri relativi al formato pagina.
Al momento della chiamata il controllo passa all'oggetto RepoBolloAuto la cui prima istruzione è Inherits PdfWriter. Essa prende in carica le proprietà ed i metodi dichiarati come pubblici in PdfWriter. viene perciò eseguito il metodo _new di PdfWriter dentro il quale vengono attivate tutte le impostazioni pertinenti il documento da stampare.
Per lì'impostazione dei parametri relativi al formato pagina, ho avuto consigliato da md9327 di creare la sottoclasse PdfPageFormat con le proprietà Height e Width.
Penso che la nuova sottoclasse debba essere richiamata all'interno della classe padre PdfWriter, coi parametri ricevuti dal programma chiamante, ed esattamente qui:
Select Case Lower(form)
Case "a3"
$fwPt = 841.89
$fhPt = 1190.55
-----bla-----bla-----bla-----
sostituendo la select con la chiamata alla nuova sottoclasse:
PgFrmt = New PdfPageFormat(orientation, unit, form)
trasferendo pertanto il controllo del formato da impostare nella nuova sottoclasse.
Essendo questo il mio primo intervento con l'utilizzo di istruzioni sulla dichiarazione ed impiego di proprità con funzioni di Read/write su una classe di pubblico utilizzo, la mia condizione di apprendista in prova ed a rischio di bocciatura
richiede cautela. Aspetto di ricevere da chi ... può un piccolo cenno di pollice su o, ahimé,
pollice giù.
Se ho capito, potrò addentrarmi nella codifica della nuova sottoclasse.