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

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
"


ti segnalo la classe System.Convert
con cui pui fare cose del tipo:
Dim vbNewLinw As String = Convert.ToChar(13) & Convert.ToChar(10)
(il primo a postare questo tip e' stato DarkHado)
HTH
bye
R

 Questo è un post sperimentale
Che mi auguro di vedere sul SC, in futuro :-).
Bye, G.

 Che mi auguro di vedere sul SC, in futuro :-).
Questo dipende da chi ha le chiavi del SC :)
Pensavo quasi di fare un miniprogrammino (perdonatemi l'"ino") che leggeva
questo post e suggeriva la corrispondenza richiesta... magari se mi avanzano
5 min, per Pasqua...
Ciao


 ha scritto nel messaggio
news:Ijpc9.48190$pX1.1...@news2.tin.it...
Un riferimento del genere sul sito comune penso sia molto utile.
Per ottenere una continuità l'impegno deve essere a carico di una persona
che si incarichi ad aggiornarlo sia con sue scoperte
che utilizzando i suggerimenti degli altri.
Come far pervenire il nuovo al responsabile del documento ?
Se non si definisce una procedura si rischia che le aggiunte vadano perse
con conseguente calo della partecipazione.
giuseppeD

 5 min, per Pasqua...
Vai Zanna!! :)))
ps: mi sa che nel 2003 torno a programmare... e probabilmente bazzicherò +
spesso da queste parti :)
Ciao
Ettore Maronese, il Mes