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
venerdì 6 novembre 2009
Tabelle funzioni da VB6 a VB NET
Etichette:
VB.NET 2010
Iscriviti a:
Commenti sul post (Atom)
Nessun commento:
Posta un commento