Newsgroup: it.comp.lang.visual-basic
Titolo: [!][.NET] VB -> VB.NET senza compatibilità

Questo è un post sperimentale.
Se riceverà interesse da parte del NG verrà aggiornato e postato con
scadenza settimanale.
Invito tutti i partecipanti a rispondere a questo post suggerendo o
notificando altre soluzioni di conversione mancanti e/o correggendo le
presenti.
-----
Lo scopo di questo post è quello di scrivere applicazioni 
VB.NET
 senza usare
namespaces di compatibilità con le vecchie versioni di Visual Basic.
Dato per scontato che 
VB.NET
 è un linguaggio completamente differente dai
"vecchi" VisualBasic, è inutile se non dannoso utilizzarlo come se fosse una
sorta di VB7.
Con questo post vedremo come
- sfruttare le potenzialità del .NET framework nella sua forma più standard.
- evitare di usare funzioni compatibili con le precedenti versioni di VB.
- creare codice più facilmente portabile in altri linguaggi .NET e in altre
piattaforme.
-- Premessa
Selezionare il progetto e andare sul menu Progetto -> Proprietà.
Selezionare Proprietà Comuni -> Imports.
Selezionare e rimuovere Microsoft.VisualBasic.
-----
-- Funzioni stringa
Len(MyString)
|
+-- MyString.Length
Mid$(MyString,...)
|
+-- MyString.SubString(...)
+-- MyString.Chars(...)
InStr([...,] MyString, MySubString [,...])
|
+-- MyString.IndexOf(MySubString)                 ' binary compare
+-- MyString.ToLower.IndexOf(MySubString.ToLower) ' text compare
StrComp(MyString1, MyString2 [,...])
|
+-- Text.Compare(MyString1, MyString2)         ' binary compare
+-- Text.Compare(MyString1, MyString2, True)   ' text compare
-- Funzioni Matematiche
Le più comuni si ritrovano sotto il namespace
Math.*
Randomize(), Rnd()
|
+-- New Random(...)
-- Oggetti/Classi
Collection
|
+-- HashTable
--
y = f(
http://neodatatype.interfree.it/index.html
)

 scadenza settimanale.
Potrebbe essere inserito come articolo o faq sul SC! ;)

Questo è un post sperimentale e dato che non la volta scorsa non ha avuto
seguito e io non ci rinuncio :P verrà aggiornato e postato "ogni tanto".
Invito tutti i partecipanti a rispondere a questo post suggerendo o
notificando altre soluzioni di conversione mancanti e/o correggendo le
presenti.
-----
Lo scopo di questo post è quello di scrivere applicazioni 
VB.NET
 senza usare
namespaces di compatibilità con le vecchie versioni di Visual Basic.
Dato per scontato che 
VB.NET
 è un linguaggio completamente differente dai
"vecchi" VisualBasic, è inutile se non dannoso utilizzarlo come se fosse una
sorta di VB7.
Con questo post vedremo come
- sfruttare le potenzialità del .NET framework nella sua forma più standard.
- evitare di usare funzioni compatibili con le precedenti versioni di VB.
- creare codice più facilmente portabile in altri linguaggi .NET e in altre
piattaforme.
-- Premessa
Selezionare il progetto e andare sul menu Progetto -> Proprietà.
Selezionare Proprietà Comuni -> Imports.
Selezionare e rimuovere Microsoft.VisualBasic.
-----
-- Funzioni stringa
Hex$(MyNumber)
|
+-- MyNumber.ToString("x")
InStr([...,] MyString, MySubString [,...])
|
+-- MyString.IndexOf(MySubString)                 ' binary compare
+-- MyString.ToLower.IndexOf(MySubString.ToLower) ' text compare
Len(MyString)
|
+-- MyString.Length
Mid$(MyString,...)
|
+-- MyString.SubString(...)
+-- MyString.Chars(...)
StrComp(MyString1, MyString2 [,...])
|
+-- Text.Compare(MyString1, MyString2)         ' binary compare
+-- Text.Compare(MyString1, MyString2, True)   ' text compare
-- Funzioni Matematiche
Le più comuni si ritrovano sotto il namespace
Math.*
Randomize(), Rnd()
|
+-- New Random(...)
-- Funzioni Data-Ora
Date()
|
+-- DateTime.Today()
DateSerial(MyYear, MyMonth, MyDay)
|
+-- New DateTime(MyYear, MyMonth, MyDay)
DateAdd(..., MyDate, ...)
|
+-- MyDate.Add(New TimeSpan(...))
+-- MyDate.AddDays(...)
DateDiff(..., MyDate, ...)
|
+-- MyDate.Subtract(...)
+-- MyDate.AddDays(-...)
Day(MyDate)
|
+-- MyDate.Day
Month(MyDate)
|
+-- MyDate.Month
Now()
|
+-- DateTime.Now()
Time()
|
+-- DateTime.Now.TimeOfDay()
Year(MyDate)
|
+-- MyDate.Year
-- Oggetti/Classi
Collection
|
+-- HashTable
-- Gestion Errori
{VB4/5/6}
| On Error Goto Exception:
|     ' ...some code...
|     Exit Sub
| Exception:
|     ' ...error handling...
|---
|
+--- {.NET}
| Try
|     ' ...some code...
| Catch ex As Exception
|     ' ...error handling...
| End Try
|---
Err.Raise ...
|
+-- Throw New Exception(...)
--
' // Initialize the expression evaluator
Engines.Evaluator = CreateObject("
http://www.neodatatype.net
")
' // you can find resources for and from the NG here!
Me.SitoComune = "
http://www.it-lang-vb.it
"