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