venerdì 6 novembre 2009

Tabelle funzioni da VB6 a VB NET

Nella tabella seguente sono elencate le funzioni presenti in Visual Basic 6 e i corrispettivi metodi in Visual Basic .Net, nel caso (caldamente consigliato) non si voglia usare la libreria Microsoft.VisualBasic (parte Compatiblity).
Come si fa a non correre il rischio di usarla? Se ne toglie il riferimento dagli Imported Namespaces che si possono vedere nella scheda References delle Proprietà del progetto.
Così, di VisualBasic, userete la parte .Net (a esempio il namespace My).

Si consiglia di consultare anche l'help sui metodi VB.Net, perché sono spesso disponibili vari overload per le più svariate esigenze.
Talvolta ho ritenuto necessario fornire del codice di esempio. Tra i codici di esempio qualcuno è stato solo un divertimento, poiché è poco probabile che verrà usato davvero.
Le funzioni per le quali non ci sono metodi o costrutti corrispondenti riportano '-'. Per queste rarità, non potete evitare di usare la parte 'Compatibility' della libreria Microsoft.VisualBasic.

Consultare l'help sui metodi .Net dovrebbe convincervi di quanto VB.Net sia enormemente più potente di VB6.





























































































































































































































































































































































































































































































































































































































































































































































































































































































Abs System.Math.Abs
Array System.Collections.ArrayList
Asc Char.ConvertToUtf32(string,0)
Atn System.Math.Atan System.Math.Atan2
   
CallByName System.Reflection.MethodBase.Invoke
Choose

sostituibile dalla normale estrazione dell'elemento 'scelto'. Questo è un esempio 'complicato':

    Dim ss As Object() = {"1", 2, 14, "alfa"}
Dim al As New ArrayList(ss)
Dim s As String = al(1).ToString ' "2"

Chr Char.ConvertFromUtf32
Command My.Application.CommandLineArgs
Cos System.Math.Cos System.Math.Cosh System.Math.Acos
CreateObject si usa New nella dichiarazione
CurDir My.Computer.FileSystem.CurrentDirectory
CVErr non applicabile
   
Date DateTime.Today
DateAdd DateTime.Add
DateDiff DateTime.Subtract
DatePart tranne che per il trimestre, DateTime espone membri per ottenere le varie info su una data.
DateSerial si usa uno dei costruttori di DateTime
DateValue DateTime.Parse
Day data.Day
DDB -
Dir System.IO.Directory.GetFileSystemEntries System.IO.Directory.GetFileSystemInfos
DoEvents System.Windows.Forms.Application.DoEvents()
   
Environ System.Environment.GetEnvironmentVariable
EOF vari modi, a seconda dell'oggetto usato. A esempio, (TextReader.Peek = -1)
Error non applicabile
Exp System.Math.Exp
   
FileAttr System.IO.File.GetAttributes System.IO.File.SetAttributes
FileDateTime System.IO.File espone vari metodi per leggere e scrivere le varie date di creazione accesso o scrittura
FileLen System.IO.FileInfo.Length
Filter

sostituibile con vario codice. A esempio con LINQ:



    Dim stringhe() As String = {"qualcosa", "dell'altro", "cosacco"}
Dim filtrato As IEnumerable(Of String) = From el In stringhe _
Where el.Contains("cosa") _
Select el

Fix System.Math.Floor System.Math.Truncate
Format variabile.ToString(formato)
FormatCurrency variabile.ToString("C")
FormatDatetime

vari metodi del tipo data. A esempio



    Dim d As DateTime = DateTime.Now
Dim s As String = d.ToShortDateString

FormatNumber variabile.ToString(formato)
FormatPerCent variabile.ToString("P")
FreeFile non applicabile (non serve più, con oggetti System.IO)
FV -
   
GetAllSettings My.Computer.Registry.GetValue My.Settings
GetAttr come FileAttr
GetAutoServerSetting - non lo so -
GetObject si usa una normale assegnazione
GetSetting come GetAllSettings
   
Hex variabile.ToString("X")
Hour data.Hour
   
Iif l'operatore ternario è fornito sia da If che da Iif, ma il primo non valuta tutte le espressioni prima di restituire un risultato, bensì 'cortocircuita' la sua valutazione.
IMEStatus proprietà IMEMode dei Controls
Input vari metodi Read da oggetti File o Stream
InputBox - non disponibile, ed è un bene
InStr variabile.IndexOf
InStrRev variabile.LastIndexOf
Int come Fix
IPmt -
IRR -
IsArray variabile.GetType.IsArray
IsDate DateTime.TryParse
IsEmpty variabile.IsEmpty
IsError non applicabile
IsMissing - si testa il valore Nothing o predefinito del parametro Optional. è preferibile usare più overload della stessa procedura senza parametri opzionali
IsNull String.IsNullOrEmpty Convert.IsDbNull
IsNumeric

tiponumerico.TryParse(stringa, variabile). Esempio:



    Dim k As Integer = 0
Dim o As Boolean = Integer.TryParse("32", k)

IsObject non applicabile (qualsiasi cosa in .Net "IsObject" :-)))
   
Join String.Join
   
LBound variabile.GetLowerBound
LCase variabile.ToLower
Left variabile.Substring
Len variabile.Length
LoadPicture Image.FromFile
LoadResData My.Resources
LoadResPicture My.Resources
LoadResString My.Resources
Loc System.IO.FileStream.Position
LOF System.IO.FileStream.Length
Log System.Math.Log System.Math.Log10
LTrim variabile.TrimStart
   
Mid variabile.Substring
Minute data.Minute
MIRR -
Month data.Month
MonthName data.ToString("MMMM") System.Globalization.DateTimeFormatInfo.MonthNames
MsgBox MessageBox
   
Now DateTime.Now
NPer -
NPV -
   
Oct -
   
Partition sostituibile con una query LINQ
Pmt -
PPmt -
PV -
   
QBColor Color.ToArgb
   
Rate -
Replace variabile.Replace
RGB Color.FromArgb
Right variabile.Substring
Rnd System.Random.Next
Round System.Math.Round
RTrim oggetto.TrimEnd
   
Second data.Second
Seek System.IO.FileStream.Seek
Sgn System.Math.Sign
Shell System.Diagnostics.Process.Start
Sin System.Math.Sin System.Math.Sinh System.Math.Asin
SLN -
Space " ".PadLeft
Spc non applicabile
Split variabile.Split
Sqr System.Math.Sqrt
Str variabile.ToString
StrComp String.Compare
StrConv tipo.Parse
String
    Dim quattroemme As String = "m".PadLeft(4, "m"c)

StrReverse

questo esempio usa un metodo extension:



  Private Function ReversedString(ByVal stringa As String) As String
Dim cc As IEnumerable(Of Char) = stringa.ToCharArray.Reverse
Return String.Concat(cc.ToArray)
End Function

Switch Select Case, query LINQ
SYD -
   
Tab non applicabile
Tan System.Math.Tan System.Math.Tanh
Time
    Dim h As New DateTime(1, 1, 1, _
DateTime.Now.Hour, _
DateTime.Now.Minute, _
DateTime.Now.Second)

Timer
    Dim ts As New TimeSpan(DateTime.Now.Hour, _
DateTime.Now.Minute, _
DateTime.Now.Second)
Dim ss As Double = ts.TotalSeconds

TimeSerial
    Dim h As New DateTime(1, 1, 1, _
ore, _
minuti, _
secondi)

TimeValue DateTime.Parse
Trim oggetto.Trim
Typename GetType.ToString
   
UBound variabile.GetUpperBound
UCase variabile.ToUpper
   
Val Double.Parse
VarType GetTypeCode
   
Weekday data.DayOfWeek
WeekdayName data.ToString("dddd") System.Globalization.DateTimeFormatInfo.DayNames
   
Year data.Year



Articolo pubblicato su Visual basic tips & tricks da Diego  Cattaruzza

Nessun commento:

Posta un commento