Tİplərİn kİtabxanası
VBA-da obyektlərdən istifadə etməzdən əvvəl onların tipləri müəyyən edilməlidir. Bu tiplərdən bəziləri aşağıdakı cədvəldə verilmişdir.
Dəyişənin tipi
|
Ölçüsü, baytla
|
İstifadəsi
|
İnteger
|
2
|
-32768 dən 32767
|
Double
|
8
|
4,9x10-324 dən 1,8x10308
|
String
|
1
|
0 dan iki milyard simvola qədər
|
Boolen
|
2
|
True və ya False
|
Variant
|
16 bayt+1 bayt simvol
|
Istənilən tipi əvəz edir
|
Date
|
8
|
Zaman və vaxt. 100-cü ildən 31 dekabr 9999- cu iləkimi. Vaxt 00:00:00 dan 23:59:59 kimi
|
AutoCAD-a aid olan tiplər isə daha çoxdur. J% bu cür yazılış J –ın tipinin integer təyin edir. 2# arxada şarp işarəsi 2-nin Double olması deməkdir.
Sub FindFirstEntity()
On Error Resume Next
Dim entity As AcadEntity
If ThisDrawing.ModelSpace.count <> 0 Then
Set entity = ThisDrawing.ModelSpace.Item(0)
MsgBox entity.ObjectName + " Model sahəsindəki ilk çəkilmiş obyekt."
Else
MsgBox "Model sahəsində heç bir obyekt yoxdur.”
End If
End Sub
Bu proqramda AcadEntity tipindən istifadə edilib ilk çəkilən obyektin adı ekrana verilir (MsgBox komandası ilə).
Varint tipi təyin edilmiş dəyişənlər haqqında məlumat VarType və yaTypeName-lə təyin edilir. Variantdan istifadə üçün iki nöqtə arasındakı məsafənin hesablanması nümunəsinə baxaq
Sub CalculateDistance ( )
Dim point1 As Variant, point2 As Variant
' ekrandan koordinatın veriməsinə müracət
point1 = ThisDrawing.Utility.GetPoint (, vbCrLf & "1-ci nöqtə: ")
point2 = ThisDrawing.Utility.GetPoint (point1, vbCrLf & "2-ci nöqtə:: ")
Dim x As Double, y As Double, z As Double
Dim dist As Double
x = point1(0) - point2(0)
y = point1(1) - point2(1)
z = point1(2) - point2(2)
dist = Sqr((Sqr((x ^ 2) + (y ^ 2)) ^ 2) + (z ^ 2))
MsgBox "Nöqtələr arasındakı məsafə: " & dist
End Sub
Burad vbCrLf- ENTER düyməsi deməkdir.
Dəyişənləri prosedur daxilində və qlobal elan etmək olar. Məsələn, yuxarıdakı point1, point2, x və s dəyişənlər yalnız CalculateDistance altkomandasında (prosedurunda) aktiv olur. Module1 komponentinde sub dan yuxarıda və sub- ız elan edilmiş dəyişənlər qlobal adlanır və bütün kompanentlərdə və altkomandalarda aktiv olurlar. Məsələn,
Public s2 As Variant
Public girish As Variant
Public dx As Double
Public dd As Double
Public hash As Double
Public b As Double
Public dk As Double
Public ks As Double
Public Const pi = 3.14159265 ’ dəyişməz sabit adlanır
Sub Parametr()
Dim LINE1 As String
Dim s1 As Variant
Open "c:\yastiq\ytext.txt" For Input As #1
Input #1, LINE1
I% = LINE1
ReDim s2(I%) As Variant
' MsgBox s2(j%)
For j% = 1 To I%
Input #1, LINE1
s1 = LINE1
s2(j%) = Mid(s1, 1, 3)
UserForm1.ComboBox1.AddItem s2(j%)
Next j%
Close #1
UserForm1.ComboBox1.Text = s2(1)
End Sub
Burada Public-lə dəyişənlərin bütün kompanentlərdə görünüşü təmin edilir.
Dostları ilə paylaş: |