ZdrojovΘ k≤dy

RegisterOCX Program
Krychle pomocφ OpenGL Program
Batnball Program
QuadBall Program
AutoComplete Program
Asociace Program
Komß°i Program
PiÜkvorky Program
3D kreslenφ Program
3D bludiÜt∞ Program
3D terΘn Program
IP utility Modul
N-t² °ßdek z TextBoxu K≤d
Operace Undo (nßvrat zp∞t) K≤d
Jak rychleji naplnit prvek daty z databßze K≤d
Detekce spuÜt∞nφ n∞kter²ch program∙ Microsoftu K≤d

RegisterOCX

Archφv obsahuje dva projekty. Oba dva d∞lajφ stejnou akci, ka₧d² pouze trochu jinak (princip je stejn²). Umφ zaregistrovat i odregistrovat ActiveX prvek a knihovny DLL. Ne vÜak pomocφ externφho programu (regsvr32 apod.), ale pomocφ API funkcφ.
9783 byt∙ Kopφrovat

Zp∞t na obsah


Krychle pomocφ OpenGL

Barevnß pohybujφcφ se krychle, vytvo°enß pomocφ OpenGL. Krychlφ je mo₧no otßΦet v horizontßlnφm i vertikßlnφm sm∞ru pomocφ posuvnφk∙. Barvy na povrchu krychle m∞nφ sv∙j odstφn podle natoΦenφ krychle.
209488 byt∙ Kopφrovat

Zp∞t na obsah


Batnball

Variace na, kdysi velmi populßrnφ, hru Arkanoid. Pohybujφcφm se odrazov²m m∙stkem °φdφte kuliΦku, jejφ₧ pomocφ musφte zbo°it ze∩.
23090 byt∙ Kopφrovat

Zp∞t na obsah


QuadBall

JeÜt∞ jedna variace na hru Arkanoid. Tentokrßt nejde o to zbo°it ze∩, ale udr₧et meteorit na obrazovce pomocφ Φty° odrazov²ch ploch (ka₧dß na jednΘ stran∞ obrazovky) po urΦitou dobu a zachrßnit tφm n∞jakou planetu.
665500 byt∙ Kopφrovat

Zp∞t na obsah


AutoComplete

ActiveX prvek, vΦetn∞ p°φkladu, kter² dokonΦuje napsan² text podobn∞ jako Internet Explorer, kdy₧ zadßvßte strßnku do adresnφho °ßdku.
48667 byt∙ Kopφrovat

Zp∞t na obsah


Asociace

P°φklad na vytvß°enφ asociacφ ve Windows. K zadanΘ p°φpon∞ m∙₧ete p°idat program, kter² bude spouÜt∞t soubory s touto p°φponou.
16839 byt∙ Kopφrovat

Zp∞t na obsah


Komß°i

Hra, ve kterΘ je ·Φelem post°φlet co nejvφce komßr∙, kte°φ vßm lΘtajφ na obrazovce (p°esn∞ji pouze na formulß°i).
95014 byt∙ Kopφrovat

Zp∞t na obsah


PiÜkvorky

Variace na hru piÜkvorky. ┌Φelem hry je na ploÜe 3 krßt 3 pole vytvo°it °adu t°φ koleΦek nebo k°φ₧k∙ stejn²m zp∙sobem jako v piÜkvorkßch. Program ukazuje i hru p°es sφ¥ pomocφ protokolu TCP/IP.
1154162 byt∙ Kopφrovat

Zp∞t na obsah


3D kreslenφ

Jednoduch² p°φklad ukazujφcφ 3D kreslenφ bez pomocφ API funkcφ.
1595 byt∙ Kopφrovat

Zp∞t na obsah


3D bludiÜt∞

Pon∞kud slo₧it∞jÜφ program, kter² umo₧≥uje vytvo°it (maker.vbp) bludiÜt∞ a potom v n∞m prochßzet (maze.vbp). Prochßzenφ je °eÜeno stejn∞ jako ve hrßch typu DOOM, DUKE NUKEM 3D atp. (samoz°ejmn∞ v pon∞kud horÜφ grafice).
19400 byt∙ Kopφrovat

Zp∞t na obsah


3D terΘn

Program vytvß°φ jednoduch² 3D terΘn (hory, ·dolφ) pomocφ drßtovΘho modelu. Vytvß°enφ je °φzeno zadßnφm n∞kolika parametr∙, v²sledn² obrßzek m∙₧ete ulo₧it.
18787 byt∙ Kopφrovat

Zp∞t na obsah


IP utility

Modul obsahuje n∞kolik funkcφ pro komunikaci pomocφ TCP/IP protokolu pomocφ knihovny WSOCK32.DLL, nap°. zjiÜt∞nφ IP adresy, PING na IP adresu apod.
12888 byt∙ Kopφrovat

Zp∞t na obsah


N-t² °ßdek z TextBoxu

Funkce TextBoxLine vrßtφ zadan² °ßdek textu z TextBoxu.

Private Const EM_GETLINE = &HC4


Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
  (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Function TextBoxLine(TB As TextBox, ByVal LineNO As Integer) As String
  Const BUFLEN = 1028
  Dim buffer As String * BUFLEN, ret As Long

  Mid(buffer, 1, 1) = Chr(BUFLEN And &HFF)
  Mid(buffer, 2, 1) = Chr(BUFLEN \ &H100)
  If Not TB.MultiLine Then
    TextBoxLine = TB.Text
  Else
    ret = SendMessage(TB.hwnd, EM_GETLINE, LineNO - 1, ByVal buffer)
    If ret Then
      TextBoxLine = Left$(buffer, ret&)
    Else
      TextBoxLine = ""
    End If
  End If
End Function

Zp∞t na obsah


Operace Undo (nßvrat zp∞t)

V∞tÜina dneÜnφch program∙ (hlavn∞ editor∙ - a¥ u₧ grafick²ch, textov²ch nebo tabulkov²ch atd.), umo₧≥uje zruÜit naposledy vykonanou akci. Jak na to ve Visual Basicu? Mo₧nostφ existuje vφce, ukß₧eme si tuto operaci pomocφ funkce SendMessage.

Private Const EM_UNDO = &HC7


Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
  (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Sub UndoTextBox(TB As TextBox)
  SendMessage TB.hwnd, EM_UNDO, 0, 0
End Sub

Zp∞t na obsah


Jak rychleji naplnit prvek daty z databßze

Chcete-li naplnit nap°. ListBox daty z databßze, v∞tÜinou pou₧ijete tento k≤d:

Do While Not myRecordset.EOF
  List1.AddItem myRecordset!prijmeni
  myRecordset.Movenext
Loop

Tento k≤d vÜak nnφ p°φliÜ v²hodn², proto₧e p°i ka₧dΘm pr∙chodu cyklem je t°eba zkontrolovat (pom∞rn∞ nßroΦnou operacφ), zda nenφ Recordset na konci (EOF). Mnohem rychlejÜφ bude tento k≤d:

myRecordset.MoveLast
intPocet=myRecordset.RecordCount
myRecordset.MoveFirst

For i = 1 To intPocet
  List1.AddItem myRecordset!prijmeni
  myRecordset.MoveNext
Next i

Zp∞t na obsah


Detekce spuÜt∞nφ n∞kter²ch program∙ Microsoftu

Ji₧ n∞kolik Φtenß°∙ se nßs ptalo, jak zdetekovat zda b∞₧φ ten Φi onen program. Nφ₧e uvedenß funkce IsAppRunning detekuje n∞kterΘ programy od Microsoftu podle t°φdy a ostatnφ programy podle textu v titulkovΘm pruhu.

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
  (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public Function IsAppRunning(ByVal strAppName As String) As Boolean
  Dim lngH As Long, strClassName As String

  IsAppRunning = False

  Select Case LCase(strAppName)
    Case "excel": strClassName = "XLMain"
    Case "word": strClassName = "OpusApp"
    Case "access": strClassName = "OMain"
    Case "powerpoint95": strClassName = "PP7FrameClass"
    Case "powerpoint97": strClassName = "PP97FrameClass"
    Case "notepad": strClassName = "NOTEPAD"
    Case "paintbrush": strClassName = "pbParent"
    Case "wordpad": strClassName = "WordPadClass"
    Case Else: strClassName = ""
  End Select

  If strClassName = "" Then
    lngH = FindWindow(vbNullString, strAppName)
  Else
    lngH = FindWindow(strClassName, vbNullString)
  End If

  If lngH <> 0 Then IsAppRunning = True
End Function

Zp∞t na obsah