Qurilish, obodonlashtirish, ta'mirlash
Qidiruv
Qidiruv
Agar siz bir nechta operatsiyalarni birlashtirmoqchi bo'lsangiz, hujumkor hujumlaringizning ustuvorligi:
1. Dastlab arifmetik amallar 2.2-jadvalda ko'rsatilgan tartibda joylashtiriladi.
2.2-jadval. | Arifmetik amallarning ustuvorligi |
3. Qolgan mantiqiy amallar 2.3-jadvalda keltirilgan tartibda joylashtirilgan. | 2.3-jadval. |
Mantiqiy operatsiyalarning ustuvorligi | Operatsiya tavsifi |
VBA tomonidan belgilangan | Mantiqiy ravishda kesishgan |
Yo'q
Mantiqiy "men"
Va Mantiqiyroq "ABO" Yoki Agar siz ba'zi operatsiyalarga bir xil ustuvorlikni berishni istasangiz, unda buyurtma o'ng tomonga o'tadi.
Ko'rinishdagi harakatlar tartibini o'zgartirish uchun dumaloq qo'llar o'ralgan.
Viruslar ko'proq arifmetik, yuzdan birlari esa mantiqiyroq. | Arifmetik ifodalar | sonli turdagi qo'shimcha operandlar va arifmetik amallar uchun yoziladi va natijada sonli qiymat hosil bo'ladi. |
Arifmetik ifodada standartdan foydalanish mumkin | matematik funktsiyalar | , 2.4-jadvalda ko'rsatilganidek. |
2.4-jadval. | Standart VBA matematik funktsiyalari | Matematik belgilar |
Bular VBA-dagi funktsiyalar | Tavsif | ½X½ |
Abs (raqam) | Turi o'tkazilgan argument turi bilan bir xil bo'lgan, belgilangan raqamning mutlaq qiymatlariga teng bo'lgan qiymatni aylantiradi. | arktan X |
Atn (raqam) | Raqamning arktangentini ko'rsatish uchun ikki barobar qiymatlarni aylantiradi. | chunki X |
Cos (raqam) | Qiymatning kosinusini sozlash uchun ikki marta qiymatlarni aylantiradi. | ]X[ Int (raqam) Argument turiga qiymatni qaytaradi, bu raqamning butun qismi bilan bir xil. |
ln X | Jurnal (raqam) | Raqamning natural logarifmini ko'rsatish uchun Double qiymatini aylantiradi. |
e X | Exp (raqam) | Raqam qo'shish natijasiga mos kelish uchun Double qiymatlarni aylantiradi |
e | (tabiiy logarifmlar o'rnini bosuvchi) qadamlar qiymatlari uchun. X belgisi Sgn (raqam) | |
Belgilangan raqamning belgisiga mos keladigan Variant (Integer) qiymatlarini aylantiradi. | gunoh X | Gunoh (raqam) |
Virazi innovatsiyasi ikkita operand teng bo'lganda natijaning haqiqat va yolg'onligini aniqlang.
Ma'lumotlarni har qanday boshqa turdagi bilan solishtirish mumkin. Operatsiya natijasi juda mantiqiy: Rost - "haqiqat" va noto'g'ri - "bema'nilik". Mantiqiy ifodalar. Mantiqiy hisoblash natijasi True yoki False mantiqiy qiymati hisoblanadi.
Mantiqiy ifodalarning eng oddiy turlari: mantiqiy doimiy, mantiqiy o'zgarish, mantiqiy funktsiya
, viraz vidnosin.
Mantiqiy amallar faqat mantiqiy tipdagi operandlarda bajariladi.<=5
dumba .
1 £ X £ 5 va X = 3.1 qiymatining qiymatini yozing VBA-da Viraz quyidagicha ko'rinadi: X>=1 va X Natijada virus bo'ladi To'g'ri. Barcha matematik funktsiyalarning bir-biriga o'xshashligini bartaraf qilish uchun har qanday ma'lum matematik funktsiya nomini yozish kifoya (masalan,
GUNOH VBA-da Viraz quyidagicha ko'rinadi: X>=1 va X Natijada virus bo'ladi) va tugmani bosing F1 .
Matematik funktsiyalar
.
Viruslar ko'proq arifmetik, yuzdan birlari esa mantiqiyroq. | Abstraktda siz olingan matematik funktsiyalar va argumentlarning ahamiyati haqidagi argumentni olib tashlashingiz mumkin. | Barcha o'xshash matematik funktsiyalar va ularni shakllantirish qoidalarining bir-biriga o'xshashligini oldini olish uchun har qanday ma'lum matematik funktsiyalarning nomlarini kiritish kifoya (masalan, |
Quyida tanlangan xabarni tanlash funksiyasining tavsifi berilgan | Tegishli matematik funktsiyalar | Quyida 2.5-jadvalda matematik funktsiyalardan foydalanish bilan birgalikda ishlatilishi mumkin bo'lgan funktsiyalar ro'yxati keltirilgan. |
2.5-jadval. | Tegishli matematik funktsiyalar | Funktsiya nomi |
Amalga oshirilgan funktsiyalarning kombinatsiyasi | sc X | Sekant |
1/Cos(X) | csc X | Kosekant |
1/Sin(X) | ctg X | Kotangent |
1/Tan(X) | arcsin X | arksin |
Atn(X/Sqr(-X*X+1)) | arccos X | arkkosin |
Atn(-X/Sqr(-X*X+1))+2*Atn(1) | arcsc X | Arksekant |
Atn(X/Sqr(X*X-1))+Sgn((X)-1)*2*Atn(1) | arccsc X | Arkokosant |
Atn(X/Sqr(X*X-1))+(Sgn(X)-1)*2*Atn(1) | arcctg X | Arkotangent |
Atn(X)+2*Atn(1) | sh X | Giperbolik sinus |
(Exp(X)-Exp(-X))/2 | ch X | Giperbolik kosinus |
(Exp(X)+Exp(-X))/2 | Rahmat | Giperbolik tangens |
(Exp(X)-Exp(-X))/(Exp(X)+Exp(-X)) | sch X | Giperbolik sekant |
2/(Exp(X)+Exp(-X)) | csch X | Giperbolik kosekant |
2/(Exp(X)-Exp(-X)) | st X | Giperbolik kotangent |
(Exp(X)+Exp(-X))/(Exp(X)-Exp(-X)) | arsh X | Giperbolik arksinus |
Jurnal (X+Sqr(X*X+1)) | arch X | Giperbolik arkkosin |
Jurnal (X+Sqr(X*X-1)) | art X | Giperbolik arktangent |
Jurnal ((1+X)/(1-X))/2 | arsch X | Giperbolik arksekant |
Log((Sqr(-X*X+1)+1)/X) | arcsch X | Giperbolik arkokosant |
Log((Sgn(X)*Sqr(X*X+1)+1)/X)
ark X
Giperbolik arkkotangent
Har bir yangi operator yangi qatordan ro'yxatga olinadi.
Bir qatorga bir nechta operatorlarni yozish uchun ular qo'sh belgi (:) bilan ajratiladi.
Agar operator bir qatorga sig'masa, qator oxiriga bo'sh joy va o'q belgisini (_) qo'yish kerak, so'ngra keyingi qatorga mos kelmaydigan qismni davom ettirish kerak.
3.2.
Tayinlash operatori
Agar o'zgartirishga yangi qiymat berish kerak bo'lsa, tayinlash operatori o'zgartiriladi.= Bu quyidagi sintaksis:
IM'Y_ZMINNNOY
VIRAZ Qiymat birinchi navbatda o'ng tomonda hisoblanadi, so'ngra natija chap tomonda hisoblanadi.
Masalan
.
Belgilangan matematik ifoda uchun operatorni yozing:
VBA-da bu ibora tajovuzkor operator nuqtai nazaridan yozilishi mumkin:
Y = a^(1/3)+(a^2+Exp(-b))/(Sin(a)^2-Log(b))
3.3.
Kirish-kirish operatorlari 3.3.1.
MsgBox operatori va funksiyasi
MsgBox operatori endi ma'lumotni dialog oynasida ko'rsatadi va tugmani bosish rejimini o'rnatadi. Bu quyidagi sintaksis:
MsgBox Xabar[,Tugmalar][, Sarlavha]
Argumentlar: Tabriklaymiz
- axborot oynasini ko'rsatuvchi majburiy argument.
& bilan belgilangan bir qancha matn qatorlaridan tuzilishi mumkin.
Ma'lumot ko'rsatilganda yangi qatorga o'tishdan oldin to'g'ri Chr(13) argumentidan foydalaning. | Tugmalar |
- Ushbu argumentning qiymati oynada paydo bo'ladigan tugmalar toifalari. | Tugma argumentining qiymati oynada paydo bo'ladigan belgi bilan bir xil. |
Agar bildirishnoma oynasida qaysi tugmalar ko'rsatilishi kerakligi ko'rsatilmagan bo'lsa, OK tugmasiga mos keladigan nazorat ro'yxati uchun qiymatlar ko'rsatiladi. | Jadvalda |
3.1 bildirishnoma oynasida tugmalar va piktogrammalarning mumkin bo'lgan kombinatsiyasi mavjud. | Sarlavha |
- Oynaning sarlavhasini o'rnatadi. | MsgBox funksiyasi dialog oynasida qaysi tugma bosilganligini ko'rsatadigan Integer qiymatini qaytaradi. |
3.1-jadval. | O'zgartirish tugmasining qabul qilinadigan qiymatlari |
Vibrazhennya | Argument |
OK tugmasi | VbOKOnly |
OK tugmalari | VbOKBekor qilish |
Ha va Yo'q tugmalari | VbHa Yo'q |
Tugmalar Ha, Yo'q | VbHaYoBekor qilish |
VIRAZ Qo'llash, Takrorlash va E'tibor bermaslik tugmalari
VbAbortRetryIgnore
Takrorlash va Skasuvati tugmalari.
OK tugmasini bosgandan so'ng, bildirishnoma oynasi yopiladi va dastur to'g'ridan-to'g'ri MsgBox tugmasini bosish ortida turgan operatordan ishga tushiriladi.
3.3.2.
InputBox funksiyasi
InputBox funksiyasi qo'shimcha kiritish oynasida o'zgartiriladigan qiymatni kiritish imkonini beradi va quyidagi sintaksisdan foydalanadi: Name_Zminnaya = InputBox()
MsgBox operatori va funksiyasi
MsgBox operatori endi ma'lumotni dialog oynasida ko'rsatadi va tugmani bosish rejimini o'rnatadi. Xabar[, Sarlavha]
Argumentlar: Tabriklaymiz
VIRAZ - Lingvistik dalil.
Ma'lumot oynasida kiritilishi kerak bo'lgan qiymatni tushuntiruvchi xabarni o'rnatadi
, Klaviaturadan N o'zgartirish qiymatlarini kiriting, yuvilgandan keyin qiymatlarni o'tkazing 10.
Buning uchun siz quyidagi operatordan foydalanishingiz mumkin:
N = InputBox("Kirish N", "Kirish ma'lumotlarini kiritish",10)
Natijada N o'zgartirish qiymatini kiritish uchun mavjud vaqt ko'rsatiladi (3.2-rasm).
Ko'rsatmalarga rioya qilish muhim bo'lganligi sababli, OK tugmasini bosgandan so'ng, kirish oynasi yopiladi, o'zgartirish N ga 10 qiymati beriladi va tanlangan dastur to'g'ridan-to'g'ri InputBox tugmasini bosish orqasida joylashgan operatordan yangilanadi.
Agar o'zgarishlar qiymatlari to'g'ri kelmasa, OK tugmasini bosishdan oldin kerakli o'zgartirish qiymatlarini N kiritishingiz kerak.
3.4. Mental IF operatori Yechilishi kerak bo'lgan hisoblash jarayonini amalga oshirish uchun VBA ongni tekshirishning eng oddiy shakli bo'lgan If...Then...Else bayonotidan foydalanadi. Bu quyidagi sintaksis: Agar UMOVI
Bu quyidagi sintaksis: Keyin Mental IF operatori OPERATOR_1 UMOVI Boshqa
Mental IF operatori OPERATOR_2
vykonuetsya, yakscho
To'g'ri, aks holda u tugaydi
.
Bunda If ... Then ... Else operatori bir qatorga yoziladi.
3.4. Mental IF operatori- Bu mantiqiy tur.
Natija har doim mantiqiy tipdir.
Viraz buti kechirishi va katlanishi mumkin.
Oddiy aqllarni yozishda stolga tayinlangan daftardagi barcha mumkin bo'lgan operatsiyalardan foydalanish mumkin.
3.4. 3.2.- Bu mantiqiy tur.
Natija har doim mantiqiy tipdir.
3.2-jadval. Mantiqiy eslatmalar- Bu mantiqiy tur.
Viraz buti kechirishi va katlanishi mumkin.
Katlamali aqllar mantiqiy operatsiyalarning oddiy yo'llari va dumaloq kamarlardan yaratilgan. Mantiqiy operatsiyalar ro'yxati jadvalda keltirilgan.
3.3. 3.3-jadval.
Mantiqiy operatsiyalar
Select Case operatori qo'lda tuzatilishi kerak, agar qiymatda ruxsat etilgan qiymatlarning yakuniy ko'pligiga teng qiymat mavjud bo'lsa, turli harakatlarni istisno qilish kerak.
Bu aqliy operatorlarga ham tarjima qilinadi, lekin u boshqacha ko'rinadi: Case-ni tanlang
REVISED_VIRAZ Case
VALUE_1
REVISED_VIRAZ OPERATORI_1
VALUE_2
REVISED_VIRAZ OPERATORI_2
VALUE_N
[ OPERATOR_N
Boshqa holat
Case-ni tanlang Aks holda_operator] skalyar tip yoki nutq turi bo'lishi mumkin. VALUE
komaning bir turi bilan mustahkamlangan etarli miqdordagi qiymatlar yoki diapazonlardan iborat. Turi VALUE yozilishida aybdor.
PEREVIRNOGO_VIRASE Case-ni tanlang Boshidan boshlab hisoblangan . Qaysi qiymat uning qiymatlaridan biriga teng? VALUE_I, keyin chiqing . Qaysi qiymat uning qiymatlaridan biriga teng? OPERATOR_I Bu qiymat End Selectdan keyin keladigan operatorga o'tkaziladi.
Bu qiymat boshqa qiymatlar bilan bir xil bo'lmasa Aks holda_operator
Ushbu narx operatorga o'tkaziladi, bu esa End Select keyin turadi
Masalan.
Shakldagi algoritm uchun dasturning bir qismini yozing. 3.5, ya'ni S o'zgaruvchining qiymati n o'zgaruvchining qiymatiga bog'liq emas. 3.6. Loop bayonotlari Bir yoki bir nechta operatorlarning takroriy bajarilishi kabi siklik hisoblash jarayonini amalga oshirish uchun quyidagi sintaksisga ega For…Next sikl operatoridan foydalaning: uchun
LIST=QIYMATLAR
LIST=QIYMATLAR
Bu CON_VALUE
Qadam CON_VALUE KROK uchun BLOCK_OPERATOR CON_VALUE Keyingisi
Vrach
For...Keyingi tsikli oʻzgaruvchining qiymatlari boʻyicha takrorlanadi , belgilangan o'zgarish vaqtidan boshlab boshidan oxirigacha bo'lgan tsiklning parametri. Bunday holda, tananing operatorlari bloki shifokorning terining yangi qiymati bilan tsikli ta'minlanadi. Yakshcho qadami
LIST=QIYMATLAR
LIST=QIYMATLAR
Bu , belgilangan o'zgarish vaqtidan boshlab boshidan oxirigacha bo'lgan tsiklning parametri.
Qurilish bir kunga ega bo'lganligi sababli, bu muddat 1 ga teng ekanligini unutmaslik kerak. Exit For iborasidan so'ng, oldin tsikl bayonotidan chiqishingiz mumkin.
qolgan ahamiyatiga erishing.
O'xshash ob'ektlar guruhidagi ob'ektlarni takrorlash uchun, masalan, diapazon o'rtasidan yoki massiv elementlaridan, qo'lda For…Each…Next sikl operatoridan foydalaning.
Har biri uchun
element
In
Guruh
VBA-da takrorlashlar soni noma'lum bo'lgan tsikllarni tashkil qilish uchun boshqa tsikl operatorlari qo'llaniladi: Mental IF operatori
LIST=QIYMATLAR
LIST=QIYMATLAR
fikrni o'zgartirish bilan aylanish - Do while ...
Do Until...Loop; Mental IF operatori
LIST=QIYMATLAR
LIST=QIYMATLAR
postumova bilan loop – Do... Loop while,
LIST=QIYMATLAR
LIST=QIYMATLAR
Bajar... Qachongacha aylantiring. Mental IF operatori
Quyida sikldagi ushbu operatorlarning sintaksisi keltirilgan:
LIST=QIYMATLAR
LIST=QIYMATLAR
Fikr o'zgarishi bilan tsikl Do While... Loop Mental IF operatori
Do while Mental IF operatori Fikr o'zgarishi bilan tsikl Do Until... Loop Mental IF operatori tugatma. Mental IF operatori.
Do…Loop While, Do…Loop Operatorlar ortiqcha operatorlardan farqlanmaguncha, bunda operatorlar bloki dastlab bir marta tekshiriladi va keyin tekshiriladi. Mental IF operatori.
Davrani noyob qilish uchun tsiklda joylashgan o'zgaruvchilar qiymatlarini o'zgartiradigan bitta operator bo'lishi kerak.
Exit Do iborasi tsikl uchun bayonotdan satr bo'yicha chiqishni ta'minlaydi. dumba 1.
Dastur algoritmining bir qismini rasmga katlayın. 3.6.
Butun 2 .
Dastur algoritmining bir qismini rasmga katlayın.
3.7.
Butun 3
.
Algoritmga mos keladigan dasturning bir qismini katlayın Dastur tuzilishi Modullar, protseduralar va funktsiyalar(Modul - bu pastki dasturlar, o'zgaruvchilar va konstantalarni o'z ichiga olgan dastur kodiga ega ASCII matn fayli.)
Loyiha ko'plab dasturiy modullardan iborat bo'lishi mumkin.
Ularni yaratish uchun Insert Module buyrug'ini tanlash kerak. Modulning ishchi oynasi rasmda ko'rsatilgan. 4.1. VBA dasturining asosini protseduralar va funktsiyalar tashkil qiladi. Sub protsedura operatsiyalarni tashkil etuvchi VBA bayonotlari to'plamini kuchaytiradi. Oddiy versiyada protsedura turli parametrlarni qabul qiladi (chiqish sifatida protseduraga o'tkaziladigan o'zgarishlar), dasturni o'zgartiradi va natijada protsedura o'rtasida parametrlarga tayinlangan qiymatlarni aylantirishi mumkin. Biroq, ko'pincha parametrlarsiz protseduralar qo'llaniladi. Modullar, protseduralar va funktsiyalar- identifikator qanday bo'lishidan qat'i nazar, koristuvachemning ma'nosi.
Identifikator - harflar, raqamlar va harf bilan boshlanadigan urg'u belgisi ketma-ketligi (identifikatorning o'rtasida bo'shliqlar qabul qilinishi mumkin emas).
Algoritmga mos keladigan dasturning bir qismini katlayın Jarayon nomi har doim modul darajasiga tayinlanadi. Dastur matniga protsedurani kiritish uchun (matn uchun ham xuddi shunday) protsedura nomini va rasmiy parametrlarga to'g'ridan-to'g'ri moslashishning turi va tartibiga rioya qiluvchi haqiqiy parametrlar ro'yxatini ko'rsatish kerak.(Funktsiya funksiyasi ko'p jihatdan protseduraga o'xshaydi, lekin chaqirilganda undan bo'linadi, u qiymatlarni aylantiradi; Funksiya argumentlar deb ataladigan parametrlarni oladi va ular ustida amallarni bajaradi, natijasi funksiya tomonidan qaytariladi. Funktsiyaning tuzilishi quyidagicha:
Funktsiya
IM_FUNCTIONS
Funktsiyaning tuzilishi quyidagicha: LIST_ARGUMENTS
) kabi
TYPE
TYPE_FUNCTIONS
IM_FUNCTIONS = VIRAZ
aylantirilgan natijaga ma'lumotlar turini ko'rsatadi.
Har bir funksiya bitta operatorning mavjudligini talab qiladi, bu funksiya nomiga hisoblanayotgan ifoda qiymatini beradi.
Funktsiyani satrdan oldin tugatish Exit Function operatori yordamida amalga oshirilishi mumkin.
Bosish dasturida funktsiya qo'shimcha tayinlash operatori orqasida ishlaydi, uning o'ng tomoni har qanday boshqa funktsiya, masalan, S qr, Cos yoki Chr kabi haqiqiy parametrlarni uzatish bilan funktsiyani bildiradi.
Public yoki Private, tijoriy va xususiy kalit so'zlari yordamida aniq tavsiflanmagan protseduralar va funktsiyalar.
Kichik dastur moduliga tezda qo'shish uchun siz Protsedurani qo'shish buyrug'ini qo'lda ishlatishingiz mumkin.
Keyin ushbu modulning global o'zgaruvchilari va doimiylari e'lon qilinadi.
modulning barcha protseduralarida qo'llaniladi.
“:” belgisi yordamida dasturni yozib olish vaqtida operatorlarni bir qatorga ajratamiz.
Operatorni boshqa qatorga o'tkazish uchun "_" belgisi (ta'kid belgisi) ishlatiladi.
Ba'zan, dasturlarning o'rtasida siz sharhlarni qo'lda joylashtirishingiz kerak - kompilyator tomonidan e'tiborga olinmaydigan tushuntirish matni, shuningdek, dasturning istalgan joyidagi yozuvlar.
Sharhlar, shuningdek, operatorlarning o'z vaqtida ulanishi uchun yaxshi ishlab chiqilgan dasturlar bilan qo'lda tuzatiladi.
Sharhlarning har bir qatori apostrof bilan boshlanadi.
Modulni tashkil qilish misoli:
PI - global konstanta
Const PI As Double = 3.14159
'x - global o'zgarish
"Disk" funksiyasi qoziq maydonini hisoblab chiqadi
Umumiy funktsiyali disk (R ikki barobar) ikki barobar
Disk = PI * R^2
"Rec" funktsiyasi trikutanning maydonini hisoblab chiqadi
Umumiy funksiya Rec(A Double, As Double, As Double) As Double
p - mahalliy o'zgarish
p = (a + b + c) / 2
Rec = Sqr(p * (p - a) * (p - b) * (p - c))
‘Natija protsedurasi natijalarni ko‘rsatish uchun Disc va Rec funksiyalarini chaqiradi
Umumiy pastki natija()
'R_1, R_2, a, b, c - mahalliy o'zgarishlar
R_1 dubl sifatida xira
Xira R_2 Double sifatida
R_1 = Disk (2,5)
MsgBox " Stake area = " & CStr(R_1) & ", x = " & CStr (x)
R_2 = Rec(a, b, c)
MsgBox " Trikutan zona = " & CStr(R_2)
Bu erda Option Explicit ko'rsatmasi ushbu modulda ishlatiladigan o'zgaruvchilar turlarini tavsiflash zarurligini ko'rsatadi.
Option Base 1 ko'rsatmasi massiv elementlarini indekslash 1 ga teng emasligini bildiradi.
Sqr funksiyasi argumentning kvadrat ildizini hisoblab chiqadi.
CStr funksiyasi raqamlar formatini qatorlarga aylantiradi.
VBA-da shakllarni yaratish va ularni loyihalarga kiritish
Ro'yxatdan o'tmasdan so'nggi filmlar, musiqa, filmlar va hokazolardan bahramand bo'ling.
Masalan, bepul yuklab oling VBA-da shakllar yaratish va ularni ro'yxatdan o'tmasdan loyihalarga kiritish
Sharhlar (0)
Vakolatlar Powers oynasida dizayn rejimida yoki dizayn rejimida dasturiy ravishda o'zgartirilishi mumkin.
Misol uchun, dasturni ochmoqchi bo'lganingizda, quyidagi buyruq yordamida forma sarlavhasini o'zgartirishingiz mumkin: frmForm1. Caption =
"Vitannya"
Windows-da kompyuter uchun dasturlar turli yo'llar bilan amalga oshiriladi.
Tugma bosilganda sichqoncha harakatlanadi, shakl o'lchami o'zgaradi va OT bildirishnoma hosil qiladi.
Xabar ma'lum bir ob'ektga, masalan, shaklga yetkaziladi va u muayyan mavzuni yaratadi.
Misol uchun, dasturni ochmoqchi bo'lganingizda, quyidagi buyruq yordamida forma sarlavhasini o'zgartirishingiz mumkin: Keyin, siz dasturning bir qismini to'plashingiz mumkin, bu holda ob'ekt qo'shiqqa qo'shiq kuylash tarzida reaksiyaga kirishadi.
Standart protsedura qanday bo'lishidan qat'iy nazar, quyidagi protsedura tavsiya etiladi.
Shakl bilan bog'liq qadamlarni ko'rish uchun dizayn rejimida uni bosishingiz kerak - dastur oynasi paydo bo'ladi, unda siz Protseduralar ro'yxatini bosasiz.
Jadvalda
Misol uchun, dasturni ochmoqchi bo'lganingizda, quyidagi buyruq yordamida forma sarlavhasini o'zgartirishingiz mumkin: 5.2 Eng tez-tez ishlatiladigan bosqichlar ko'rsatilgan.
5.2-jadval.
Shakllarning asosiy turlari
Oldinga ko'chma faollashtirilganda forma sarlavhasini o'zgartiradi va formada sichqonchaning chap tugmasi bosilgandan keyin shakl hajmini o'zgartiradi.
Shaxsiy sub UserForm_Activate()
"Shaklni bosish uning o'lchamlarini o'zgartiradi"
Standart protsedura qanday bo'lishidan qat'iy nazar, quyidagi protsedura tavsiya etiladi.
Shaxsiy sub UserForm_Click()
Standart protsedura qanday bo'lishidan qat'iy nazar, quyidagi protsedura tavsiya etiladi.
frmForm1.Width = frmForm1.Width/2
frmForm1.Height = frmForm1.Height / 2
Ushbu paneldagi qo'shimcha tugmalar yordamida siz kerakli seramika elementni shaklga joylashtirishingiz mumkin.
Buni amalga oshirish uchun siz boshqaruv elementi belgisini bosishingiz kerak, so'ngra sichqonchaning chap tugmachasini bosib, shakldagi elementning o'lchamini va joylashishini tanlang.
Agar ko'rish shaklidagi element (ob'ektning ramkasida kichik to'rtburchaklar mavjud bo'lsa), siz uning hajmini o'zgartirishingiz va uni boshqa sichqonchaning orqasiga o'tkazishingiz, shuningdek, quvvat oynasida uning kuchini ko'rishingiz va o'zgartirishingiz mumkin.
Teri elementi (ob'ekti) xususiyatlar to'plami (dizayn va dizayn rejimlarida o'zgartirilishi mumkin), yondashuvlar va usullar bilan tavsiflanadi.
Teri ob'ekti uchun loyiha uning nomini hisobga olishi kerak.
Ob'ektlarning nomlari bilan bog'liq huquqiy konventsiyalarga muvofiq, nomning dastlabki uchta belgisi element turini ko'rsatish uchun javobgardir, qolgan belgilar esa ma'noni bildiradi.
Jadvalda
5.5.
Biz tez-tez ishlatiladigan elementlar uchun dastlabki uchta belgining kombinatsiyasini taqdim etamiz.
Buyruq tugmasi eng ilg'or boshqaruv elementi bo'lib, undan boshqa amallarni hisoblashni tashkil qilish, kotibning chaqiruv tartiblari va funktsiyalari, ochiq shakllar va hokazolarni tashkil qilish mumkin.
Buyruq tugmasining asosiy vakolatlari Jadvalda keltirilgan.
5.6.
Matn qo'llab-quvvatlovchi ma'lumotlarni ko'rsatish uchun ham, matn maydoni, ro'yxat yoki boshqa element uchun maslahatlar sifatida ham yaratilgan.
Matn maydonidan asosiy farq shundaki, foydalanuvchilar matn matnini o'zgartira olmaydi (garchi dasturning kuchi o'rnatilgan bo'lsa-da, uni o'zgartirish mumkin).
Asosiy vakolatlar jadvalda keltirilgan.
5.8.
5.8-jadval.
Men hokimiyatga yozaman
Ro'yxat sizga bir nechta variantlarni aralashtirish va moslashtirish imkonini beradi.
Siz ro'yxatni ko'rib chiqishingiz va keyingi ishlov berish uchun variantlardan birini tanlashingiz mumkin.
Ro'yxat o'rniga to'g'ridan-to'g'ri tahrir qilish mumkin emas.
Ro'yxatda barcha qatorlar joylashtirilmasa, vertikal aylantirish avtomatik ravishda qo'shiladi.
Asosiy vakolatlar jadvalda keltirilgan.
5.9.
5.9-jadval.
Quvvat ro'yxati
Ro'yxat uchun eng ko'p ishlatiladigan usullar Click va DblClick (ro'yxatning bir qatorida sichqonchaning chap tugmasi bilan ikki marta bosish).
Boshqa holatda, koristuvach darhol qatorni ko'radi va uni qayta ishlashni boshlaydi.
Ro'yxat bilan ishlash AddItem usulini bajarish bilan boshlanadi, keyinchalik uni ko'p marta chaqirish mumkin.
Ko'pincha AddItem usuli UserForm_Initialize() protsedurasiga joylashtiriladi, shunda forma qo'shilganda ro'yxat to'ldiriladi.
RemoveItem usuli qatorlarni ro'yxatdan olib tashlaydi.
Clear usuli butun ro'yxatni birdaniga tozalaydi.
Eng muhimi, True qiymati qiymatining kuchi (jumper o'rnatilgan holatda), dizayn rejimida faqat bitta guruh jumperida o'rnatiladi.
G'alaba rejimida bu quvvat ko'pincha kerakli jumperni o'rnatgandan so'ng bosilgan "Click" tugmasi ostidagi protsedurada tekshiriladi, bu keyingi protsedura boshlanishidan oldin ongni tekshirishga imkon beradi.
Biroq, qo'shiqlar Click protsedurasida jumperni tanlagandan so'ng darhol o'chirilishi mumkin.
Dizayn ko'pincha remikserga o'xshaydi, lekin boshqa tomondan, alohida mustaqil element sifatida ko'rib chiqilishi mumkin.
Darhaqiqat, guruhda nisbatlar bir turdan mustaqil ravishda ishlaydi.
Leytenantlarning asosiy vakolatlari Peremikach bilan bir xil (div. 5.10-jadval).
Biroq, Qiymatning kuchi uchta qiymatga ega bo'lishi mumkin (praporshch belgilangan holatda joylashgan, olib tashlangan yoki imzolanmagan).
Proportionlar uchun eng ko'p qo'llaniladigan usul "Click" bo'lib, uning protsedurasi Qiymat qutisi uchun nisbatlarni tekshirish imkonini beradi.
Keyingi misol proportsional ishni ko'rsatadi, bu loyiha ikki proportsional (ChkBold va ChkInalic) va matn maydoni TxtExam (5.3-rasm) bilan shakl yaratganligiga o'tkaziladi.
Leytenantlarning asosiy vakolatlari Peremikach bilan bir xil (div. 5.10-jadval).
Qo'shimcha nisbatlardan keyin matn maydoniga belgilar kiritilgandan so'ng, siz matnni qalin yoki kursivga o'zgartirishingiz mumkin.
Matn maydonining FontBold va FontItalic vakolatlari matnni yozish usulini belgilaydi.
Kichik
5.3.
Leytenantlarning Vikoristannya
Shaxsiy sub Chkbold_Click()
Agar ChkBold.Value = rost bo'lsa ibtidoiy ma'lumotlar turlarining arifmetik amallarining ustuvorliklari haqida, shuningdek, qatordagi bir qator arifmetik amallarni ko'rib chiqing.
Keling, hayratda qolaylik! Buni maktab dasturlaridan bilasiz arifmetik operatsiyalarda eng yuqori ustuvorlik
ê dumaloq qo'llar "()".
99+15/5*8
Agar viraz dumaloq qo'llarda ekanligi ma'lum bo'lsa, unda birinchi odam hamma narsa uchun javobgar bo'ladi.
(90+30)/(7+5)
“+” va “-” unar amallari ustunlikka ega bo'ladi, bu bir xil qiymatdagi operatsiyani bildiradi, masalan, “-5”. Uchinchisi, qo'shish va ayirishning qolgan bosqichlari bilan ko'paytirish va bo'linish operatsiyasi. Keling, bu qanday ishlashini ko'rib chiqaylik: Bunday holda, 15 ga 5 ga bo'linadi, olib tashlangan raqam 6 ga ko'paytiriladi va uchinchi operatsiya: o'chirilgan raqamga 99 qo'shiladi. Mana oddiy ifoda: 10+5/2+1. Avval quyida bajarilgan operatsiya, keyin katlama operatsiyasi tugallanganligi tushuniladi.і Qo'llarni qanday ishlatish kerak: Bu holda biz 90 va 30 ni qo'shamiz va butun narxni 7+5 ga bo'lamiz va bu holda u 10 dan ortiq. 1C: Enterprise 8 dastur kodida mumkin bo'lgan boshqa operatsiyalarni ko'rib chiqaylik, siz buni qildingiz PHP da, juda ajoyib operator
i++; yoki boshqa.
i-;
.
Bu bir birlikning o'sishi va kamayishi.
1C da bunday operatorlar soni mumkin emas, lekin operator mumkin
i++1; j-1;.
Keling, ularning hisobotlarini ko'rib chiqaylik.
Mutlaqo oddiy operator. Konfiguratorda har qanday turdagi modulni ochishingiz mumkin: Konfiguratsiya -> Hujjatlar -> Nomenklatura, elementni tanlash uchun o'ng tugmasini bosing
Endi biz tushunamizki, tizim oddiygina ikkita arifmetik amallar birlashtirilgan operatsiyani bajaradi, masalan, ++, +-, -+, va agar biz bir qator arifmetik amallarni yozsak nima bo'ladi?
Siz buni tekshirib ko'rishingiz mumkin.
Buning uchun biz konfiguratordan 1C: Enterprise-ni sozlash rejimida ochamiz, F5 tugmasini bosing.
Keling, iboramizning oxiriga nuqta chiziq, "F9" tugmachasini qo'yib, tabloga oddiy ifodani kiritamiz.
Konfiguratorda Setup -> Scoreboard menyu bandi ochiladi.
Tabloga Viraz 3+++5 ni yozamiz.
Bunday platformani qayta yaratib bo'lmaydi.
Viraz 3++5 foydalidir, chunki uning uchta afzalligi tufayli tizim undan nimani xohlayotganini tushunmaydi.
To'g'ri.
Agar siz qo'llarni 1++(+2) qo'ysangiz, hamma narsa to'g'ri viconed bo'ladi.
Darhaqiqat, arifmetik amallar ishini to'g'ri tashkil etish uchun ularning amallarining ustuvor yo'nalishlarini diqqat bilan tushunish kerak.
Keling, kelgusi statistik ma'lumotlarni ko'rib chiqaylik.
Int va Fix funktsiyalari o'rtasidagi farq shundan iboratki, argumentning manfiy qiymati uchun Int funktsiyasi qiymatdan kichik yoki teng bo'lgan eng yaqin manfiy butun sonni, Fix esa katta yoki teng bo'lgan eng yaqin manfiy butun sonni aylantiradi. qiymat nomiga.
Masalan, Int funksiyasi -8,4 -9 ga, Fix funksiyasi esa -8,4 -8 ga aylantiradi.
Rnd funksiyasi tasodifiy sonni 1 dan kichik va 0 dan katta joylashtirish uchun Single tipidagi qiymatlarni aylantiradi. Rnd funksiyasining birinchi chaqiruvidan oldin generatorni ishga tushirish uchun argumentsiz Randomize () iborasidan foydalanishingiz kerak. .
dumba. “Raqamni top” o'yini Umova o'yini Kompyuter 0 dan 100 gacha bo'lgan diapazondagi k sonini taxmin qiladi. Keyin eng kam testlar yordamida taxmin qilingan raqamni toping.
Teri testidan so'ng, kompyuter mo'ljallangan raqam tayinlangan raqamdan kattaroq yoki kamroq ekanligi haqida xabar beradi.
Ma'lumotlar jadvali
Algoritm sxemasi. 0 dan 100 gacha bo'lgan tasodifiy k sonni hosil qilish Kirish k1 a
Interfeys
Hokimiyatning ahamiyati
Dastur kodi
Massivlar Massivlar bir xil turdagi va bir xil nomdagi ma’lumotlar elementlarini birlashtirgan o‘zgaruvchilar guruhidir.
Teri elementi ostida xotira massasi kiritiladi.
Massivning barcha elementlari bir xil turdagi.
X nomli bir o'lchovli massiv va ikki o'lchovli y massiv kar bo'ldi.
Bu haqda biz teri massasining nomidan keyin terining kamarlari haqida gapiramiz.
Xona kar bo'lsa, qo'llar orasida koma paydo bo'lishi mumkin.
Ko'krakdagi yuqori inter-indekslarni tahlil qilish keyinroq belgilanadi (bunday massivlar dinamik deb ataladi).
Bir o'lchovli massiv vektor deyiladi.
Ikki dunyo massivi matritsa deb ataladi.
Indeksning yuqori chegarasini tozalash va massivlarni xotiraga joylashtirish uchun quyidagi buyruqni joylashtiring: Redim x(10), y(4,5) Bu yerda siz massiv indeksining yuqori chegarasining qiymatlarini o'rnatasiz.
X massivi indeksi 0 dan 10 gacha bo'lgan qiymatlarni o'z ichiga olishi mumkin. X massivida 11 ta element mavjud.
Pershny venex Masiv Y, Oltingugurt Vasennya DIAPAZONI VID 0 gacha 4. Yana bir venex masow y Siz DIAPAZONI VID 0 dan 5 gacha bo'lgan klapanni shishirishingiz mumkin.
Operatorning chap tomoni dinamik massiv sifatida tayinlanganligi sababli, elementlar sonini kamaytirish shart emas.
Operatorning chap tomonidagi massivdagi elementlar soni o'zgartirish ehtiyojlariga qarab belgilanadi.
dumba. Dim a() As Integer = (1, 2, 3, 4), _ b(), i As Integer b = a For i = 0 dan 3 MsgBox(b(i)) Keyingisi Ekranda doimiy ravishda funksiya oynasi MsgBox ko'rsatiladi: 1, 2, 3, 4.
Ilova 1. Berilgan k sonning o'rtacha arifmetik qiymatini hisoblang.
Chiqish ma'lumotlari: k – butun son tipidagi o'zgaruvchi, belgilangan qiymatlar soni;
a() – Single tipidagi massiv, belgilangan qiymatlarning qiymatlari.
Natijalar: s – Yagona turdagi o'zgaruvchi, o'rtacha arifmetik qiymat.
Promizhni: Sum – Single turiga o'zgaruvchan, k massivning birinchi elementlari yig'indisining qiymati;
i butun son tipidagi o‘zgaruvchi bo‘lib, a massiv elementi indeksida baholanadi.
Algoritm sxemasi (1) (2) 1
(3) (4) (5) (6) (7) (8) 1 2 Yoq
Keling, blok-sxemani ko'rib chiqaylik va unga kiradigan asosiy tuzilmalarni ko'rib chiqaylik.
1 - 2 bloklar ketma-ket tuzilishni (quyidagi) hosil qiladi, bu struktura 1 deb ataladi. 3 - 8 bloklar tsikldan oldin joylashtiriladi.
Bu struktura 2-struktura deb ataladi.9 va 10-bloklar ketma-ket tuzilma emas, balki 3-struktura deb ham ataladi.
1-tuzilma, 2-tuzilma va 3-tuzilma, ular jami ravishda quyidagi tuzilma sifatida qaraladi.
Har qanday tuzilgan algoritmning oqim sxemasi asosiy tuzilmalarni, shu jumladan algoritmni aniq ko'rsatishi mumkin.
1 dan 5 gacha bo'lgan qatorlarda ushbu protsedura ma'lumotlar bilan ta'minlanadi.
6-qator matn maydonini tozalash bilan tugaydi.
Buning uchun Clear usuli qo'llaniladi.
Agar hech narsa qilishning iloji bo'lmasa, loyihani bir necha marta ishga tushirish paytida, birinchi ishga tushirish paytida matn maydonida ko'rsatilgan ma'lumotlar oldingi ishga tushirishlarning keyingi vaqtida ko'rsatilgan ma'lumotlarga qo'shiladi.
7-qatorda k o'zgaruvchining qiymati kiritiladi.<= k. Выполнение всех этих действий обеспечивает инструкция цикла For … Next.
Kiritilgan ma'lumotlarning to'g'riligini tekshirish tavsiya etiladi.
Aynan shu usul bilan 8-qatorda k o'zgaruvchining qiymati matn maydonida ko'rsatiladi.
9-qatorda xotira massivi ajratilgan.
10 dan 12 gacha satrlarda a massivdagi elementlarning kiritilgan qiymati ko'rsatilgan.
a(0) elementining qiymati kiritilmagan.
Ushbu elementning mavjudligi e'tiborga olinmaydi.<= x And x <= b Неправильно написать: a <= x <= b
Turg'unlik uchun joy yo'q.
Agar bitta operand (va bir vaqtning o'zida) rost bo'lishini xohlasangiz, Yoki operatsiyasi True deb baholanadi.< a Or x >Misol: Umov "x kesilmasligi kerak" quyidagilarni yozing: x<= x And x <= b)
b yoki yo'q (a
Xor (ko'proq mantiqiy qo'shish) Xor operatsiyasining natijasi jadvalda ko'rsatilgan: Xor operatsiyasi True qiymatini beradi, chunki operandlardan biri (bir vaqtning o'zida emas) True qiymatiga olib keladi.
VB.NET bir xil mantiqiy operatsiyalarga ega: AndAlso va OrElse.
AndAlso operatsiyasi And operatsiyasiga juda o'xshaydi.
Shuningdek, u ikkita mantiqiy operand uchun mantiqiy ko'paytirishni yaratadi (Mantiqiy). AndAlso va And o'rtasidagi asosiy afzallik shundaki, AndAlso operandlarni tezroq, nomuvofiq baholash imkonini beradi., Birinchi AndAlso operand False deb baholansa, boshqa operand baholanmaydi va AndAlso operatsiyasi False deb baholanadi.і Xuddi shunday, OrElse operatsiyasi Or operatsiyasiga juda o'xshaydi. Bu ikkita mantiqiy operandning eng qisqa mantiqiy qo'shilishi. .
OrElse ifodasining birinchi operandi rost bo‘lgani uchun boshqa operand baholanmaydi va OrElse operatsiyasi uchun True ga aylantiriladi. Qiymatni hisoblashda operatsiyalar tartibi ko'rsatilgan operatsiyalar belgilarini retush qilish
dumaloq ibodatxonalar
operatsiyalar uchun ustuvorlik
. |
Eng ustuvor bo'lgan operatsiyalar birinchi o'rinda turadi. |
Agar ifoda bir xil ustuvor va bir xil darajadagi bir nechta operatsiyalarni o'z ichiga olsa, ularni qayta ishlash quyidagi tartibda amalga oshiriladi: o'ngdan chapga va chapdan o'ngga. |
Belgida quyidagi operatsiyalar tartibini o'zgartirish kerak bo'lsa, dumaloq qo'llarga amal qiling, masalan (x + y) * z Ustuvorlik koma operatsiyasi |
operatsiya qarorida pastroq, pastroq. |
|
Quyidagi jadvalda C++ kino operatsiyalari pastroq ustuvorlik tartibida. ( Turli ustuvorlik va chegaralarga ega operatsiyalar. ) Operatsion ustuvorlik jadvali Operatsion belgilar |
Operatsiyaga nom bering Wiconan buyurtmasi ustuvorlik postfiks ortishi postfiksning kamayishi o'ngga yomonlik sizeof turi viraz ta turi (viraz) |
baytdagi operand hajmi prefiks ortishi |
prefiksning kamayishi asta-sekin |
operatsiya qarorida pastroq, pastroq. |
|
N E |
operatsiya qarorida pastroq, pastroq. |
|
mantiqiyroq EMAS |
operatsiya qarorida pastroq, pastroq. |
|
unary minus, plus qayta yaratish turi |
operatsiya qarorida pastroq, pastroq. |
|
operatsiya qarorida pastroq, pastroq. |
||
postfiks ortishi І |
operatsiya qarorida pastroq, pastroq. |
|
to'g'ri chapaqay |
operatsiya qarorida pastroq, pastroq. |
|
postfiks ortishi chapaqay |
operatsiya qarorida pastroq, pastroq. |
|
sizeof І |
operatsiya qarorida pastroq, pastroq. |
|
sizeof chapaqay |
operatsiya qarorida pastroq, pastroq. |
|
? : |
ko'paytirish |
baytdagi operand hajmi prefiks ortishi |
*= , /= , %= += , - = <<= , >>= &= , |= , ^= |
butunning yarmidan ortiqcha qo'shimcha |
baytdagi operand hajmi prefiks ortishi |
vidnimannya |
operatsiya qarorida pastroq, pastroq. |
chap tomonda vayron qilingan
o'ngga yiqilish kamroq yoki ko'proq qadimiy kattaroq yoki qadimgi
Kattaroq qiymat diapazoniga ega operandlardan kichikroq qiymatlar diapazoniga ega operandlarni o'zgartiradigan konversiyalar avtomatik ravishda yaratiladi, shuning uchun ularni ma'lumotni yo'qotmasdan hisoblash mumkin. Masalan, Virazida bo'lgani kabiival + fv al zminna ival turi int , va zminnaival + fv f - turi suzmoq , keyin Vikonanne ostida(+ operatsiyalar ) o'zgarish qiymativ iv - turi .
tipga keltiriladi
Axborotni yo'q qilish mumkin bo'lgan iboralar, masalan, ko'proq qisqa yoki nutq maqsadlarini tayinlashda, oldinga chaqirilishi mumkin (Ogohlantirish), aks holda ular ruxsat etiladi (bo'lim. topshiriq operatsiyasi). Har qanday virus uchun siz uning turini o'zgartirishni aniq belgilashingiz mumkin, deb nomlangan g'alabali va unary operatsiya. arvohlar (qayta yaratilgan) turi
(. Operatsiya ikki formatda yozilishi mumkin:
. turi
) viraz , keyin Vikonanne ostida(Viraz) Operand matn terish Bu qayta yaratilayotgan virus. (Ustuvorlikturdagi quyma operatsiyalari) 5; (turi) boshqa unar operatsiyalardagi kabi. ; Masalan: uzoq .
ikki barobar
(turi) f
(turi) (ikki marta) )
a/2 Agar siz qaragan narsangizga qarasangiz, siz katlanmış ko'rinishga ega bo'lishingiz mumkin, o'zgarish turi sizning qismingizda emas, balki butun ko'rinishning natijasi bo'lishiga ishonch hosil qilish uchun uni qo'llaringizga olishingiz kerak. Masalan, Agar siz qaragan narsangizga qarasangiz, siz katlanmış ko'rinishga ega bo'lishingiz mumkin, o'zgarish turi sizning qismingizda emas, balki butun ko'rinishning natijasi bo'lishiga ishonch hosil qilish uchun uni qo'llaringizga olishingiz kerak.x + b * c.