Zdrojové kódy

Hook message Program
Special folder path Program
Program v system tray Program
ListExam Program
Horní a dolní index Program
GrabText Program
Tisk WYSIWYG Program
3D efekty Program
Informace o NT disku Program
CGI a Cookies Modul, třída
Jak schovat kurzor v TextBoxu Kód
Export z Accessu do Excelu bez nainstalovaného Excelu Kód
Jak zjistit, jestli běží Word Kód
Výpis telefonických připojení Kód
Kontrola pravopisu pomocí MS Wordu Kód

Hook message

Ukázka použití API funkce SetWindowsLong k obsluze zpráv.
7649 bytů Kopírovat

Zpět na obsah


Special folder path

Jak najít cestu ke speciálním složkám systému Windows, jako je např. Program Files, ukazuje tento příklad.
7172 bytů Kopírovat

Zpět na obsah


Program v system tray

Program, který ukazuje jak umístit ikonu programu do oblasti system tray na hlavním panelu a jak obsluhovat jeho menu. Jiný příklad z této problematiky můžete nalézt i v části Otázky a odpovědi.
3283 bytů Kopírovat

Zpět na obsah


ListExam

Ukazuje a porovnává rychlost vyhledávání a rušení duplicitních položek v ListBoxu různými metodami.
18797 bytů Kopírovat

Zpět na obsah


Horní a dolní index

Jak udělat na formuláři a RichTextBoxu písmo s dolním indexem (stejný způsob lze použít i na horní) stejné velikosti jako normální písmo.
1840 bytů Kopírovat

Zpět na obsah


GrabText

Ukazuje, jak "vytáhnout" z jiných aplikací text a informace o oknech.
2397 bytů Kopírovat

Zpět na obsah


Tisk WYSIWYG

Jak nastavit RichTextBox pro tisk WYSIWYG (What You See Is What You Get).
11223 bytů Kopírovat

Zpět na obsah


3D efekty

Ukazuje, jak zacházet s 3D objekty, zobrazovat je, stínovat atd.
91446 bytů Kopírovat

Zpět na obsah


Informace o NT disku

Program, který zjišťuje informace o vzdálených discích na systémech s OS Windows NT Wosktation a Server.
15096 bytů Kopírovat

Zpět na obsah


CGI a Cookies

Tento archív obsahuje moduly a třídy pro práci se skripty CGI a s cookies ve Visual Basicu. Autoři uvádí, že funkce v nich obsažené pracují rychleji než při použití jazyku PERL, pracují se všemi servery podporující CGI, podporují Netscape HTTP cookie specifikaci a mnoho dalšího.
9852 bytů Kopírovat

Zpět na obsah


Jak schovat kurzor v TextBoxu

Schovat kurzor v TextBoxu, nebo jiném prvku, můžete pomocí API funkce HideCaret. Nejdříve je třeba vytvořit potřebné deklarace:

Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" _
  (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal msg As Long, _
   ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
  (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function HideCaret Lib "user32" (ByVal hwnd As Long) As Long

Public Const GWL_WNDPROC = (-4)
Public Const WM_USER = &H400


Public Function NewWindowProc(ByVal hwnd As Long, ByVal msg As Long, _
  ByVal wParam As Long, ByVal lParam As Long) As Long
  Const WM_RESERVED = &H100E

  Const WM_PAINT = &HF


  If msg = WM_PAINT Or msg = WM_RESERVED Then HideCaret hwnd
  NewWindowProc = CallWindowProc(OldWindowProc, hwnd, msg, wParam, lParam)
End Function

Samotné schování kurzoru se provede takto:

OldWindowProc = SetWindowLong(Text1.hwnd, GWL_WNDPROC, AddressOf NewWindowProc)

Hodnotu, kterou vrací funkce SetWindowLong je dobré si uschovat (zde do OldWindowProc), pokud byste chtěli kurzor zase ukázat.

Zpět na obsah


Export z Accessu do Excelu bez nainstalovaného Excelu

Chcete-li vytvořit Excelovský soubor jako export z databáze Access, nemusíte mít nainstalovaný Excel. Stačí pouze ODBC ovladače. Samotný export je velice jednoduchý:

Public Sub VytvorExcel(ByVal soubor As String, ByVal verze As String, _
                       ByVal databaze As String, ByVal tabulka As String)
  Dim dbZdroj As Database

  Set dbZdroj = OpenDatabase(databaze)
  dbZdroj.Execute "SELECT * INTO " & tabulka & " " & _
                  "IN """"[Excel " & verze & ";DATABASE=" & soubor & ";] " & _
                  "FROM " & tabulka & " "
  dbZdroj.Close
  Set dbZdroj = Nothing
End Sub

Funkce ExportExcel má čtyři parametry, soubor, který se má vytvořit, verze Excelu, zdrojová databáze v Accessu a tabulka pro export. Použití může vypadat třeba takto:

VytvorExcel "E:\novy.xls", "8.0", "E:\vyvoj\projekty\is.mdb", "pracovnici"

Zpět na obsah


Jak zjistit, jestli běží Word

Tento tip nás napadl jako odpověď na dotaz jednoho čtenáře. Ke zjištění, zda běží Word, se funkce WordBezi snaží získat odkaz na běžící OLE server, tady Word (jde použít i na Excel apod.). Pokud je Word spuštěn, operace proběhne v pořádku, jinak nastane chyba, která je odchycena.

Public Function WordBezi() As Boolean
  Dim myWord As Object
  
  On Error GoTo chyba

  WordBezi = True
  Set myWord = GetObject(, "Word.Application")
  Set myWord = Nothing
  Exit Function

chyba:
  WordBezi = False
End Function

Pokud chcete Word ukončit, stačí spustit metodu Quit objektu myWord:

myWord.Quit

Zpět na obsah


Výpis telefonických připojení

Funkce TelPripojeni vrací názvy všech telefonických připojení, nakonfigurovaných ve Windows. K tomu používá API funkci RasEnumEntries.

Private Const cMAXENTRYNAME = 256

Private Type RASENTRYNAME
  dwsize As Long
  szentryname(cMAXENTRYNAME) As Byte
End Type

Private Declare Function RasEnumEntries Lib "RasApi32.dll" Alias "RasEnumEntriesA" _
  (ByVal reserved As String, ByVal lpszPhonebook As String, lprasentryname As Any, _
   lpcb As Long, lpcentries As Long) As Long

Public Function TelPripojeni() As Variant
  Dim navrat As Long, kolik As Long, i As Long, phonebook As String
  Dim prip(cMAXENTRYNAME) As RASENTRYNAME, prip2() As String

  prip(0).dwsize = 264
  navrat = RasEnumEntries(0, phonebook, prip(0), 256 * prip(0).dwsize, kolik)

  ReDim prip2(kolik - 1)
  For i = 0 To (kolik - 1)
    prip2(i) = StrConv(prip(i).szentryname, vbUnicode)
  Next i

  TelPripojeni = prip2
End Function

Použití potom může vypadat třeba takto:

Dim a() As String, i As Long

a = TelPripojeni
For i = LBound(a) To UBound(a)
  List1.AddItem a(i)
Next i

Zpět na obsah


Kontrola pravopisu pomocí MS Wordu

Potřebujete-li zkontrolovat pravopis, můžete s výhodou použít možností, které nabízí Microsoft Office. Následující funkce Pravopis vrací zkontrolovaný text pomocí Wordu. Při kontrole, při nalezení neznámého slova, se zobrazuje dialog z Wordu pro záměnu slova za jiné.

Public Function Pravopis(ByVal txt As String) As String
  Dim wrd As Object

  Set wrd = CreateObject("Word.Basic")

  With wrd
    .FileNewDefault
    .Insert txt
    On Error Resume Next
    .ToolsSpelling
    .EditSelectAll
    wrd.SetDocumentVar "MojePromenna", wrd.Selection
    Pravopis = wrd.GetDocumentVar("MojePromenna")
    .FileClose 2
    .AppClose
  End With
  Set wrd = Nothing
End Function

Zpět na obsah