Newsgroup: it.comp.lang.visual-basic
Titolo: aiuto su codice fisc. sito comune

Buon giorno a tutti, sono un pensionato che vuole imparare
visual basic, e a questo scopo da diverso tempo vi seguo
limitandomi pero' a leggere tutti i messaggi, (tantissimi)
ho visitato il sito comune dal quale ho scaricato il
programma che costruisce il codice fiscale, al quale ho
voluto aggiungere una routine (si dice cosi'?) per ottenerne
la stampa. Mentre con i campi cognome, nome ecc. non ho
avuto problemi per i campi precompilati sesso e comune non
riesco a metterli in stampa.
Come devo fare per stampare anche questi due dati?
Grazie a tutti e in particolare a chi mi rispondera'
--
Ciao da Luci@noM.
ICQ 13556170

 ha scritto nel messaggio
news:8c9nu9$u8u$1...@pinco.nettuno.it...


 news:8c9nu9$u8u$1...@pinco.nettuno.it...
Intanto grazie per l'interessamento,  qui sotto c'e' la
parte di routine interessata, quando viene eseguita mi da
errore di compilazione "variabile non definita" su txtSesso,
togliendo questa riga mi da lo stesso errore su Text2 che
dovrebbe contenere il comune, se tolgo ambedue le righe la
compilazione riesce pero' mi stampa solo cognome, nome, data
di nascita e codice fiscale.
Printer.FontSize = 12
    msg = txtCognome + " " + txtNome + vbCrLf
    Printer.Print msg
    msg = "data di nascita: " + txtDataNascita + vbCrLf
    Printer.Print msg
    msg = "sesso: " + txtSesso + vbCrLf
    Printer.Print msg
    msg = "Luogo di nascita: " + Text2
    Printer.FontSize = 15
    msg = txtCodiceFiscale + vbCrLf
    Printer.Print msg
    Printer.EndDoc


Poichè non conoscevo il programma che hai scaricato dal sito comune, per
poterti aiutare ho dovuto prelevarlo. Analizzando il codice ho riscontrato
le seguenti tue sviste.
L'errore sul campo Sesso e' dovuto al fatto che il controllo utilizzato dal
programma ha il nome cboSesso e non txtSesso da te usato.
Per quanto riguarda il luogo di nascita, invece, hai semplicemente
dimenticato di scrivere l'istruzione "Printer.Print msg" relativa.
Fatte queste modifiche, la tua routine ha subito funzionato perfettamente.
Per sicurezza ti invio il codice corretto nello stesso stile da te usato.
    Dim msg As String
    Printer.FontSize = 12
    msg = txtCognome.Text + " " + txtNome.Text + vbCrLf
    Printer.Print msg
    msg = "data di nascita: " + txtDataNascita.Text + vbCrLf
    Printer.Print msg
    msg = "sesso: " + cboSesso.Text + vbCrLf
    Printer.Print msg
    msg = "Luogo di nascita: " + Text1.Text + " (" + Text2.Text + ")" +
vbCrLf
    Printer.Print msg
    Printer.FontSize = 15
    msg = txtCodiceFiscale.Text + vbCrLf
    Printer.Print msg
    Printer.EndDoc
Se qualche riga ti appare spezzata, ricostruiscila.
Per concatenare le stringhe, infine, forse ti conviene utilizzare il simbolo
& anziche' il segno +. Ancora, riferisciti alle proprieta' dei controlli
esplicitamente; per es., scrivi txtCognome.Text e non semplicemente
txtCognome.
Fammi sapere. Ciao
Giorgio


txtCognome.
ok per concatenare le stringhe... perchè però non usare le proprietà
predefinite? mi pare di aver letto su un manuale che l'accesso ad una
proprietà, così, sia più veloce...
Ciao
Faber

 ha scritto nel messaggio
news:8chedj$6b2$1...@nslave1.tin.it...


comportamento standardizzato e sicuro per la redazione di un sorgente.
opinabile ma ok
Ciao
Faber

 wrote in message 8chedj$6b2$1...@nslave1.tin.it...


 ha scritto nel messaggio
news:H22H4.83920$pn3.1...@news.infostrada.it...


Sulla mia MSDN per Visual Studio 6.0 c'e' scritto testualmente:
Operatori & e +
Nelle operazioni con valori numerici, è sempre necessario utilizzare
l'operatore + mentre per le operazioni di concatenamento di stringhe è
necessario utilizzare l'operatore &. L'utilizzo dell'operatore + può infatti
causare problemi nel caso di due variabili Variant


 Giorgio
Perfetto funziona benissimo!  ancora grazie.
Ho anche sostituito tutti i + con &
P.S. in questo caso avrei dovuto rispondere a te o va bene
sul newgroup?


 Faber
Per le mie capacita' stai correndo un po' troppo, non so
ancora cosa significa usare le proprietà predefinite.


 Ciao da Luci@noM.
In genere e' bene rispondere sempre sul newgroup.
Ciao.
Giorgio

ancora cosa significa usare le proprietà predefinite.
partiamo dal fatto che ogni oggetto abbia delle proprietà (quelle che vedi
elencate sulla destra), per esempio un TextBox ha la proprietà Visible che
determina se l'utente lo vede o meno, la proprietà Text che ne indica il
contenuto 'testuale' ecc... ecc....
prendendo come esempio la proprietà Visible, supponendo che la TextBox si
chiami Text1:
per leggerne il valore e metterlo in una variabile potrei fare:
'Dichiaro la variabile
Dim ValoreProprietaVisible as Boolean
'Assegno alla variabile il valore della proprietà
ValoreProprietaVisible = Text1.Visible
analogamente, per impostarne il valore si utilizza:
Text1.Visible = False    'Assegno un nuovo valore alla proprietà
se volessi mettere in una variabile il testo che c'è nella TextBox farei:
'Dichiaro la variabile in cui voglio che il testo sia contenuto
Dim ValoreProprietaText as String
'Gli assegno il contenuto della TextBox
ValoreProprietaText = Text1.Text
per assegnare alla proprietà Text un nuovo valore:
Text1.Text = "Ciao"
oppure, se il nuovo valore è in una variabile:
Text1.Text = ValoreProprietaText
la questione è: "cosa sono le proprietà predefinite?"
ogni oggetto (TextBox, Label, Command Button ecc...) ha *una* delle sue
proprietà predefinite, con ciò intendendo che questa si può omettere durante
la lettura / impostazione della stessa
es.:
la proprietà predefinita delle TextBox (di *tutte* le TextBox) è Text
per cui, invece di fare
Text1.Text = "Ciao"
potrei fare
Text1 = "Ciao"
il risultato è esattamente lo stesso, perchè essendo Text la proprietà
predefinita le operazioni che vengono fatte sulla TextBox 'liscia' (cioè
senza specificarne la proprietà, senza il ".[qualcosa]" intendo) hanno
effetto sulla property Text
lo stesso discorso vale in lettura, cioè è indifferente fare
ValoreProprietaText = Text1.Text
oppure
ValoreProprietaText = Text1
la proprietà predefinita delle Label è Caption, da qui si intuisce che la
proprietà predefinita è sempre quella più 'significativa' e di uso più
frequente... fai delle prove!
spero di aver 'lisciato' il tuo dubbio
Ciao
Faber
P.S.: se non sono stato chiaro dillo pure, sai è mattina presto     :)

 contenuto 'testuale' ecc... ecc....
Testo stampato e faro delle prove.
Grazie!


 programmi e' sempre una gran bella soddisfazione.
E' molto vero quello che dici, infatti se per il VB sono a
digiuno, ho una discreta conoscenza del vecchio GWbasic o
Basica, e ho passato piu' di una notte al computer perche'
un semplice programmino non voleva funzionare, o non si
comportava secondo i miei desideri, ma alla fine mi sentivo
veramente soddisfatto del risultato.
Ho anche un poco di conoscenza del QuickBasic ma mai
approfondito, ora che sono in pensione e ho il tempo mi sono
comprato VB edizione learning e praticamente sto iniziando
nuovamente.
--
Ciao da Luci@noM.
ICQ 13556170
http://andikap.afainformatica.com