Visual Basic nulla

Változókat. Option Explicit nyilatkozata.

Minden, ideje, hogy beszéljünk változókat. Nem fogom túlterhelni Önnek információkat, de legalább meg kell tudni.

Nagyon kívánatos. A program kezdődött Option Explicit nyilatkozat az Általános szakaszban. Ez az utasítás arra kényszeríti a programozó, hogy kifejezetten kijelentik változókat. Ennek hiányában, minden szó, amely nem mond ellent a szintaxis VB, változó lehet.
Mi történik, ha nem használja az utasítás Option Explicit? És az a tény, hogy általában nem nyilvánítja változókat. Ez nagyszerű! És itt-ott! És miért nem, kitűnik a következő:

Ennek hiányában Option Explicit, ha szükségünk van egy új változó, egyszerűen írja be a programkód, például

és ops, Visual Basic már figyelmeztető előzetesen lefoglalt memória változó, és fenntartva a teljes program - amennyire csak lehetséges. A tény az, hogy ha kifejezetten meghatározza, hogy milyen típusú peremennnoy, VB úgy véli, változó típusú Variant, mivel ez a változó tartalmazhat szinte minden adat: az egész és töredékes, és string. De a memória és a változó használ sok. Ha kifejezetten, hogy egy változót és határozza meg a típusát a szükségleteink szerint, az ésszerű memória - az arcon.
Ha nem győzte ezt az érvelést, akkor olyan helyzet, ahol a készüléket használja újra változó például megváltoztatja az értékét. És mindeközben egy elírás (tipográfiai hibákat, és egy csomó), akkor át a levél h:

A Visual Basic ebben nincs hiba. Gyorsan összeállítani Memóriát egy új változó NewCislo, például a típusa Variant, és ez nem jelent problémát. Probléma van. És kritikus. Először is, van felesleges NewCislo változó értéke 1, a melyeket nem tudsz róla. Másodszor, ha arra számítanak, hogy az értékét a változó kezdeti NewChislo nőtt 1 és 8 volt, akkor hiába. De azt feltételezni, hogy az eredménye a program ad kiszámíthatatlan eredményeket lehet biztonságosan.

Más a helyzet, ha olyan nyilatkozatot Option Explicit. Ebben az esetben, ha a program futtatásához, Visual Basic azonnal talál egy új bejelentés nélküli változó, és megáll a program végrehajtását a vonalon a hibát.

Bármely szó, kivéve fenntartott VB, akkor lehet, hogy a változó nevét. De a nevét kell kezdődnie betűvel. Például Peremenaia, IMA1, X, LastNumber, Z001. Nem szükséges, hogy a matematikai operátorok a neveket. És akkor nem nyilvánítja két változó azonos nevű. Elvileg a kód olvashatóságát és szilárdságát, vannak bizonyos szabályok ajánlott (valami hasonló szabványok) írásban változó nevét. De mivel ezeknek a használata szabályok - tisztán személyes ügy, nem fogok ragaszkodni. Ha a vadászat, nézd az interneten semmit magyar megállapodás, a magyar jelölést vagy megállapodás Reddick.

Tehát, ha nyilvánvaló a hirdetések változó nagyon kívánatos, hogy egyértelműen meg kell határozni a típus. A rendkívül ritka esetekben, amikor a tárolt adatok típusa a változó előre nem ismert, hogy használják egy időben Variant típusú. A Visual Basic, a leggyakrabban használt a következő típusú adatokat (és ezért a változók):

Hosszú hosszú egész szám -2147483648 a 2147483647

Integer „egész szám -32.768-32.767

String „karaktersorozatot

Logikai „logikai kap két érték vagy az»igazi«(igaz) vagy»false«(hamis)

Amíg van elég ebből. Ha érdekel, a lista adattípusok által támogatott VB, itt megtekinthető.

Dim MyStream As String
Dim K14 As Long
Dim Flag néven logikai
Dim Numder As Integer

Private Sub Form_Load ()
Dim flag2 Ahogy logikai
Dim m99little As String
End Sub

Timer. „Egy óra” program.

Most vennie az új létesítmény - időzítő (timer). A bal oldalon, ahol a komponensek a forma, de olyan eszközök is, elemek, festett ébresztőóra. Ez az idő. Ő mindig láthatatlan, de a kívánt elemet. Mindegyikük egyszerre, akkor körülbelül 30 darab. De van olyan sok időzítők nem.

Hozzon létre egy új exe-projekt, és tegye egy időzítő formájában. Alapján azt csinálunk most kicsit nézni. Az ingatlan az időzítő beállítása a következő:

Enabled - Hamis (alapértelmezett True) azt jelenti, hogy az időzítő ki van kapcsolva

Interval - 1000 (az az idő ezredmásodpercben, ami után az időzítő lejár, kivéve természetesen tartalmazza). Az időzítő fog működni 1000 MSK, azaz minden második, mint a normál óra.

Ezen kívül szükség van a három címke: Label1 másodpercig, a perc, Label2 Label3 - lehet kitalálni, hogy miért. Ez így van, órákon át. Minden.

Tulajdonságainak módosítása címkék az alábbiak szerint:

Alignment - a 2-Alignment (Ez azért van így, hogy a számok voltak a központban a címkék)
BorderStyle - 1-Fix (lehetetlen volt, így átméretezés)
Képaláírás - 00 (minden esetben, azaz az érték a címkéket kezdetben „00”)

Kattintson betűtípus, és válassza ki a betűméretet 14, és a védjegy - merész. Ezt követően kiválaszthatja a megfelelő méretű ablak címke kitalálni őket nézel.

Úgy kell kinéznie 8. ábra.

Visual Basic nulla

Hozzon létre egy eljárás Form_Load.

Private Sub Form1_Load ()

W ATEM a szervezetben az eljárás, mint bármely tisztességes programot, módosítsa a forma fejlécet.

Továbbá annak érdekében, hogy nézni a műsort, ha az aktuális időt, meg kell, hogy vegye ki a számítógépből. Ahhoz, hogy a rendszer az idő az idő függvényében (Label1.Caption = Time). De ez ad egy teljes munkaidős egy vonal (16:23:42). Azután meg kell választani, hogy a másodperc, perc, óra és raspihat a címkén. És annak érdekében, hogy ne tegye, tudjuk vállalni kész funkció, amely biztosítja számunkra, hogy mindezt részben:

Label1.Caption = Második (Time) „Ezért másodperc
Label2.Caption = Perc (Time) „Nos, perc
Label3.Caption = Óra (Time)”, és az óra

Most, amikor elkezdi, hogy mi navayal, akkor az időt mutatja. Ez minden bizonnyal folyamatban van, de ez csak egy órát ér valamit. Rázza meg a monitor nem szükséges, hogy nem megy tovább, de az időzítő elindításához egy egyszerű vonal, akkor képes lesz:

Itt van egy logikai algebra (na jó, nem is algebra, de ez a valami). Ez Timer1.Enabled egyaránt lehet engedélyezni (Igaz). vagy tiltott (hamis). Ezen n ugyanazon művelet Form1_Load () befejeződött:

Ahhoz, hogy legalább néhány előnye a futó időzítő és tegyük nézni, hogy menjen, hozzon létre egy eljárást, amely végre, amikor egy esemény bekövetkezik, akkor az időzítő. Ez az esemény egyedülálló timer nevű túl .Timer. Ez akkor fordul elő, amikor az időzítő erejéig meghatározott intervallum tulajdon és ennek megfelelően nullázódik.

Magán SubTimer1_Timer ()

A második kell növelni egy-egy művelet időmérőt. Ezért levelet számláló, ami növeli a jelentőségét mi másodperc egység minden egyes működése az időzítő:

Label1.Caption = Label1.Caption + 1

És itt jön közel a kérdés egy feltételes utasítás (és jobb útmutató) Ha. amely nélkül - bárhol. Ennek lényege az állítás, hogy lehetővé teszi egy bizonyos, hogy megteremtse a feltételeket, hogy a változtatások a program során, a körülményektől függően.

Etou utasítást lehet használni blokk formájában: a teljes (hajtogatott) formában és hiányos (nélkül sorok ElseIf), valamint egy sorban.
Teljes formában tömb alakban az utasítás szintaxisa a következő:

Ha CONDITION1 Aztán
csoport operatorov1
Aztán ElseIf CONDITION2
csoport operatorov2
.
Aztán ElseIf UslovieN
operatorovN csoport
más
Az utóbbi csoport tekintetében
End If

Feltételek képviseli az üzemeltető, amelynek értéke vehet True (igaz) vagy False (hamis). Például, ha CONDITION1 jelenti az expressziós X> 1. igaz, ha X = 2, ez hamis az X érték egyenlő 1. Ha CONDITION1 igaz, akkor a csoport operatorov1. A másik csoport a piaci feltételek nem teljesülnek, akkor is, ha valamilyen későbbi ágak UslovieN igaz. Ha CONDITION1 hamis, a csoport operatorov1 nem megy végbe, és az előállított CONDITION2 ellenőrizze a következő ElseIf ága. Továbbá, ha CONDITION2 igaz, akkor a csoport operatorov2. A következő csoport a szereplők nem tartják be, és ezek a feltételek nem ellenőrzik. Ellenkező esetben folytassa a következő ág ElseIf. Ha senki ág nem igaz szereplők fut a legújabb piaci szereplők csoportja, függetlenül bármilyen körülmények között. Ha használati logikai áramkör képviseli a táblázatban:

Ha CONDITION1 Aztán

Aztán ElseIf CONDITION2

Ha a leggyakrabban használt utasítások tömbvázlatban hiányos (csonka) formában. Ebben az esetben nincsenek ElseIf sor:

Ha állapota Aztán
csoport operatorov1
más
csoport operatorov2
End If

Ebben az esetben, ha a feltétel - igaz, akkor a csoport operatorov1. és ha nem, akkor a csoport operatorov2.

Emellett gyakran van szükség, a körülményektől függően, hogy végre egy ajánlattevővel. Ha ezután nyilatkozatot lehet használni egy sorban, anélkül, hogy a végén, ha sorban.

Ha állapota ThenOperator1Else utasítás2

Ha állapota ThenOperator1

Ez nagyon egyszerű. Ez általában a kedvenc szereplő (sokkal kényelmesebb és sokoldalúbb, mint Select. Ügy).

Most kell alkalmazni a tudás az üzemeltető a gyakorlatban. Ahhoz, hogy időnk van bizonyíték a program, „egy óra”, hogy a több tucat a lábujj 01, 02, 03, ahelyett, hogy az 1, 2, 3, ellenőrizzük a feltétellel, hogy két szám kevesebb hossza rögzített címkén. Ha igen, adja hozzá az első lábujj. Ehhez használjuk a Len függvény ( „string”). amely meghatározza a karakterek számát soronként. Ha egy sor, például a 2 karaktert, majd Len megadja a 2. Kapunk:

Ha Len (Label1.Caption) <2 Then Label1.Caption = "0" & Label1.Caption‘для первого лейбла

De akkor, amikor a rendszer indításakor a Form1_Load eljárás, mi is kell egy véleményt. nem fogunk átírni ugyanazt két különböző eljárásokat. Mi teszi a teljes folyamatot, és hivatkoznak rá, mint szükséges. Hívjuk, például Zero. Végén a program egy üres helyet, hogy írja be az új eljárás:

Private Sub Zero ()
Ha Len (Label1.Caption) <2 Then Label1.Caption = "0" & Label1.Caption
Ha Len (Label2.Caption) <2 Then Label2.Caption = "0" & Label2.Caption
Ha Len (Label3.Caption)<2 Then Label3.Caption = "0" & Label3.Caption
End Sub

Így most már a saját eljárást, amely az úgynevezett Zero. Nincs esemény annak végrehajtására van, és hogy ez a munka, meg kell felébredni a kívánt helyre a program, mely csak írni a nevét Zero. És szükségünk van ezeken a helyeken találhatók az utolsó sort eljárások Form1_Load () és Timer1_Timer (). jobbra (mielőtt a End Sub).

Nos, az orr rendben, de az óra nem működik. A Timer1_Timer () szubrutin már csak egy operátor. Nézni dolgozott, mint a valódi, meg kell, ha több, mint 59 másodperc lett, ők nullázni a perc lenne eggyel nőtt. Használata Ha nagyon egyszerű:

Ha Label1.Caption> Ezután 59
Label1.Caption = "0"
Label2.Caption = Label2.Caption + 1
End If
„Ugyanez vonatkozik Leybla2:
Ha Label2.Caption> Ezután 59
Label2.Caption = "0"
Label3.Caption = Label3.Caption + 1
End If

Hasonlóképpen az Label3. Van úgy, értékben több mint 23 óra óra, Label3 24 nem látható, nulla:

Ha Label3.Caption> 23 Akkor Label3.Caption = "0"

Most tegye a hivatkozást a noughts Zero ellenőrzési eljárás.

Itt egy teljes lista, hogy mi történt. Ki akarja letöltheti a forráskódot például az oldal tetején.

Private Sub Form_Load ()
Form1.Caption = „egy óra”
Label1.Caption = Második (Time)
Label2.Caption = Perc (Time)
Label3.Caption = Óra (Time)
Timer1.Enabled = True
zéró
End Sub

Private Sub Timer1_Timer ()
Label1.Caption = Label1.Caption + 1
Ha Label1.Caption> Ezután 59
Label1.Caption = "0"
Label2.Caption = Label2.Caption + 1
End If
Ha Label2.Caption> Ezután 59
Label2.Caption = "0"
Label3.Caption = Label3.Caption + 1
End If
Ha Label3.Caption> 23 Akkor Label3.Caption = "0"
zéró
End Sub

Private Sub Zero ()
Ha Len (Label1.Caption) <2 Then Label1.Caption = "0" & Label1.Caption
Ha Len (Label2.Caption) <2 Then Label2.Caption = "0" & Label2.Caption
Ha Len (Label3.Caption) <2 Then Label3.Caption = "0" & Label3.Caption
End Sub

Zamedlenie1 = Int (Rnd * 20) + 10

Úgy működik, mint ez. Rnd generál egy véletlen számot 0 és 1 között A huszonegyedik többszörösen hogy egész részét (lehet szorozni semmit, de nem kevesebb, mint 10, de ez nem derül ki, az egész rész). Int függvény eldobja a törtrész. Hozzáadjuk a végén a 10, hogy kizárják a 0 értéket, és az időzítő leáll. Ie ha Rnd generál, például a száma 0,156, majd

Kerekítés Zamedlenie1 = (0,156 * 20) + 10 = 3 + 10 = 13. Nagyon egyszerű.

Minden alkalommal, amikor az intervallum annak taymerauvelichivaetsya lassulási érték, amíg az időköz nagyobb, mint 300 (ez a megadott szoftver: Timer1.Interval> 300

Ezt követően, az időzítő ki van kapcsolva. Annak kiderítésére, hogy mind időzítő ki van kapcsolva, azt használja a változó ez a zászló, amely felhalmozódik számos kikapcsolási időzítő. Amikor Flag = 3, úgy véljük, hogy mind a három időzítő befejezte (és az is), és indítsa el az eredményeket feldolgozva (Raschet rutin ()). Az indulótőke játékos egy változóban tároljuk Summa, ami változik a különböző díjakat egy összegben három változót bónusz, de a veszteség a változó BonusMinus. Miért negatív? Úgy éreztem, mintha azt, bár ez természetesen nem szükséges. Címkék 4. és az 5. hűvös címkék, attól függően, hogy a játék kimenetelét. Nos, amellett, hogy közben az időzítő gomb nincs lenyomva, akkor, mint egy változó FlagClick, vagy lehetővé teszi, hogy indítsa el a stoppert, vagy megváltoztatja annak jele.

Miután a főváros egy játékos kimerül, akkor jön a beszüntetésével EndOfGame () eljárást. és ez a gomb le van tiltva. Tovább játszani egy időben lehetetlen.

Ebben a programban, először állapítsa változókat. Az ebben a bonyolult. A lényeg az, hogy milyen típusú változó körülbelül együtt igényünk. Csak hogyan Delyan.

Nos, szinte minden. A többit meg kell gondolni, ki magát. Sok szerencsét.

Kapcsolódó cikkek