PDA

View Full Version : [Visual Basic 6] - Uguaglianza di stringhe


lucausa75
03-01-2010, 16:04
Salve ragazzi,

debbo scrivere una riga di codice molto semplice:

If Label5 = Label7 Then MsgBox "Uguale"

dove Label5=

"Utente: admin
Email: luca@libero.it
Seriale: YYXP-OILG-XSHU-LZCY
Data: 03/01/2010 12.41.05
IP: 79.49.106.135
Applicazione: Domus"

e Label7=
"Utente: admin
Email: luca@libero.it
Seriale: YYXP-OILG-XSHU-LZCY
Data: 03/01/2010 12.41.05
IP: 79.49.106.135
Applicazione: Domus"

ma la cosa strana è che il codice non arriva mai all'IF interessato in quanto Label5 e Label7 sembrerebbero diverse

Dove sbaglio?

Grazie

MarcoGG
04-01-2010, 09:07
E' un classico.
Ci si abitua ad abusare della semplicità di VB6 fino al momento in cui ti volta le spalle... :D
Se VB6 tollera ed interpreta nel modo giusto una cosa come :
Label1 = "testo label"

non è detto che faccia lo stesso con l'operatore =.
Per confrontare il testo di 2 Label, usa sempre la proprietà corretta che è Label1.Caption. E poi, se accetti un consiglio, ignora certe "facilitazioni" e abituati ad usare sempre i metodi e le proprietà corrette, anche se avrai un codice un po' più prolisso, quindi, anche qui :

Label1.Caption = "testo label"
;)

Mendocino89
04-01-2010, 09:18
E' un classico.
Ci si abitua ad abusare della semplicità di VB6 fino al momento in cui ti volta le spalle... :D
Se VB6 tollera ed interpreta nel modo giusto una cosa come :
Label1 = "testo label"

non è detto che faccia lo stesso con l'operatore =.
Per confrontare il testo di 2 Label, usa sempre la proprietà corretta che è Label1.Caption. E poi, se accetti un consiglio, ignora certe "facilitazioni" e abituati ad usare sempre i metodi e le proprietà corrette, anche se avrai un codice un po' più prolisso, quindi, anche qui :

Label1.Caption = "testo label"
;)

Quoto...
brutta abitudine quella di non specificare la proprietà del controllo!!
Infatti quando vb fa il confronto fra Label5 e Label7 tiene in considerazione anche altre proprietà come Height, widht, Left, Font ecc ecc...

MarcoGG
04-01-2010, 10:15
Infatti quando vb fa il confronto fra Label5 e Label7 tiene in considerazione anche altre proprietà come Height, widht, Left, Font ecc ecc...

Mmm, non credo sia proprio così. In effetti se metti su una Form 2 Label totalmente diverse per colore, dimensioni, font e quant'altro e poi :

Label1.Caption = "aaa bbb ccc"
Label2.Caption = "aaa bbb ccc"

If Label1 = Label2 Then
MsgBox "uguali"
Else
MsgBox "diverse"
End If

restituisce comunque "uguali". Probabilmente il problema di Luca dipende anche da altro, ma vale comunque il consiglio generale di specificare sempre la proprietà corretta per ogni situazione...