VB .NET
DoEvents
UrΦit∞ vÜichni znßte p°φkaz DoEvents z Visual Basicu 6 (pro ty, kdo neznajφ,
p°φkaz zp∙sobφ provedenφ vÜech zprßv, kterΘ Φekajφ ve front∞). Kde najdete
tuto funkci ve Visual Basicu .NET?
Je to metoda t°φdy Application , neboli System.Windows.Forms.Application .
Zp∞t na obsah
Velikost "klientskΘ" Φßsti formulß°e
Chcete-li znßt velikost "klientskΘ" Φßsti formulß°e, tj. plochy,
kam m∙₧ete umφs¥ovat prvky, pou₧ijte vlastnost ClientSize .
Vracφ objekt Size nastaven² na sprßvnou velikost (ve Visual
Basicu 6 se dala zjistit Üφ°ka a v²Üka pomocφ ScaleWidth
a ScaleHeight ).
'Nastavenφ v²Üky PictureBoxu na celou v²Üku formulß°e
picDrawing.Height = Me.ClientSize.Height
Zp∞t na obsah
Implicitnφ tlaΦφtko pro Enter a Esc
Ka₧d² formulß° m∙₧e mφt definovßno jedno tlaΦφtko, jeho₧ udßlost Click
se vyvolß na stisk klßvesy Enter (ve Visual Basicu 6 vlastnost tlaΦφtka
Default ) a jedno tlaΦφtko, jeho₧ udßlost Click
se vyvolß na stisk klßvesy Escape (ve Visual Basicu 6 vlastnost tlaΦφtka
Cancel ).
Ve Visual Basicu .NET se tyto tlaΦφtka nastavujφ Vlastnostmi formulß°e
AcceptButton a CancelButton .
Me.AcceptButton = Button1
Me.CancelButton = Button2
Zp∞t na obsah
Deklarace pole
Deklarace polφ probφhß ve podobn∞ jako ve Visual Basicu 6. Hlavnφ rozdφl
je v definici poΦtu prvk∙. Ka₧dΘ pole ve Visual basicu .NET zaΦφnß indexem
0 (p°φkaz LBound stßle existuje, ale v₧dy vracφ hodnotu 0).
Do zßvorek za nßzev prom∞nnΘ se stejn∞ jako ve verzi 6 pφÜe hornφ index
pole. Tzn. ₧e p°φkaz
Dim myArray(5) As Integer
vytvo°φ pole se 6 prvky a indexy 0 a₧ 5 (p∙vodn∞ m∞la b²t deklarace opravena
na zadßvßnφ poΦtu prvk∙ v poli, ale nakonec MS z∙stal u d°φv∞jÜφ deklarace).
Novinkou je mo₧nost zadat hned p°i deklaraci hodnoty pole. P°φkaz
Dim myArray() As Integer = {1, 2, 3}
vytvo°φ pole se t°emi prvky (indexy 0, 1, 2) a s hodnotami 1, 2 a 3. V tomto
p°φpad∞ nenφ mo₧nΘ zadat rozsah pole, nastavφ se podle poΦtu zadan²ch hodnot.
Pro dvourozm∞rnΘ pole by k≤d vypadal takto:
Dim myArray(,) As Integer = {{1, 10}, {2, 20}, {3, 30}}
Dim i As Long
'cyklus vypφÜe hodnoty druhΘ dimenze pole, tzn. 10, 20 a 30
For i = 0 To UBound(myArray, 1)
Debug.WriteLine(myArray(i, 1))
Next
Zp∞t na obsah
Kopφrovßnφ pole
Pro kopφrovßnφ jednoho pole do druhΘho m∙₧ete pou₧φt t°i metody. T°φda
Array mß dv∞ metody, Copy a CopyTo ,
kterΘ umo₧≥ujφ kopφrovßnφ bu∩ celΘho pole do druhΘho nebΘ jen Φßsti. Metoda
CopyTo mß pouze dva parametry, do kterΘho pole kopφrovat
(array) a od kterΘho indexu zaΦφt (index). Metoda Copy
je p°etφ₧enß, mß dv∞ varianty. Prvnφ mß t°i parametry, zdrojovΘ pole,
cφlovΘ pole a poΦet prvk∙ pro kopφrovßnφ, druhß je variabiln∞jÜφ, umo₧≥uje
navφc zadat od kterΘho prvku zdrojovΘho pole zaΦφt kopφrovat a pozici,
od kterΘ se bude vklßdat do cφlovΘho pole.
U obodu t∞chto metod si musφte hlφdat, aby m∞lo cφlovΘ pole dost mφsta,
tzn. chcete-li kopφrovat pole s 5 prvky do pole se dv∞ma prvky, nastane
chyba.
Dim myArray() As Integer = {1, 2, 3}
Dim myArray2(1) As Integer
'zde nastane chyba
myArray.CopyTo(myArray2, 0)
ProstΘ p°i°azenφ jednoho pole do druhΘho pomocφ = provede
i pot°ebn² p°φkaz ReDim , tzn. v²Üe uveden² p°φkaz by skonΦil
v po°ßdku.
Dim myArray() As Integer = {1, 2, 3}
Dim myArray2(1) As Integer
myArray2 = myArray
Toto p°i°azenφ se m∙₧e zdßt v²hodn∞jÜφ, ale takov² k≤d nebude velmi dob°e
Φiteln².
Zp∞t na obsah
╚tenφ textovΘho souboru
Funkce LoadTextFile vrßtφ text ze souboru, zadanΘho jako parametr
FilePath.
Function LoadTextFile(ByVal FilePath As String) As String
Dim sr As System.IO.StreamReader
Try
sr = New System.IO.StreamReader(FilePath)
LoadTextFile = sr.ReadToEnd()
Finally
If Not sr Is Nothing Then sr.Close()
End Try
End Function
Zp∞t na obsah
Ulo₧enφ textu do souboru
Funkce SaveTextFile ulo₧φ textov² °et∞zec do souboru. Parametr
FilePath urΦuje nßzev souboru s cestou, FileContent je text
pro ulo₧enφ a parametr Append zda jde pouze o p°idßnφ textu do
existujφcφho souboru nebo vytvo°enφ novΘho.
Function SaveTextFile(ByVal FilePath As String, ByVal FileContent As String, _
Optional ByVal Append As Boolean = False) As Boolean
Dim sw As System.IO.StreamWriter
Try
sw = New System.IO.StreamWriter(FilePath, Append)
sw.Write(FileContent)
Return True
Catch e As Exception
Return False
Finally
If Not sw Is Nothing Then sw.Close()
End Try
End Function
Zp∞t na obsah
Velikost adresß°e
Funkce GetDirectorySize vrßtφ velikost adresß°e zadanΘho
v parametru DirPath v bajtech.
Function GetDirectorySize(ByVal DirPath As String) As Long
Dim DirSize As Long
Dim Dir As DirectoryInfo = New DirectoryInfo(DirPath)
Dim ChildFile As FileInfo
For Each ChildFile In Dir.GetFiles()
DirSize += ChildFile.Length
Next
Dim SubDir As DirectoryInfo
For Each SubDir In Dir.GetDirectories()
DirSize += GetDirectorySize(SubDir.FullName)
Next
Return DirSize
End Function
Zp∞t na obsah
|