Visual alapvető tipp

Visual Basic: Tippek és trükkök

Itt van minden, amit valaha is segített, és szeretném megosztani másokkal, valamint hasznos tippeket a többi felhasználónak.

1. Sok program, a maszk eltávolítása a Windows jelszó. Minden látnia kellett: ha közvetlenül az egeret a képernyőn a csillagok és a cracker ablak jelszavát szöveg jelenik meg. Alkalmazások írt Visual Basic nem zaschescheny belőle. Más szóval a szövegmezőbe még tartalmazza a szöveget, csak álcázott. Azt találtam, hogyan lehet elkerülni, hogy:

  • szakasz formák általános nyilatkozatok, hogy egy változót, amely tartalmazza a kódot:

Dim PSWD As String

  • a tulajdonságok egy szöveges mező, állítsa be a PasswordChar csillaggal „*”. Most kattintson a szövegmezőbe, majd kattintson kétszer Text1_KeyPress esemény. írja:

Private Sub Text1_KeyPress (KeyAscii As Integer)
PSWD = PSWD + Chr (KeyAscii)
KeyAscii = Asc ( "*")
End Sub

  • Most nyomja meg lesz fogott, és peredovat szövegmezőbe csak csillagok! És a program-password cracker nem fogja elérni. Ha valaki azt akarja, hogy ezt, mint a Linux'e, azaz nincs csillag egyáltalán nem, akkor KeyAscii = Asc ( „*”) ki kell cserélni egy húr KeyAscii = 0 és minden!

2.Sochitanie Chr üzemeltetők (13) + Chr (10) ki lehet cserélni egy állandó vbCrLf.

3. Ahhoz, hogy a EXE nem indult ugyanabban az időben kétszer Form_Load eseményregiszter:

Private Sub Form_Load ()
Ha App.PrevInstance = True Ezután
MsgBox „A projekt már megkezdődött!”
vég
End If

5. Ha a programban össze sornyi szöveget, akkor hasznos lesz emlékeztető a következő:

  • húrok azonos tartalmú, de különböző helyesírási budyt elismert egyenlőtlen:

"Visual Basic" <> "Visual BASIC"

  • Ha azt szeretnénk, hogy a hasonlóság-én került sor a tartalom helyett az írást, akkor meg kell alakítani mind húrok a kis- és nagybetűket:

UCase ( "Visual Basic") = UCase ( "Visual Basic")
"VISUAL BASIC" = "VISUAL BASIC"
LCase ( "Visual Basic") = LCase ( "Visual Basic")
"Visual Basic" = "visual basic"

  • vagy tegye a General Nyilatkozat opció Az Összehasonlítás szöveg. A program ezután megkülönböztetni csak szöveges tartalom

6. Ha azt akarjuk, hogy a MsgBox'e néhány sor, és minden alkalommal, amikor egy új vonal között ezeket a sorokat kell beszúrni az állandó vbCrLf:
MsgBox "Galodrantsi" + vbCrLf + "ycix Krajna" + vbCrLf + _
"Y edinu halom" + vbCrLf + "ho!"

7. Az egyik a magyar honlapokat VB, rábukkantam egy egész vita, hogy mit kell csinálni, és hogyan kell kezelni a Null (különösen, ha dolgozik, adatbázisok). Lehet, hogy tévedek, de én mindig is erre a célra használni egy kis funkció helyezni valahol
modul:

Public Function CheckNull (SCHECK karaterlánccá) karaterlánccá
Ha IsNul (SCHECK) Ekkor
CheckNull = Üres
más
CheckNull = trim $ (SCHECK)
End If
End Function

8.Ochen helyett gyakran a hagyományos gombok kép. Ie már csak három kép - amely arat (img1), második préselt (img2) és a harmadik sajtó (img3) (img2 img3 és - láthatatlan). Tesszük ezt így:

Private Sub Form_Load ()
„Boot alakú kép 1 formájában _
2. kép (megjelent)
img1.Picture = img2.Picture
End Sub

Private Sub Image1_MouseDown (gomb As Integer. Shift As Integer. _
X As Single. Y As Single)
„Ha az egér a képre kattintva 1, it formájában _
3. kép (préselt)
img1.Picture = img3.Picture
End Sub

Private Sub Image1_MouseUp (gomb As Integer. Shift As Integer. _
X As Single. Y As Single)
„Amikor elengedi az egérgombot, a kép 1, újra felveszi a formáját _
2. kép (megjelent)
img1.Picture = img2.Picture
End Sub

Ez a technika mindenki számára ismert. De van egy hibája, nevezetesen, amikor egy sor folyamatos rákattint egy objektumra kép valahogy reagál időben. Ie majd nyomja meg az, akkor ne nyomja. Tehát itt van maga a Tanács is :-). Ennek elkerülése érdekében abban az esetben Img1_MouseDown kell beszúrni egy sort

Ie Kép egyidejűleg megküldi karakternél. Miért van az, nem értem magam. De zárójelben, persze, nem számít, az „A” -, és lehet, hogy a B és C fő esemény is. Ha valaki tud adni ez egyértelmű magyarázatot - lássuk! Köszönöm előre!

9. Ha a program során meg kell egy kis időt, hogy módosítsa a két változó értékét használja ezt az eljárást:

Sub Swap (V1 As Variant. V2 As Variant)
Dim Mk As Variant
Mk = V2
V2 = V1
V1 = Mk
End Sub

Hívás:
Swap x, y

ABC = Environ ( "windir")

És mindent!
De ez még nem minden! Akkor is kap a következő magyarázó változók:

ABC = Environ ( "TMP") „ideiglenes fájlok könyvtár TEMP
ABC = Environ ( "BLASTER") „koordináták hangkártya
ABC = Environ ( "PATH") „path bejelentett autoexec.bat

De ez még mindig nem minden.
Ahhoz, hogy a nevét és értékét a magyarázó változók zárójelben helyett a húr kell helyezni változó számú (vagy index?).

Beírása sleduyushy Perrendtartás ablakban fut a projekt, kattintson a forma megjelenik egy lista az összes változókat és értékeiket!

Private Sub Form_Click ()
„Vedd a magyarázó változók az egység, és hozzárendeli
m = 1
„Start hurok, amely növeli a változót m minden
„Times egy és dugta funkció Environ
csinál
„Hozzárendeli a magyarázó változók EnvString visszatért magyarázó változók,
„Bármely megfelelő számú m
EnvString = Environ (m)
„Magyarázó változók nyomtatás, megfelelő számú m
Nyomtatás Environ (m)
„Magyarázó változók m eggyel növekszik
m = m + 1
„Ha a magyarázó változók EnvString még nem üres - mi pedig a következő.
Hurok Amíg EnvString = „”
End Sub

Most mindent! ;-)) És most mindenki, aki nem szereti az API-függvények (szerintem ezek általában kevés ember dolyublivaet :-)) csak használni ezt a sort!

11.Chtoby hogy az alakja egy keret, de cím nélkül, meg kell változtatni a következő tulajdonságokkal rendelkezik:
Caption = ""
ControlBoxon = False

12. Ha meg kell változtatni a változó értékét logikai ellentétes, hanem az eljárás:

Ha az ABC Aztán
ABC = False
Else: ABC = True
End If

Használhatja a következő sort:

És akkor milyen értéket nem tartalmazza a változó ABC, akkor (az értéke) lesz az ellenkezője!

13.Chtoby menü bekezdések között vezessenek sínnel az ablakon „Menu Editor” terepen „Caption”, írja „-” (kötőjel), valamint a „Név” mezőben bármilyen nevet.

14. Ha az űrlap tartalmaz egy menü, írja be a Form_Load esemény a kódot, és egy kis sáv jelenik meg a menü alatt, a menü hangsúlyozza:

AutoRedraw = True
ScaleMode = 3
Cls
Vonal (0, 0) - lépés (ScaleWidth, 0), QBColor (8)
Vonal (0, 1) - lépés (ScaleWidth, 0), QBColor (15)
AutoRedraw = False

Kapcsolódó cikkek