Burada, tüm aritmetik operatörler, eşleşen operatörler, mantıksal operatörler ve birleştirme operatörlerinin açıklandığı bildirilmektedir. Bu operatörler hakkında bilmeniz gerekenlerin hepsini denedim. Deri operatör maє poposu. Standart Help a VB5'ten çevirinin açıklamaları tarafımdan yapılmıştır.
Aritmetik operatörler
operatör ^ (adım bağlantısı)
Adımların adım numarası için atama operatörü.
Sözdizimi:
sonuç = numara^adımlar
parametreler:
sonuç
numara
adımlar- obov'yazkova; sayısal viraz gibi ol
Saygı duymak:
numara daha olumsuz olabilirsin, sadece o ruh halindeyken, eğer adımlar- bütün sayı. Bir şeye gelince, ^ operatörlerinin sayısı galip gelir, o zaman operatörlerin sayısı sağda hesaplanır. Sonuç türünü çağırın - Çift. Ancak, ne kadar adımlar, veya numara- Boş viraz, o zaman sonuç boş etiketleyin.
popo:
loş Değerim
Değerim = 2^2" 4. Dönüş.
Değerim = 2^3^3" dönüş
512 (2^3=8, 8^3=512)
Değerim=(-5)^3" dönüş
-125.
Lütfen:
Sonraki adımdaki numarayı aramanız gerekiyorsa, operatör sayısını kazanmak daha iyidir - çarpan, daha düşük olan - adıma giden adım, kendiniz karar verin, bir milyonun döngüsü geçerek sayımın üzerinden geçer:
test1 = 2^8" 893ms
test1 = 2*2*2*2*2*2*2*2" 130ms!
operatör * (çoğul)
İki sayıyı çarpmanın zaferi.
Sözdizimi:
sonuç = 1 numara* 2 numara
parametreler:
sonuç- ayakkabıların viskoz; sayısal bir değişiklik olmak
1 numara- Obov'yazkovo; sayısal viraz gibi ol
2 numara- Obov'yazkovo; sayısal viraz gibi ol
Saygı duymak:
Sonucun veri türü, iki sayının en doğru türü ile aynıdır. Hassasiyet sırası, en yüksekten en düşüğe - Bayt, Tamsayı, Uzun, Tek, Para Birimi, Çift, Ondalık. Gerçek, є suçluyor:
- Single ve Long'u çarparsanız, sonuç Double olur.
- ne tür bir danich sonuç- Sonucun kendisinin dönüştürülemediği Uzun Tek veya Tarih, ardından Double'nin yerini almak için sonuç Variant'a dönüştürülür.
Yakscho 1 numara veya 2 numara
Vіdmіnniy vіd çokluğu açısından doğruluk sırası sessizdir, bu da eklemelerde puanlanır ve vіdnіmannі.
popo:
loş Değerim
Değerim = 2*2” 4. Dönüş.
Değerim = 459.35 * Değerim "(!LANG:(!LANG: 495.35*4 çevirin
operatör / (podіl)
İki sayının yarısı için zafer ve sonucu bir kayan noktadan alın.
Sözdizimi:
sonuç = 1 numara / 2 numara
parametreler:
sonuç- obov'язковий; будь-яка числова змінна !}
1 numara- Obov'yazkovo; sayısal viraz gibi ol
2 numara- Obov'yazkovo; sayısal viraz gibi ol
Saygı duymak:
SonuçÇağrı Çift yazabilir. Gerçek, є suçluyor:
- Bayt, Tamsayı, Tek türünü bulabilirseniz, sonuç Tek'tir. Prote, örneğin, viraz Tek kareye sığmaz, affı vardır.
- Varyant türünü yenmek, Bayt, Tamsayı veya Tek intikam almak mümkünse, sonuç Tek Varyanttır. Ancak bu tür genişletmeler Tekli, Çiftli Varyant kapsamına girmez.
- Sayılardan biri Decimal türündeyse sonuç Decimal olur.
Yakscho 1 numara veya 2 numara- Null, basitçe orijinal 0 olarak yorumlanır.
Uygulamak:
loş Değerim
Değerim = 10/4" !} dönüş
2.5.
Değerim = 10/3" dönüş
3.333333.
operatör \ (tamsayı ile eşleşti)
İki sayının yarısını kazanmak ve tüm sonucu almak.
Sözdizimi:
sonuç = 1 numara \ 2 numara
parametreler:
sonuç- ayakkabıların viskoz; sayısal bir değişiklik olmak
1 numara- Obov'yazkovo; sayısal viraz gibi ol
2 numara- Obov'yazkovo; sayısal viraz gibi ol
Saygı duymak:
Bundan önce, böyle bir alan beklendiği için vraziler Byte, Integer veya Long vraziv'e yuvarlanır. Sonuç Bayt, Bayt değişkeni, Tamsayı, Tamsayı değişkeni, Uzun veya Uzun değişken için veri türünü belirtin. Bir parçanın oluşup oluşmadığı.
Ancak, bir Null varsa, sonuç Null olur. İster viraz olsun, intikam almak Boş 0 olarak yorumlanır.
Uygulamak:
loş Değerim
Değerim = 11\4" dönüş
2.
Değerim = 9\3" dönüş
3.
Değerim = 100\3" dönüş
33.
mod operatörü
Rozpodіlu için zafer, otrimannya fazlasının rozpodіlu ile karşı karşıya olduğu iki sayı.
Sözdizimi:
sonuç = 1 numara mod 2 numara
parametreler:
sonuç- ayakkabıların viskoz; sayısal bir değişiklik olmak
1 numara- Obov'yazkovo; sayısal viraz gibi ol
2 numara- Obov'yazkovo; sayısal viraz gibi ol
Saygı duymak:
Rozpodіlі sayılar olduğunda, iktidar noktası yuvarlanır. Örneğin, saldıran bir virazunun sonucu daha pahalıdır 5:
A=19 Mod 6.7
Burada neler oluyor? Arkada, 6.7 sayısı 7'ye yuvarlanır, sonra sıralanır, 2.7 alırız. Boşluktaki fazla = 5. (2 * 7 = 14, 19 - 14 = 5).
Sonuç, Byte, Byte varyantı, Tamsayı, Tamsayı varyantı, Uzun veya Uzun anlamına gelen Varyant türünde olabilir.
Sanki bir Null ise, sonuç Null olur. İster viraz olsun, intikam almak Boş 0 olarak yorumlanır.
Uygulamak:
loş Sonuçlarım
MyResult = 10 Mod 5" dönüş
0.
MyResult = 10 Mod 3" dönüş
1.
MyResult=12 Mod 4.3" dönüş
0.
MyResult = 12.6 Mod 5" dönüş
3.
operatör + (ilave)
İki sayı eklemek için zafer.
Sözdizimi:
sonuç = viraz1+viraz2
parametreler:
sonuç- ayakkabıların viskoz; sayısal bir değişiklik olmak
viraz1
viraz2- Obov'yazkovo; viraz ol
Saygı duymak:
+ operatörünü kazanırsanız, satır ekleyerek veya birleştirerek ne olacağını belirleyemezsiniz. Birleştirme için, karışıklığı gidermek ve kodun okunmasını kolaylaştırmak için & operatörünü kullanın.
Varyantlardan biri Varyant değilse, aşağıdaki kurallar geçerli olacaktır:
- Sayısal bir türü (Byte, Boolean, Integer, Long, Single, Double, Date, Currency veya Decimal) sıralayabiliyorsanız, onu katlamanız gerekir.
- Bir sıradaki viraziye hakaret gibi - birleştirme.
- Değişkenlerden biri sayısal türdeyse ve Null dahil bir Variant değeriyse, ek girdi gerekir.
- Değişkenlerden yalnızca biri bir satırsa ve Variant değeriyse, birleştirme gereklidir.
- Eğer virazivlerden biri Empty'nin intikamını alırsa, virazı değiştirmeden diğerine döner.
- Farklardan biri sayısal bir tür olabileceğinden ve sonraki satırda bir tür uyumsuzluğu affı var.
- Tıpkı Viraz Null gibi - Null ile aynı sonuç.
Virazi Varyantı sizi rahatsız ettiyse, aşağıdaki kurallar geçerli olacaktır:
- Yakscho virazi numaralarını rahatsız ediyor - pis koku artıyor.
- Sıranın virazisinden rahatsızsanız, koku birleşir.
- Rakamlardan sadece biri farklı ve bir sonraki satır eklenecek.
Nihai katlama için, sonuca verilen veri türü, iki sayının en doğru türü ile aynıdır. Saldırı doğruluğunun sırası Bayt, Tamsayı, Uzun, Tek, Çift, Para Birimi ve Ondalık şeklindedir. Є suçlamak:
- Single ve Long eklerseniz, sonuç Double olur.
- Tarih türüyle, başka bir şekilde iki kez eklerseniz, sonuç bir Tarih olur.
Biri veya diğeri Null virazi ise, sonuç da Null olur. Nasıl alınıp intikam alınır Boş, sonuç Tamsayı. Sadece bir tane ise, sonuç başka bir viraz tarafından değiştirilmez.
Uygulamak:
loş Numaram, Var1, Var2
Numaram = 2 + 2" dönüş
4.
Numaram = 4257.04 + 98112" dönüş
102369.04.
var1="34"
Var2 = 6 İlk değişiklikler
MyNumber = Var1 + Var2" dönüş
40.
var1="34"
Var2="6" Satırlardaki ilk değişiklikler
MyNumber = Var1 + Var2" dönüş"346"
"Birleştirme, ekleme değil!").
Lütfen:
Katlama operatörü (+) tarihleri katlamak için kullanılabilir. Tarih türünü değiştirme:
loş Tarih olarak
d = TarihSeri(2002, 8, 15) tarih başlatma 15.08.2002
d=d+15 Şimdi 30.08.2002 tarihinin intikamını almak için
Tobto 15 gün ekledik
operatör - (görünür, işaret değişikliği)
Vikoristovuetsya znahodzhennya raznitsi için iki sayıyı veya ayrıca virüsün işaretini değiştirmek için.
Sözdizimi:
sonuç = viraz1- viraz2
-Viraz
parametreler:
sonuç- ayakkabıların viskoz; sayısal bir değişiklik olmak
virüs- Obov'yazkovo; viraz ol
viraz1- Obov'yazkovo; viraz ol
viraz2- Obov'yazkovo; viraz ol
Saygı duymak:
İlk sözdiziminde, iki sayıyı ayırt etmek için "-" operatörü gereklidir. Başka bir sözdiziminde "-", y'nin işaretini değiştirmek için değiştirilir. virüs.
Sonucun veri türü, iki sayının en doğru türü ile aynıdır. Saldırı doğruluğunun sırası Bayt, Tamsayı, Uzun, Tek, Çift, Para Birimi ve Ondalık şeklindedir. Є suçlamak:
- Tek ve Uzun tipinin kaderini alırsanız, sonuç Çift olur
- Kural olarak, galip gelenler Date tipi ile galip gelir,
o zaman sonuç Tarih olur. - İki tarihe bakıldığında, sonuç olarak Double verir.
Biri veya diğeri Null virazi ise, sonuç da Null olur. İfadelerden biri Boş olsa da 0 olarak yorumlanır.
Toplama ve ikinci sırada doğruluk sırası, çoğul olarak puanlanan sessizdir.
Uygulamak:
loş Sonuçlarım
Sonuçlarım = 4 - 2" dönüş
2.
Sonuçlarım = 459,35 - 334,90" dönüş
124.45.
Lütfen:
Ek ödeme operatörü olarak, para çekme operatörü iki tarih arasında perakende (gün) hesaplaması için bloke edilebilir:
loş d1 Tarih olarak
Dim d2 Tarih Olarak
Dim farklı uzun
d1 = DateSerial(1983, 10, 14)
d2 = TarihSeri(2002, 8, 15)
razn = d2 - d1 Gün cinsinden perakende satış (6880).
operatörler
povnyannya deyakih viraziv için Vykoristovuyutsya. Mayut 3 sözdizimi:
Sözdizimi:
sonuç = viraz1 düzenleme operatörü viraz2
sonuç = nesne1 Dır-dir nesne2
sonuç = sıra Sevmek srazok
parametreler:
sonuç ayakkabıların viskoz; sayısal bir değişiklik olmak
virüs obov'yazkovo; bir ifade gibi ol
düzenleme operatörü ayakkabıların viskoz; maçın operatörü olmak
nesne ayakkabıların viskoz; im'ya ne tür bir nesne
sıra obov'yazkova; bir ifade satırı gibi ol.
srazok ayakkabıların viskoz; ister sıralı bir viraz, ister bir dizi harf ve sayı olsun
Saygı duymak:
Ardından, kuralın sonucunun atandığı (Doğru veya Yanlış) bu akla göre operatörlerin bir listesini bulmak için tablo gelir.
Şebeke |
doğru, yakscho |
yanlış, yakscho |
boş, yakscho |
< (меньше чем) | viraz1 < viraz2 |
viraz1 >= viraz2 |
tek başına |
<= (меньше или равно) | viraz1 <= viraz2 |
viraz1 > viraz2 |
|
> (daha düşük) | viraz1 > viraz2 |
viraz1 <= viraz2 |
|
>= (birden fazla) | viraz1 >= viraz2 |
viraz1 < viraz2 |
|
= (Rivno) | viraz1 = viraz2 |
viraz1 <> viraz2 |
|
<>(iyi değil) | viraz1 <> viraz2 |
viraz1 = viraz2 |
Operatörler Is ve Like belirli işlevleri seçer ve şimdi tablo üzerine gelindiği gibi hizalanır (aşağıya bakın).
Eğer iki virazi sıraya girerse, her zaman neyin sıralanacağına, sayılara mı yoksa sıralara mı karar veremezsiniz. Aşağıdakiler, Varyant türünde suçun türe göre sıralanabilmesi için sonucun nasıl hesaplanacağını gösterir:
- Sayılar sıralansa da (Byte, Boolean, Integer, Long, Single, Double, Date, Currency veya Decimal), sayılar sıralanır.
- Sanki sıranın virazisine hakaret ediyormuş gibi, sıraların dizilişi gözlemleniyor. (küçük satır ilkidir, sonraki harf daha küçük ascii kodudur).
- Ayetlerden biri sayı ise, sayı olarak yorumlanabilecek Varyant değilse, sayılar eşittir.
- Bir sayıysa ve sayı olarak yorumlanamayan bir Varyant satırı değilse, bir af (Tür uyuşmazlığı) gerekir.
- Değişkenlerden yalnızca biri bir satırdaysa ve bu, Variant (name Null) değeri olsaydı, o zaman bir satırda görünürdü.
- Türlerden biri Boş ise ve sayı ise sayılar eşit, Boş ise 0 olarak kabul edilir.
- Boş satırlardan biri ve sonraki satır, ardından satır satırları gibi, Boş satır da boş bir satır "" olarak görülür.
Variant türü virazlanacak ilk ve diğeri ise, Variant'ın intikamını almak için bu tür verilerle karşılaştırmak mümkündür:
- Yakshcho suçu Varyant virazi m_styat numaraları, vіdbuvaєtsya pіvnyannya numaraları.
- Yakshcho suçu Varyant virazi m_stya satırları, vіdbuvaєtsya vіvnyannya ryаkіv.
- Varyantlardan biri sayıyı, aksi halde sırayı ayırırsa, viraz sayısı satırdan daha azdır.
- Varyantlardan biri Boş ve başka bir sayı Boş, 0 olarak kabul edilir.
- Boş satırdaki ve sonraki satırdaki seçeneklerden biri olarak, Boş boş bir satır "" olarak görüntülenir.
- Virazi Empty'ye hakaret ediyormuş gibi, koku eşit görünüyor.
Single, Double olarak değiştirilirse Double, Single hassasiyetine yuvarlanır.
Para Birimi Tek veya Çift'e eşitse, Tek veya Çift Para Birimi'ne dönüştürülür. Yani Decimal'i Single veya Double ile eşleştirirseniz, Single veya Double Decimal'e dönüştürülür. Para Birimi için, menşanın bir parçası olsun, 0001'in altı kullanılabilir. Decimal için değer 1E-28'dir veya af uygulanabilir. Bu şekilde, bir av tüfeği parçasının kullanılmasıyla, gerçekten bir ve aynı bakmak isteseniz bile, virazi eşit olarak yorumlanabilir. (Hoch i küçük bir değerde).
Uygulamak:
loş MyResult, Var1, Var2
Sonuçlarım = (45< 35) "
dönüş YANLIŞ.
Sonuçlarım = (45 = 45)" dönüş doğru.
Sonuçlarım = (4<> 3) "
dönüş doğru.
MyResult = ("5" > "4")" dönüş doğru.
Var1="5": Var2=4 VB'de iki katına çıkabilirsiniz,
alt bölüm operatörleri için.
MyResult = (Var1 > Var2)" dönüş doğru.
Var1=5: Var2= Boş
MyResult = (Var1 > Var2)" dönüş doğru.
Var1 = 0: Var2 = Boş
MyResult = (Var1 = Var2)" dönüş doğru.
eşleşme operatörü
Bu operatör, nesnelerin hizalanması için muzafferdir.
Bu operatörün sözdizimi daha fazla belirtilmiştir.
Saygı duymak:
Nesne1 ve nesne1 aynı nesne tarafından kullanılıyorsa, sonuç Doğru, değilse Yanlış olur. Yollar ile dekilkom nesnesine iki değişiklik uygulanabilir. Saldıran popo A, B ile aynı nesneye zorlanır:
A=B olarak ayarla
A ve B değişiklikleri aynı nesneye uygulanacak şekilde saldıran popoya saldırın - C:
A = C ayarlayın
SetB=C
Uygulamak:
loş MyObject, YourObject, ThisObject, _
DiğerObject, ThatObject, MyCheck
YourObject = MyObject olarak ayarlayın nesneler üzerinde kuvvet yaratırız
ThisObject = MyObject olarak ayarla
ThatObject = OtherObject olarak ayarla
MyCheck = Nesneniz Bu Nesnedir, Doğru Olur.
MyCheck = ThatObject Bu Nesnedir, False Döner.
Varsayalım ki MyObject<>DiğerNesne
MyCheck = MyObject Is ThatObject Yanlış Dönüyor.
satır kaydırma operatörü - gibi
Satır hizalama operatörü Satır hizalama için kazançlar gibi.
Bu operatörün sözdizimi yukarıda zaten gözden geçirilmiştir.
Saygı duymak:
Bu operatör, bir Dizeyi bir Model maskesine dönüştürmek için bükülebilir. Tse daha dar bir operatördür, analog olabilir normal virüsler Perl.
Otzhe, pratsyuє tsey bu şekilde cevap veriyor. Satır maskeyle eşleşirse sonuç True olur. Yakscho nі - Yanlış. Null virüslerinden sadece biri aynı Null'un sonucudur.
Operatörün davranışı Standart sıra hizalama tipine girmeyi sever. (Seçenek Karşılaştırma ifadesi).
Binary türü (yani iki çift) ayarlanmışsa, satırlar aynı Ascii kodlarına hizalanır (farklı kodlarda fark yoktur). Ses muzaffer böyle bir dizi:
A< B < E < Z < a < b < e < z < А < К < Я < а < к < я
Metin (metin sırası) türü de yüklenir. Böyle bir dizi için, dizi önde patlar, işte büyük ve küçük harfler - eşittir:
(A=a)< (А=а) < (B=b) < (E=e) < (К=к) < (Z=z) < (Я=я)
Like operatörünün en önemli işlevi, maske satırının doğru olup olmadığının yeniden kontrol edilmesidir. Kitlede bu tür spesiyalleri kazanabilirsiniz. semboller:
Yakky okremy sembolü
* Sıfır veya daha fazla karakter
# Bir sayı olup olmadığı (0-9).
Bir çeşit okremy sembolü ol
[!charlist] Liste listesine girmeyen bir tür liste ol
Burada çok az saygı var. Direk üzerindeki sıranın geçerliliğini gözden geçirmek için, özelin intikamını almak için. semboller (tobto. ters, örneğin, chi є bir dizi sembol [,?, #,], *), onları kare yaylara koymak gerekir. Aynen öyle okrem yay [abo] koymak mümkün değil.
Bir karakter listesi belirtmek için bir tire (-) de ekleyebilirsiniz. Örneğin, sıralamayı A'dan Z'ye ayarlamak için bir maske seçmeniz gerekir. Zincirlerdeki her şey, herhangi bir bölümün (boşluk, com, vb.) İntikamından suçlu değildir, aksi takdirde koku da diziye dahil edilir.
Maskeyi tekrar kontrol ettikten sonraki önemli kurallar:
- (!) Listede yer almayan shukat sembolleri hakkında konuşulması gereken semboller listesinin koçanındaki işaret. İşaretin kendisini bilmeniz gerekiyorsa!, kemerleri [!] koymak gerekir.
- (–) bir dizi karakter tanımlamak için ilahiyi söyleyin.
- Bir dizi karakter belirtilirse, artan ASCII kodlarından VIN sorumludur. Tobto. doğru maske, ama hayır.
- Sıra boş bir satır "" olarak yorumlanır.
Uygulamak:
loş MyCheck
MyCheck = "aBBBa" "a*a" gibi "Doğruya Dön.
MyCheck = "F" Gibi "" " Doğru Olun.
MyCheck = "F" "[!A-Z]" gibi "Yanlış Çevir.
MyCheck = "a2a" "a#a" gibi "Doğruya Dön.
MyCheck = "aM5b" "a#[!c-e]" gibi "Doğruya Dön.
MyCheck = "BAT123khg" "B?T*" gibi "Doğruya Dön.
MyCheck = "CAT123khg" "B?T*" gibi "Yanlış Çevir.
myString = "312T-87GD-8922"
eğer myString "###-##-####" gibi Sonra ...
Satır birleştirme operatörleri
Aslında, Visual Basic'te satırları birleştirmek için yalnızca 2 operatörü bağlayabilirsiniz. Tse & ta +. + operatörü yukarıda açıklanmıştır. & operatöründen bahsedelim.
dizi birleştirme operatörü - &
İki virüsün birleştirilmesi için zafer.
Sözdizimi:
sonuç = viraz1 & viraz2
sonuç ayakkabıların viskoz; Dize veya Varyant Değişimi Olsun
viraz1 obov'yazkovo; viraz ol
viraz2 obov'yazkovo; viraz ol
Saygı duymak:
Viraz art arda değilse, bir String Variant'a dönüştürülür. Sonucun veri tipi sadece String'dir, eğer rahatsız edici ise String tipini kullanabilirsiniz. Aksi takdirde sonuç bir Dize Varyantıdır. Kural olarak, Virazi Null, sonuç da Null'dur. Ancak, Null değerinin intikamını almanın yollarından yalnızca biri olarak, boş bir satır "" olarak yorumlanır. Boş ayrıca boş bir satır "" olarak yorumlanır.
Uygulamak:
loş MyStr
MyStr = "Merhaba" ve "Dünya"
"
dönüş"Merhaba Dünya" satırı.
MyStr = "Yankı" & 123 & "Yankı"
"Satırı çevir" Perevіrka 123 Perevіrka ".
Mantıksal operatörler
Tse naytsіkavіsha grup operatörü. Programlandığınızda, robotun çalışmasından siz sorumlusunuz ve bu zastosuvannya'dır (ayrıca, yalnızca Visual Basic'te değil).
Visual Basic 6 adettir. Rozglyanemo deri operatörü bildirdi.
ve operatör
İki viraz üzerinde mantıksal çarpma için zafer.
Sözdizimi:
sonuç = viraz1 Ve viraz2
sonuç
viraz1 obov'yazkovo; viraz ol
viraz2 obov'yazkovo; viraz ol
Saygı duymak:
Aşağıdaki tablo And operatörünün nasıl çalıştığını gösterir:
Yakscho viraz1 = |
, A viraz 2 = |
Bu sonuç = |
Doğru | Doğru | Doğru |
Doğru | YANLIŞ | YANLIŞ |
Doğru | Boş | Boş |
YANLIŞ | Doğru | YANLIŞ |
YANLIŞ | YANLIŞ | YANLIŞ |
YANLIŞ | Boş | YANLIŞ |
Boş | Doğru | Boş |
Boş | YANLIŞ | YANLIŞ |
Boş | Boş | Boş |
And operatörü ayrıca bit sayısını kontrol etmek için de kullanılır. Bitler için, And operatörü gelen sırayla çalışır (sağdaki kötülüğe hayret edin)
0 0 0
0 1 0
1 0 0
1 1 1
Uygulamak:
loş A, B, C, D, MyCheck
MyCheck=A>B Ve B>C" dönüş doğru.
MyCheck=B>A ve B>C" dönüş YANLIŞ.
MyCheck=A>B Ve B>D" dönüş Boş.
MyCheck = A ve B" dönüş8 (bit sırası).
Poponun geri kalanı rapor tarafından incelenir. 10 sayısı saldırgan bir rütbe gibi görünüyor (zoshita gibi, yani 4 vuruş):
Ve 8 numaralı eksen şu şekildedir:
Operatörün çalışmasının bir sonucu olarak Ve yukarıdaki tablonun yardımıyla şunları alıyoruz:
Tobto. 8. Neye önem verdin? Yeniden düşünmek için soyulduk, A sayısının çeyrek bitlerinin eklemeleri nelerdir? Otrimavshi B, biz perekonalis, scho tsey biraz kurulum.
Veya operatör
Vykoristovuetsya, iki viraziv'in mantıklı bir şekilde katlanması için.
Sözdizimi:
sonuç = viraz1 Veya viraz2
sonuç ayakkabıların viskoz; Be-yaka sayısal (Boolean dahil) değişikliği
viraz1 obov'yazkovo; viraz ol
viraz2 obov'yazkovo; viraz ol
Saygı duymak:
Aşağıdaki tablo, Or operatörünün nasıl çalıştığını gösterir:
Yakscho viraz1 = |
, A viraz 2 = |
Bu sonuç = |
Doğru | Doğru | Doğru |
Doğru | YANLIŞ | Doğru |
Doğru | Boş | Doğru |
YANLIŞ | Doğru | Doğru |
YANLIŞ | YANLIŞ | YANLIŞ |
YANLIŞ | Boş | Boş |
Boş | Doğru | Doğru |
Boş | YANLIŞ | Boş |
Boş | Boş | Boş |
Veya operatörü, bir sayının ilk bitlerini ayarlamak için kazanır. Bitler için, Or operatörü saldırgan bir sırada çalışır (sağdaki hayret verici kötülük)
0 0 0
0 1 1
1 0 1
1 1 1
Sonuç görüldü kalın tip.
Uygulamak:
loş A, B, C, D, MyCheck
MyCheck=A>B Veya B>C" dönüş doğru.
MyCheck=B>A Veya B>C" dönüş doğru.
MyCheck=A>B Veya B>D" dönüş doğru.
MyCheck=B>D Veya B>A" dönüş Boş.
MyCheck = A Veya 5" dönüş
15:
Popo raporunun geri kalanına bir göz atalım. 10 sayısı saldırgan bir rütbe gibi görünüyor (zoshita gibi, yani 4 vuruş):
Ve 5 numara:
Operatörün çalışmasının bir sonucu olarak Veya belirtilen tablonun yardımıyla şunları alırız:
Tobto. 15. Bachite gibi, Or operatörünün de sadece eşitleme durumunda değil, aynı zamanda sayının ilk bitlerini ayarlamak için manuel olarak kazanması da kolaydır.
Xor operatörü
İki viraziv'in mantıksal geçişi için zafer.
Sözdizimi:
sonuç = viraz1 Xor viraz2
sonuç ayakkabıların viskoz; Be-yaka sayısal (Boolean dahil) değişikliği
viraz1 obov'yazkovo; viraz ol
viraz2 obov'yazkovo; viraz ol
Saygı duymak:
Aşağıdaki tablo, Xor operatörünün nasıl çalıştığını gösterir:
Xor operatörü, bir sayının şarkı vuruşlarını tersine çevirmek için tersine çevrilir. Savaşlar için, operatör Xor saldırgan bir rütbede çalışır (sağdaki kötülüğü hayrete düşürüyor)
0 0 0
0 1 1
1 0 1
1 1 0
Vizyonların sonucu kalın yazı tipiyle yazılmıştır. Xor içinde titrer Or, sadece tim, eğer tek bir kişi tarafından rahatsız edilirseniz Xor 0 görür. Xor operatörü yetkililerin kontrolündedir, daha sonra yogik tıkanıklık durumunda aynı sayıyı görürsünüz. Tse genellikle kriptografiyi kazanır.
Uygulamak:
loş A, B, C, D, MyCheck
A=10: B=8: C=6: D=Boş
MyCheck=A>B X veya B>C" dönüş YANLIŞ.
MyCheck=B>A X veya B>C" dönüş doğru.
MyCheck=B>A X veya C>B" dönüş YANLIŞ.
MyCheck=B>D Xveya A>B" dönüş Boş.
MyCheck=A X veya B" dönüş
2
Tsіkavim poposu operatörünün ikamesi Xor є iki sayısal değişkenin değerlerinin değişimi:
karartmak Uzun, b Kadar Uzun
bir = 4
b = 7
a = a X veya b
b = a X veya b
a = a X veya b
Şimdi, b ve navpaki değişikliğinin anlamını intikam almak için a'yı değiştirin.
operatör değil
İki ayetin mantıksal olarak tersine çevrilmesinin yaratılması için zafer.
Sözdizimi:
sonuç= değil virüs
sonuç ayakkabıların viskoz; Be-yaka sayısal (Boolean dahil) değişikliği
virüs obov'yazkovo; viraz ol
Saygı duymak:
Aşağıdaki tablo, Not operatörünün nasıl çalıştığını gösterir:
Operatör Tüm bitleri ters çevirmez virazi. Bitler için, Operatör Gelmeyen sırada çalışmıyor (sağdaki hayret verici):
0 1
1 0
Vizyonların sonucu kalın yazı tipiyle yazılmıştır.
Uygulamak:
loş A, B, C, D, MyCheck
A=10: B=8: C=6: D=Boş
MyCheck = Değil(A>B)" dönüş YANLIŞ.
MyCheck = Değil(B>A)" dönüş doğru.
MyCheck = Değil(C>D)" dönüş Boş.
MyCheck = A Yok" dönüş-11 (tüm bitler ters çevrilir)
Kalan poponun raporuna bakalım. 10 numara saldırgan bir rütbe gibi görünüyor (bir bayt gibi, yani 8 savaş):
Tüm savaşları tersine çevirdikten sonra şunları alırız:
Bir tse ben є -11.
denklem operatörü
İki virüsün mantıksal denkliğinin yaratılması için zafer.
Sözdizimi:
sonuç = viraz1 eşdeğer viraz2
sonuç ayakkabıların viskoz; Be-yaka sayısal (Boolean dahil) değişikliği
viraz1 obov'yazkovo; viraz ol
viraz2 obov'yazkovo; viraz ol
Saygı duymak:
Aşağıdaki tablo, Eqv operatörünün nasıl çalıştığını gösterir:
Bitler için, Eqv operatörü saldırgan bir düzende çalışır (sağdaki kötülüğü hayrete düşüren)
0 0 1
0 1 0
1 0 0
1 1 1
Uygulamak:
loş A, B, C, D, MyCheck
A=10: B=8: C=6: D=Boş
MyCheck=A>B Eqv B>C" dönüş doğru.
MyCheck=B>A Eqv B>C" dönüş YANLIŞ.
MyCheck=A>B Eqv B>D" dönüş Boş.
MyCheck = A Equv B " dönüş
-3
imp operatörü
İki ayetin mantıksal bir imasının yaratılması için zafer.
Sözdizimi:
sonuç = viraz1 imp viraz2
sonuç ayakkabıların viskoz; Be-yaka sayısal (Boolean dahil) değişikliği
viraz1 obov'yazkovo; viraz ol
viraz2 obov'yazkovo; viraz ol
Saygı duymak:
Aşağıdaki tablo, Imp operatörünün nasıl çalıştığını gösterir:
Yakscho viraz1 = |
, A viraz 2 = |
Bu sonuç = |
Doğru | Doğru | Doğru |
Doğru | YANLIŞ | YANLIŞ |
Doğru | Boş | Boş |
YANLIŞ | Doğru | Doğru |
YANLIŞ | YANLIŞ | Doğru |
YANLIŞ | Boş | Doğru |
Boş | Doğru | Doğru |
Boş | YANLIŞ | Boş |
Boş | Boş | Boş |
Savaşlar için İmp operatörü bir saldırı rütbesinde çalışır (sağdaki harika)
0 0 1
0 1 1
1 0 0
1 1 1
Uygulamak:
loş A, B, C, D, MyCheck
A=10: B=8: C=6: D=Boş
MyCheck=A>B İmp B>C" dönüş doğru.
MyCheck=A>B İmp C>B" dönüş YANLIŞ.
MyCheck=B>A İmp C>B" dönüş doğru.
MyCheck=B>A İmp C>D" dönüş doğru.
MyCheck=C>D İmp B>A" dönüş Boş.
MyCheck=B İmp A" -1 dönüş
VBA Operatörleri: Aritmetik, Mantık, Eşleştirme, Atama
Operatör - tse namemensha zdatna vykonuvatsya bir VBA koduna. Operatör değişikliği deşifre edebilir, VBA derleyici seçeneğini ayarlayabilir veya programı devre dışı bırakabilir.
VBA'da toplam 7 aritmetik işleç vardır. Aşağıdakiler standarttır: ekle (+), ekle (-), çarp (*), alt (/) ve üç tane daha:
- · Adımlara (^), örneğin 2 ^ 3 = 8;
- · Cіlіsny podіl (). podіlyaє diğerinde ilk sayı, vіdkidayuchi (yuvarlama değil) kısmı vurdu. Örneğin, 52 = 2;
- Modülün arkasında Podіl (Mod). Podіlyaє diğerinin ilk numarası, fazlalığı rozpodіlu'ya çeviriyor. Örneğin, Mod 5 = 1.
VBA'daki atama operatörü eşittir işaretidir. Şu şekilde yazabilirsiniz:
ve belki daha da basit:
Bir diğeri için, eşitlik işaretini eşitlik operatörüyle karıştırmayın.
viraz
"nVar değerini 10 olarak ayarla" anlamına gelir ve satır şöyle görünür:
o zaman tse "nVar değişikliğinin değeri 10'a eşit olduğu için" anlamına gelir.
Bir değişiklik olarak, nesneyi tanımak, diğer yöntemlerle mücadele etmek gerekir.
VBA'da toplam 8 dizi operatörü vardır:
- Özkaynak (=), örneğin, If (nVar = 10);
- daha fazla, daha düşük ve daha az, daha düşük (> i
- Birden fazla veya daha az birden az (>= і
- sağlıklı değil (
- · Por_vnyannya nesneleri (Is). Nesnelerin aynı nesne veya farklılık üzerinde değiştirildiğini gösterir, örneğin, If(obj1 is obj2);
- Beğen (Beğen). Por_vnyuє ryadkovyj ob'єkt vyznaє, chi şablona uygun şablondur.
Tutarlılık operatörleri her zaman doğru veya yanlış olur - doğru olan doğru ve yanlış olan yanlıştır.
Eşleşen dize değerleri için Troch'lar:
- · Satır değerlerinin eşit olması durumunda kayıt ters çevrilir;
- · Probіli değer satırları da sigortalıdır;
- · metin satırları daha fazla/daha küçük olanlarla değiştirildiğinde, sadece iki sembol kodunun yerini kısaltmalar alır - ister büyük ister küçük olsun. Alfabedeki sırayı tersine çevirmeniz gerekiyorsa, Option Compare Text komutu ile hızlandırabilirsiniz.
Beğen operatörü hakkında rapor verin. Gösterişli sözdizimi benziyor
Viraz1 Viraz2 gibi
Viraz1'in bir VBA metinsel Viraz olduğu ve Viraz2'nin Like operatörüne iletilen bir şablon olduğu durumlarda. Bu şablon için özel ikame sembolleri eklenebilir (böl. Tablo 1)
Sekme. LIKE operatörü için 1 joker karakter
Daha sık olarak, birçok zihnin yeniden doğrulanması saatinde, mantıksal operatörler galip gelir:
- · VE - mantıksal I, suçlu ama gerçek suçlar;
- · VEYA - mantıklı ASG, tek bir zihin istiyorsanız doğru olabilir;
- · DEĞİL - mantıksal olarak kopyalanır, bu da zihnin hibnası gibi DOĞRU olur;
- · XOR - mantıksal suçlama. E1 XOR E2 durumunda, DOĞRU'yu çevirin, ya E1 = DOĞRU veya E2 = DOĞRU, aksi takdirde YANLIŞ;
- · EQV - aynı değere sahip olabildikleri için DOĞRU olan iki virüsün denkliği;
- · IMP - ima, YANLIŞ, ayrıca E1 = DOĞRU ve E2 = YANLIŞ, aksi takdirde - DOĞRU'ya çevirin.
AND, OR, NOT, diğer mantıksal operatörlerin nadiren durduğunu unutmayın.
VBA programları birleştirme operatörlerini kullanabilir. VBA'da iki - + veya & vardır. Muzaffer başlamanız tavsiye edilir &, bunun için:
- · vikoristanny & satırdaki sayısal değerlerin otomatik dönüşümünü gerçekleştirdiğinde - affa gerek yoktur;
- · Alternatif operatör + Null türündeki değerlere bir satır değeri eklediğinde Null verilir. popo:
MsgBox "Mesaj uyarısı" & vUserName
İstifleme operatörlerinin sırası, yuvarlak kollar yardımıyla ayarlanabilir.
3 . Değişiklikler ve veri türleri
VBA değişikliği, değişiklik değişikliği seslendirme, Seçenek Açık, adlandırma kuralları, VBA veri türleri, değişiklik değişiklik değerleri
Değişiklikler - değiştirilen verileri toplamak için kaplar. Pratik bir program onlarsız vazgeçilmezdir. Basit olması için vestiyerdeki numarayı değiştirebilirsiniz - "dolap" a bazı veriler koyarsınız, numarayı görürsünüz. Yeni bir veri sayısına ihtiyacınız varsa, "bir numara verdiniz" ve geri aldınız. VBA değişikliklerine sahip robotik bir popo şöyle görünebilir:
loş Tamsayı olarak nMyAge
nMyAge = nMyAge + 10
nMyAge'i Tamsayı Olarak Karartın
Satır nasıl deşifre edilir:
Dim - değişikliğin tüm görünürlük alanı. VBA, değişikliğin kapsamını tanımlamak için 4 anahtar kelimeyi geçti:
- · Dim - daha fazla vipadkіv'de vikoristovuєtsya. Modül bildirim alanında Dim gibi değiştirirseniz, tüm modül için kullanılabilir, ancak prosedürde - robotik prosedürün sadece bir saati için;
- · Özel - VBA'da sesli değişiklikler olması durumunda, Dim ile aynı anlama gelir;
- · Genel - bu değişiklik, modülün genel alanında bildirdiğiniz gibi, bu projenin tüm modüllerindeki tüm prosedürler için geçerli olacaktır. İşlemin ortasında її oyu verdiyseniz, Dim/Private gibi davranacaktır;
- · Statik - bu tür değişiklikler yalnızca işlemin ortasında yapılabilir. Değişikliklerin sayısı sadece prosedürün ortasında, sessizlerin kokusunda, prosedürün farklı döngüleri arasındaki değerini prote znachiyut'ta görülür. Herhangi bir değerin birikimi için ses vikoristovuyutsya. Örneğin:
Statik nVar1 Tamsayı Olarak
nVar1= nVar1 + 1
Özel canlılar olmadığından, Dim algılama kapsamını seçmek gerekir.
Sessiz (nMyAge) için başka bir kelime, tanımlayıcı (daha basit kazhuchi, im'ya) değişikliğidir. VBA'da ad seçme kuralları birçok öğe için aynıdır (değişiklikler, sabitler, işlevler ve prosedürler, vb.). İsim:
- · Suçlu pochanatis z harfleri;
- · Noktalama işaretlerinin boşluklarının ve sembollerinin intikamını almak suç değildir (vinyatok - güvence sembolü);
- · maksimum uzunluk - 255 sembol;
- · Mevcut görüş alanında benzersiz suçlu buti (rapor - uzak);
- · ayrılmış kelimeler (editörün kod editöründe farklı bir renkle gösterilen şeyler) seçilemez.
VBA programları oluştururken, adlandırma uğruna nesnelere hangi adların atanacağı kurallarına uyulması önerilir. Çoğu zaman, Çirkin iyilik şöyle adlandırılır (Microsoft programcılarından biri olan Ugrian, Ugrian for Nationality'den Charles Simonyi'nin onuruna):
- · Іm'ya zmіnnoї küçük harflerle yazılmış bir önekle başlayabilir. Ön ek, değişikliğinizden ne alınması gerektiğini gösterir:
- o str (veya s) - Dize, karakter değeri;
- o fn (veya f) - işlev;
- o c (veya tüm harfleri büyük yap) - bir sabit;
- o b - Boolean, mantıksal değer (doğru veya yanlış);
- o d - tarih;
- o nesne (veya o) - nesneye gönderme;
- o n - sayısal değer.
- · Depo sözcüğündeki işlevlerin, yöntemlerin ve dış görünümün adları büyük harften türetilebilir:
Mesaj Kutusu objDocument.Name
Alt CheckDateSub()
· içinde erken sürümler VB'de Const kelimesi yoktu - tüm sabitler değişiklik olarak atandı ve vіdmіnu їх üzerine büyük harflerle, son eki koydukları kelimelerin arasına yazılmışlardı: COMPANY_NAME
Pek çok programcı, sabitleri ve bir seferde tanımlamak için böyle bir kılavuz kullanır (Const anahtar sözcüğünün seçimi artık genel olsa da - rahatsız edici bölümde gösterilecektir).
İftiramızın üçüncü kısmı - As Integer - yılanımızın veri türünün bir göstergesidir. Veri türü belirlenir, gördüğünüz gibi değişikliğimizde kaydetmek mümkün olacaktır.
VBA aşağıdaki veri türlerine sahiptir:
Sayılar (bayt - 0'dan 255'e kadar tam sayı, tamsayı - -32768'den 32767'ye tam sayı, uzun - büyük sayı, para birimi (19 pozisyonlu büyük onuncu sayı, Komi'den sonraki 4 pozisyon dahil), ondalık (29'lu onuncu sayı pozisyonlar), tek ve çift - kayan bir kütük ile değer (iki kat daha fazla));
Saygı duymak! Değişikliği Decimal türüyle seslendirmeye çalışmak (örneğin, Dim n As Decimal) sözdizimsel bir af ile sonuçlandı. Decimal türüyle pratik yapma yeteneğinden yararlanmak için, ilk sesi Varyant olarak değiştirmeniz gerekir veya bunun yerine türü olmayan bir ses (Dim n) olarak Varyant veri türünün parçaları VBA tarafından kazanılır. promosyonlar için.
- · satırlar (dize değişken uzunluk (yaklaşık 2 milyar karaktere kadar) ve sabit uzunluk (yaklaşık 65400 karaktere kadar);
- · Tarih ve saat (tarih - 01.01.100 ile 12.31.9999 arası);
- mantıksal (boolean - yalnızca True ve False değerlerini kaydedebilirsiniz);
- · Nesne (nesne - bellekte bir nesne olup olmadığı konusundaki çabadan tasarruf edin);
- · Varyant - diğer veri türleri olsun ya da olmasın kaydedebileceğiniz özel bir veri türü.
Veri türlerini kazanmak mümkündür, ancak bunları Type yardımı için başın arkasına atamak gerekir. Coristuvach (klasik popo - posta endeksi) tarafından tanıtılacak değerin ek bir yeniden doğrulanması olarak muzaffer veri türlerini seslendirin.
Değişiklik için veri türlerinin seçimiyle ilişkili gerçek anlar:
- · sıcak ilke-- Seçilen değeri tutabilecek en küçük veri türünü seçin. Yakshcho є yakіs sumnіvi - daha büyük bir haraç türü seçin, böylece aflar kaybolur;
- · Örneğin, değişken bir koma (tekli ve çift) olan veri türlerini kazanmamak daha iyidir. p align="justify"> Bu tür verilerle çalışma daha sık yapılmalıdır, ayrıca yuvarlaklık için eşitleme ile ilgili sorunlar olabilir;
- · Mümkün olsa da, Varyant türüyle hızlanmamak daha iyidir. Bu tür hala diğer türlerden birinin VBA'sı tarafından indüklenir, ancak daha fazla belleğe ihtiyacı vardır. Ek olarak, böyle örtük bir aydınlanma saatinde, aflar suçlanabilir;
- · Değişiklik belirtilirse, türe atanan karakterin adını (% - tamsayı, $ - String, vb.) seçmek mümkündür. Örneğin, popomuzda Dim nVar 1 As Integer satırını yorumlamak ve diğer satıra şunu yazmak gerekir:
nVar1% = nVar1% + 1
Böyle bir pidkhid sonuna kadar tavsiye edilmez.
Değişiklikler seslendirildiğinde, її türünü belirtmemek mümkündür. Örneğin, seslendirmemiz şöyle görünebilir: Dim nVar1
Herhangi bir değişiklik için, değişiklik Variant ile otomatik olarak seslendirilecektir.
Prensip olarak, VBA değişiklik bildirilmeden uygulanabilir. Örneğin, bu kod
nVar1= nVar1 + 1
bol bol pratik yapın. Programı її seslendirmeden muzaffer bir şekilde değiştirir değiştirmez, otomatik olarak yeni bir tane oluşturulacaktır. türü değiştir Varyant. Dilin değişimini sağır edin! І gerekli veri tipini kiminle söylemenin gerekli olduğu. Niye ya:
- · af sayısı kısa ömürlüdür: koçan üzerindeki program, yanlış türün değerini değiştirmek için alınmalıdır (örneğin, sayısal bir satırın değiştirilmesi);
- · Nesnelerle çalışırken, özellikler için ipuçları ve başka yollarla, nesnenin gerekli tiple değiştirilmesini dile getirdiysek. Örneğin, Excel'de iki kod seçeneği aynı şekilde çalışır:
ilk seçenek:
loş oWbk Çalışma Kitabı Olarak
oWbk = Workbooks.Add() olarak ayarlayın
diğer seçenek:
oWbk = Workbooks.Add() olarak ayarlayın
Ale, oWbk nesnesinin yöntemlerinin başka bir kişiye göre daha uygulanabilir olduğunu iktidara ima eder.
Bilinen tüm perakendeciler, değişimin zaferlerini bariz bir iftira olmadan çitle çevirmeye başladı. Kimin için hızlandırabilirsin özel ekip Derleyici (yalnızca modül seslendirme dağıtımında mevcuttur) Seçenek Explicit
ve düzenleyici penceresinde (menü Araçlar -> Seçenekler, Düzenleyici sekmesi) Değişken Bildirimleri Gerektir bayrağını ayarlayarak, otomatik olarak kapatıldıklarında tüm modüller için aynı komutu ekleyebilirsiniz.
Illustrate, şimdi basit bir örnek üzerinde kokuyu akıtabilirsiniz:
Görünüşte, kod günlük problemler için suçlanmaz ve sadece birer birer gösterir. Gerçekten, bir süredir boş görüyorum. Nedeni daha kolay gizlenir: üçüncü sırada n - İngilizce N harfi değil, Rusça P harfi. Editörün gözünde, onları güçlendirme kodu daha da katlanabilir. Aynı zamanda, böyle bir kodu oluşturan VBA derleyicisi, Variant veri türü ile boş bir değere sahip olacak yeni bir değişiklik yaratır. Böyle bir affın tezahürü için şarkı dolu bir saat gerekebilir.
İyi bir kural, kokunun gerekli olup olmadığı değil, değişikliği daha sonraki bir tarihte sağır etmektir. Tse, daha okunabilir ve net bir şekilde planlanmış bir program oluşturmanıza olanak tanır.
Değişimin sesini bir satırda seslendirebilirsiniz, örneğin:
Dim n1 As Integer, s1 As String
Değişikliğe bir değer atamak şöyle görünür:
Değişikliğin temel değerini artırmak gerekirse, komut şöyle görünebilir:
nVar1 = nVar1 + 1
Her iki uçta da denklik işareti "eşit" değil, atamak anlamına gelir.
Sonraki hafıza adımını değiştirmek için bir değer atarken:
· Dize değerleri her zaman patinin dibinde bulunur:
sVar1 = "Merhaba";
"ızgaralarda" tarih/saat değerleri kullanılır - pound sembolleri:
dVar1 = #05/06/2004#
Saygılarımla, böyle bir "açık şekilde" bir tarih/saat değeri atarken, standartın ABD'de benimsenmesini kazanırız: bu durumda 05 - ay, 06 - gün. Bu değerin Vіdobrazhennya'sı (örneğin, vіknі povіdomlennya'da) koristuvach bilgisayarındaki bölgesel ayarlara yatırılacaktır.
On altıncı bir değer iletmek istiyorsanız, önüne &H ile gelin:
Şimdiki değişikliklerde neyin intikamı alınmalı?
- · Değişen tüm sayısal veri türleri 0'a sahip.
- · Değiştirme sıralarında - "" (sıfır yıl dizisi).
- · Sabit karakterli satırlar için - ASCII 0 karakterli bir dizi karakter (karakterler ekranda görüntülenmez).
- · Varyant boş değerlere sahip.
- · Nesnede - hiçbir şey (aynı nesneye gönderme yoktur).
Kısa teorik ifadeler
1. VBA film programlamanın sözdizimi ve semantiği
Bir film programının sözdizimi, uygun şekilde yapılandırılmış bir program (belge) tarafından bir parça olarak saygı duyulan alfabedeki sembol kombinasyonlarını tanımlayan bir kurallar dizisidir.
Hareketin ana sözdizimsel ilkeleri şunlardır:
- VBA büyük/küçük harfe duyarsızdır;
- kodu satırın sonuna kadar yorumlamak için tek bir ayak (") seçilir veya REM komutu;
- ayağın dibindeki direğin hatasının sembolik anlamı (");
- VBA'daki herhangi bir adın maksimum uzunluğu (değişiklikler, sabitler, prosedürler) – 255 karakter;
- yeni bir operatörün başlangıcı - yeni bir satıra aktarılır (C, Java, JavaScript'te olduğu gibi muzaffer olmadığı virgüllü bir nokta);
- döşemek maksimum dozhina satır yok (düzenleyicide arka arkaya yalnızca 308 karakter olmasını istiyorum). Bir sıradaki bir grup operatör iki bölüme ayrılmıştır:
MsgBox "1'i Değiştir" : MsgBox "Kontrol 2" - okuma kolaylığı için, bir sonraki onay işaretinin ek bir sorunu için fiziksel satırların serpiştirilmesini mantıklı bir satırda birleştirebilirsiniz:
MsgBox "Koristuvach bildirimi" _
&vKullanıcıAdı
Filmin semantiği, kelimelerin anlamının anlamıdır. Programlamada - operatörlerin anlamının değeri, mov'un ana yapıları çok küçüktür.
Şebeke- tse naimenscha zdatna vykonuvatsya bir VBA koduna. Operatör değişikliği deşifre edebilir, VBA derleyici seçeneğini ayarlayabilir veya programı devre dışı bırakabilir.
aritmetik VBA'da toplam 7 operatör bulunmaktadır.
Chotiri standardı: ekleme (+), vіdnіmannya (-), çoğul (*), subdil (/) ve üç tane daha:
- ayaklardaki bağlantılar (^). Örneğin, 2^3 = 8;
- tsilisny podіl (\). podіlyaє diğerinde ilk sayı, vіdkidayuchi (yuvarlama değil) kısmı vurdu. Örneğin, 52 = 2;
- modülün arkasında rozpodіl (Mod). Podіlyaє diğerinin ilk numarası, fazlalığı rozpodіlu'ya çeviriyor. Örneğin, Mod 5 = 1.
VBA'daki atama operatörü eşittir işaretidir. Şu şekilde yazabilirsiniz:
nVar = 10 olsun
ve belki daha da basit:
nvar = 10
Eşittir işaretini eşittir operatörüyle karıştırmayın. Zamanın geri kalanı "değişen nVar değerini 10'a ata" anlamına gelir ve hala şöyle görünür: Eğer (nVar = 10), o zaman "değişen nVar'ın değerini 10'a değiştirmek" anlamına gelir.
operatörler VBA'da toplam 8 vardır:
- kıskançlık (=). Örneğin, If (nVar = 10);
- daha fazla, daha düşük (>) ve daha az, daha düşük (10);
- az veya çok pahalı (>=) ve daha az veya daha az (= 10);
- sağlıklı değil (). Örneğin, If(nVar10);
- nesnelerin sırası (Is). Değişim nesnelerinin aynı nesneye mi yoksa farka mı uygulanacağına bağlıdır. Örneğin, If (obj1, obj2'dir);
- benzerlik (beğenmek). Por_vnyuє ryadkovyj ob'єkt vyznaє, chi şablona uygun şablondur.
Operatörler dönüyor Doğru(ki bu doğrudur) aksi halde YANLIŞ(Yakscho Hibne'yi sertleştirir).
Daha da sıklıkla, birçok zihnin yeniden doğrulanma saati muzafferdir. mantıksal operatörler:
- Ve - daha mantıklı I. gerçek suçlardan suçlu;
- Veya - daha mantıklı ABO. Tek bir zihin istiyorsanız doğru olabilir;
- Değil - mantıksal olarak üstü çizili. Umov'un affı gibi Doğruya Dön;
- Xor mantıklı bir suçlama. E1 X veya E2 durumunda Doğru'ya dönün, bu nedenle E1 = Doğru veya E2 = Doğru, aksi takdirde - Yanlış;
- Eqv - aynı değere sahip olabildikleri için True olan iki virüsün denkliği;
- Imp - ima, E1 Imp E2 Yanlış'a döner, bu nedenle E1 = Doğru ve E2 = Yanlış, aksi halde - Doğru.
hakkında anma Ve, Veya, Değil, Diğer mantıksal operatörler nadiren kazanır.
Değişiklikler- değiştirilen verileri kaydetmek için kaplar. Pratik bir program onlarsız vazgeçilmezdir. Basit olması için vestiyerdeki numarayı değiştirebilirsiniz - vestiyerde bazı veriler koyarsınız, koğuşta numarayı görürsünüz. Yeni bir veri sayısına ihtiyacınız varsa, "bir numara verdiniz" ve geri aldınız.
Cilt değişikliği olabilir. Zvernennya, im'ya üzerinde zminnoy vіdbuvaєtsya'ya. VBA'da ad seçme kuralları birçok öğe için aynıdır (değişiklikler, sabitler, işlevler, prosedürler, vb.):
- Harflerden başlayabilirim;
- noktalama işaretlerinin boşluklarının ve sembollerinin intikamını almak suç değildir (vinyatok - bir güvence sembolü);
- maksimum uzunluk - 255 karakter;
- mevcut kapsamda benzersiz olabilir
- ayrılmış sözcükler (kod düzenleyicinin penceresinde maviyle vurgulananlar) seçilemez.
VBA programları oluştururken, adlandırma uğruna, nesnelerin adlarının uygulandığı kurallara uyulması önerilir. Çoğu zaman, Çirkin iyilik şöyle adlandırılır (Microsoft programcılarından biri olan Ugrian, Ugrian for Nationality'den Charles Simonyi'nin onuruna):
- Im'ya değişikliği küçük harflerle yazılmış bir ön ekten başlayabilir. Ön ek, değişikliğinizden ne alınması gerektiğini gösterir:
str (veya s) – Dize, karakter değeri;
fn (veya f) – işlev;
alt prosedür;
c (veya ismin tüm harfleri harika) - devamlı(değişiklik uğruna, VBA programının bir sonraki saati için değiştirilmeyen veri kaydetme kabı);
b - Boolean, mantıksal değer (Doğru veya Yanlış);
d – tarih;
obj (veya o) – nesneye gönderme;
n - sayısal değer; - Depo sözcüğündeki işlevlerin, yöntemlerin ve dış görünümün adları büyük harften türetilebilir:
MsgBox objMyDocument.Name
Alt CheckDateSub()
veri tipi bir programlama dili olup olmadığına dair temel anlayışa getirmek. Veri türü, bir değer (değişen veya sabit) gibi kişisel olmayan kabul edilebilir değerleri tanımlar, bu kişisel olmayan diy, bir değerle simgelemek mümkündür.
2. Temel VBA Veri Türleri
VBA aşağıdaki veri türlerine sahiptir:
- sayılar:
bayt- 0'dan 255'e kadar tam sayı, tasarruf için gerekli 1 bayt hafıza;
tamsayı- girişlerin tam sayısı -32 768 ila 32 767, 2 bayt ;
Uzun- çok sayıda giriş -2 147 483 648 ila 2 147 483 647, 4 bayt ;
Para birimi(kuruş) - Komi'den sonra 4 pozisyon da dahil olmak üzere 19 pozisyonlu büyük onuncu sayı
(Video -922337203685477.5808 - 922337203685477.5807), 4 bayt,
sberigannya sayıları için vikoristovuetsya, eğer doğruluk daha da önemliyse, kuruş birimlerini hesaplarken ne olur;
Ondalık- 29 pozisyonlu daha da fazla onuncu sayı (0'dan 28 pozisyona kadar kazanabilirseniz), 8 bayt;
Bekarі Çift- kayan virgül ile değer ( 4 ve 8 bayt)
(negatif değerler için -3.402823 10 38 ila -1.401298 10 -45 arasında
Single için pozitif değerler için 1.401298 10 -45 ila 3.402823 10 38 arasında ve
negatif değerler için -1.79769313486232 10 308 - -4.94065645841247 10 -324 içinde
Double için pozitif değerler için); - sıra ( Sicim sabit nokta (yaklaşık 2 milyar karaktere kadar) ve sabit nokta (yaklaşık 65.400 karaktere kadar);
- tarih ve saat ( Tarih- 01.01.100'den 31.12.9999'a kadar), 8 bayt;
- mantıklı ( Boole- sadece True ve False değerlerini kaydedebilirsiniz), 2 bayt;
- nesne ( Nesne- zberіgaє possilannya bellekteki herhangi bir nesne olabilir);
- varyant- veri türü olsun, kaydedebileceğiniz özel bir veri türü, 16 bayt +1
- matematiksel, sayılar üzerinde çağrışım, їх sonuç є sayılar;
- sadece bir sayıya kadar zastosovuvatisya olabilen işlem, sonuçları mantıksal bir tür değeridir;
- mantıksal, mantıklı ayetlerde vikoristovuyutsya ve bunların sonucu mantıksal anlamdır.
3. İşlem öncelikleri
Öncelik | Operasyon |
1 2 3 4 5 6 7 8 9 10 11 12 |
Wiklik fonksiyonları ve pranga ^ - (İşaret değişikliği) *, / \ mod +, – >, <, >=, <=, <>, = Değil Ve Veya Xor |
4. Matematiksel fonksiyonlar
İşlev | Dönüşen önem |
karın kasları (<число>) | Bir sayının modülü (mutlak değer) |
atn(<число>) | arktanjant |
çünkü(<число>) | Kosinüs |
tecrübe(<число>) | Adımların göstergelerinin doğal logaritmasının tabanının birleşiminin sonucu olan üs |
Kayıt(<число>) | doğal logaritma |
Rnd(<число>) | Aralıklı Vipadkove numarası Galmuy |