Newsgroup: it.comp.lang.visual-basic
Titolo: [VB.NET]Rilevazione Nothig

Salve,
ho il seguente problema con una RichTextBox
In fase di selezione dei caratteri
Se in una stringa ho caratteri no Bold o solo Bold, tutto bene.
Se la selezione č mista iniziano i problemi:
1-
Se scrivo:
If RTB_Note.SelectionFont.Bold = Nothing Then
'codice
End If
ottengo l'errore:
"Riferimento a un oggetto non impostato su un'istanza di oggetto."
2-
Se cerco di scrivere:
If Not RTB_Note.SelectionFont.Bold Is Nothing Then
ho la risposta immediata:
"Gli operandi di "Is" devono avere tipi di riferimento, ma questo operando
ha tipo di valore "Boolean"."
3-
Ho provato come segue:
 Dim obj As Object (anche con Dim obj As New Object)
 obj= RTB_Note.SelectionFont.Bold
Risposta:
"Riferimento a un oggetto non impostato su un'istanza di oggetto."
Lo strano di questa risposta č che analizzo tipo di valore (vedi punto 2)
4-
If RTB_Note.SelectionFont.Bold Is System.DBNull.Value Then
Risposta:
"Gli operandi di "Is" devono avere tipi di riferimento, ma questo operando
ha tipo di valore "Boolean"."
Non riesco a rilevare se č Nothing
grazie
giuseppeD

If Not (RTB_Note.SelectionFont.Bold) Then
-- 
----------------------------
Mauro Gamberini

 Se la selezione č mista iniziano i problemi:
Bold č una maschera di bit per l'enumeratore FontStyle (come scritto 
nella guida in linea) quindi devi testare questi per sapere quali stili 
sono presenti nella selezione
Ciao

 If Not (RTB_Note.SelectionFont.Bold) Then
ottengo sempre, se tento di selezionare caratteri Bold e no Bold:
"Riferimento a un oggetto non impostato su un'istanza di oggetto."
ho provato anche cosě:
If Nothing(RTB_Note.SelectionFont.Bold) Then
risposta:
"Variabile oggetto o variabile del blocco With non impostata."
Come puň un tipo di valore avere una risposta che aspetterebbe ad un oggetto
e di conseguenza a un tipo di riferimento ?
giuseppeD

 ha scritto nel messaggio
news:buo8i1$k1mni$4...@ID-184808.news.uni-berlin.de...

Si,
mi lascia perplesso la diversa gestione degli appartenenti allo Style.
Fino ad oggi ho appreso:
con
If Not RTB_Note.SelectionFont Is Nothing Then
funziona e permette di individuare se seleziono diversi tipi di nome di
font.
Il problema si presenta per gli altri elementi dell'elenco Style.
Come li gestisco se la rilevazione č diversa da true e da false ?
In piů,
riporto la risposta data a Mauro,
come puň un tipo di valore avere una risposta di errore che
aspetterebbe ad un oggetto e di conseguenza a un tipo di riferimento ?
Ho risolto analizzando la stringa SelectedRtf.
Chiedo: possibile che 
VB.NET
 non sia in grado di intercettare la selezione
mista per gli elementi
dello Style ad esclusione del Name ?
Ave
giuseppeD

 dello Style ad esclusione del Name ?
Credo di aver capito il tuo problema: trovare se la selezione ha lo stesso
font ma stili diversi.
Controlla SelectionFont.Style
Ciao

 ha scritto nel messaggio
news:iwPPb.128641$VW.51...@news3.tin.it...

Nulla
Mi accetta
If RTB_Note.SelectionFont.Style.Bold = Nothing Then
ma se selezione bold che no bold contemporaniamente,
non rileva.
con il seguente;
If (RTB_Note.SelectionFont.Style = fontStyle.Bold) Then
"Riferimento a un oggetto non impostato su un'istanza di oggetto."
ilseguente, nessun errore ma non funziona:
If (RTB_Note.SelectionFont.Style.Bold = False) Then
il seguente
If Not RTB_Note.SelectionFont.Style.CompareTo(fontStyle.Bold) = Nothing Then
"Riferimento a un oggetto non impostato su un'istanza di oggetto."
Presumo che sia un' anomalia.
Come può rispondere in CLR
"Riferimento a un oggetto non impostato su un'istanza di oggetto."
Quando tratto un tipo valore ?
Ave
giuseppeD

 Quando tratto un tipo valore ?
Non puoi usare = per confrontare il valore Nothing.
Devu usare
If Valore Is Nohting Then
Ciao
--
Math Parser : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net

 If Valore Is Nohting Then
Scrivo:
If RTB_Note.SelectionFont.Style = fontStyle.Bold Then
0
If RTB_Note.SelectionFont.Style = True Then
Se seleziono in contemporanea bold e no bold, ottengo:
"Riferimento a un oggetto non impostato su un'istanza di oggetto."
Se scrivo:
If RTB_Note.SelectionFont.Style.Bold Is Nothing Then
Ho l'errore immediato:
Gli operandi di "Is" devono avere tipi di riferimento, ma questo operando ha
tipo di valore "System.Drawing.FontStyle".
Ci troviamo davanti ad una sistuazione tipo valore o tipo riferimento ?
Manca la possibilità di rilevare l'errore se seleziono un bold con un non
bold.
Stesso discorso per gli altri elementi dello Style, meno per il nome del
font.
Risolto in modo grossolano intercettando il numero di errore.
giuseppeD

 Risolto in modo grossolano intercettando il numero di errore.
Chiudiamo il recinto dopo che i buoi sono scappati, eh? ;)
Ciao