ZdrojovΘ k≤dy

Informace o prvcφch aplikaceProgram
Text vφce barvamiProgram
Vφce monitor∙Program
P°esun polo₧ek ListBoxuProgram
MD5Program
3D objektyProgram
Ikona v system tray oblastiProgram
Ini souboryT°φda
RozÜφ°enφ ListBoxu a ComboBoxuT°φda
P°ipojenφ sφ¥ovΘho diskuT°φda
V²pis zprßv souboru DLLK≤d
Vysypßnφ koÜeK≤d
Zm∞na souboru win.iniK≤d
V²maz slo₧kyK≤d
Zaslßnφ dat databßze Accessu poÜtouVBA
P°ipojenφ tabulky do databßze AccessuVBA

Informace o prvcφch aplikace

Program zobrazφ handle, t°φdu a text vÜech prvk∙ aplikace, kterou zadßvßte jejφm textem v titulkovΘm pruhu (po jednoduchΘ ·prav∞ m∙₧ete zadßvat i jinak).
11631 byt∙Kopφrovat

Zp∞t na obsah


Text vφce barvami

Zobrazuje text v PictureBoxu, vykreslen² p°echodem z jednΘ barvy do druhΘ. Po malΘ ·prav∞ m∙₧ete funkci v modulu projektu jednoduÜe pou₧φt i ve sv²ch programech.
4509 byt∙Kopφrovat

Zp∞t na obsah


Vφce monitor∙

P°φklad ukazuje, jak zjistit poΦet a typ monitor∙ poΦφtaΦe a vypisovat text na kterΘmkoliv z nich.
7374 byt∙Kopφrovat

Zp∞t na obsah


P°esun polo₧ek ListBoxu

Ukazuje, jak p°esouvat polo₧ky z jednoho ListBoxu do druhΘho pomocφ myÜi (Drag and Drop).
6599 byt∙Kopφrovat

Zp∞t na obsah


MD5

P°φklad ukazuje prßci a algoritmem MD5 (Message Digest 5), kter² se pou₧φvß pro k≤dovßnφ v protokolu SNMP.
77315 byt∙Kopφrovat

Zp∞t na obsah


3D objekty

Program, kter² umo₧≥uje vytvß°et zadßvßnφm sou°adnic trojrozm∞rnΘ objekty. Po spuÜt∞nφ vidφte Φty°i Φtverce. Jeden je nßrys objektu, druh² bokorys, t°etφ p∙dorys a Φtvr² zobrazuje pohled na objekt, se kter²m je mo₧no jakkoliv otßΦet pomocφ myÜi. Pro demonstraci jsou vytvo°eny t°i objekty, kterΘ si m∙₧ete nahrßt tlaΦφtkem Load Object. Vφce informacφ najdete v textovΘm souboru p°ilo₧enΘm k projektu.
19482 byt∙Kopφrovat

Zp∞t na obsah


Ikona v system tray oblasti

P°φklad ukazuje vytvo°enφ UserControlu, tedy prvku, kter² usnad≥uje p°idßvßnφ ikony do oblasti system tray, tedy tam, kde jsou hodiny, stav klßvesnice apod.
17720 byt∙Kopφrovat

Zp∞t na obsah


Ini soubory

I kdy₧ se dnes pou₧φvß spφÜe registr, INI soubory se mohou hodit. Tato t°φda s nimi velice usnad≥uje prßci.
7186 byt∙Kopφrovat

Zp∞t na obsah


RozÜφ°enφ ListBoxu a ComboBoxu

T°φda, obsahujφcφ n∞kolik metod usnad≥ujφcφch prßci s ListBoxem a ComboBoxem, nap°. nastavenφ v²Üky rozbalovacφho seznamu ComboBoxu,, kopφrovßnφ obsahu jednoho prvku do druhΘho apod.
3219 byt∙Kopφrovat

Zp∞t na obsah


P°ipojenφ sφ¥ovΘho disku

T°φda, kterß mß dv∞ metody. Jednu pro p°ipojenφ sφ¥ovΘho disku, druhou pro jeho odpojenφ.
2143 byt∙Kopφrovat

Zp∞t na obsah


V²pis zprßv souboru DLL

API funkce FormatMessage umφ formßtovat r∙znΘ zprßvy, jejφ popis by vydal na samostatn² Φlßnek. Umφ vÜak takΘ formßtovat zprßvy z jakΘkoliv knihovny, kterß mß tabulku zprßv. V∞tÜinou jde o texty chyb. Tak m∙₧ete nap°. jednoduÜe zobrazit chybovΘ zprßvy knihovny wininet.dll (knihovnu je pot°eba nejd°φve nahrßt do pam∞ti).

Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" _
  (ByVal lpLibFileName As String) As Long
Declare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" _
  (ByVal dwFlags As Long, lpSource As Any, ByVal dwMessageId As Long, _
   ByVal dwLanguageId As Long, ByVal lpBuffer As String, ByVal nSize As Long, _
   Arguments As Long) As Long

Const FORMAT_MESSAGE_FROM_HMODULE = &H800


Private Sub Form_Load()
  Dim hMod As Long, msg As String, ret As Long, i As Long
  
  hMod = LoadLibrary("wininet.dll")
  For i = 12000 To 12200
    msg = Space(1024)
    ret = FormatMessage(FORMAT_MESSAGE_FROM_HMODULE, ByVal hMod, i, 0&, msg, Len(msg), ByVal 0&)
    If ret <> 0 Then
      Debug.Print Left(msg, ret - 2)
    End If
  Next i
  FreeLibrary hMod
End Sub

Zp∞t na obsah


Vysypßnφ koÜe

Vysypßnφ koÜe je mo₧nΘ volßnφm API funkce SHEmptyRecycleBin. M∙₧ete vysypat bu∩ koÜ na jednom disku (zadßnφm jeho jmΘna) nebo koÜ na vÜech discφch (zadßnφm nulovΘho °et∞zce). Pokud vÜe prob∞hne v po°ßdku, funkce vracφ hodnotu 0.

Declare Function SHEmptyRecycleBin Lib "shell32.dll" Alias "SHEmptyRecycleBinA" _
  (ByVal hwnd As Long, ByVal pszRootPath As String, ByVal dwFlags As Long) As Long

'vysypßnφ koÜe na disku C
SHEmptyRecycleBin Form1.hwnd, "C:\", 0

'vysypßnφ koÜe na vÜech discφch
SHEmptyRecycleBin Form1.hwnd, vbNullString, 0

Zp∞t na obsah


Zm∞na souboru win.ini

M∞nφte-li n∞jakΘ ·daje v souboru win.ini, m∙₧ete dßt ostatnφm aplikacφm v∞d∞t, ₧e se n∞co zm∞nilo a to pomocφ funkce SendMessage a zprßvy WM_WININICHANGE. Pokud pou₧φvßte pro zm∞nu API funkci SystemParametersInfo, zprßvu zasφlat nemusφte, staΦφ nastavit poslednφ parametr na hodnotu SPIF_SENDWININICHANGE.

Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, _
  ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const WM_WININICHANGE = &H1A


SendMessage HWND_BROADCAST, WM_WININICHANGE, 0, 0

Zp∞t na obsah


V²maz slo₧ky

Pro v²maz slo₧ky je ve Visual Basicu p°φkaz RmDir. Neumφ vÜak mazat slo₧ku, kterß mß n∞jak² obsah, tzn. soubory nebo jinΘ slo₧ky. Proto je v²hodn∞jÜφ pou₧φt metodu DeleteFolder objektu FileSystemObject.

Dim fso As Object

Set fso = CreateObject("Scripting.FileSystemObject")

fso.DeleteFolder "C:\Temp", True 'nastavenφ True sma₧e i read-only slo₧ky

Zp∞t na obsah


Zaslßnφ dat databßze Accessu poÜtou

Metoda SendObject objektu DoCmd umo₧≥uje odeslat data z objekt∙ databßze jako p°φlohu zprßvy pomocφ jakΘhokoliv poÜtovnφho programu vyu₧ivajφcφho rozhranφ MAPI. Dokonce si m∙₧ete vybφrat i z n∞kolika formßt∙ p°φlohy (RTF, HTML apod.). P°φklad poÜle data z tabulky zamestnanci ve formatu RTF Pavlu Kocichovi. Poslednφ dva parametry metody jsou p°edm∞t a vlastnφ text zprßvy.

Dim ac As New Access.Application

Set ac = New Access.Application
ac.OpenCurrentDatabase "data.mdb"

myAccess.DoCmd.SendObject acSendTable, "zamestnanci", acFormatRTF, _
                          "Pavel Kocich", , , "Subject", "Body"

Zp∞t na obsah


P°ipojenφ tabulky do databßze Accessu

Databßze v Accessu m∙₧e obsahovat i tzv. propojenΘ tabulky. Jde o tabulky, kterΘ jsou fyzicky v ·pln∞ jinΘ databßzi, pouze je na n∞ vytvo°eno propojenφ (n∞co jako zßstupce ve Windows). SamotnΘ p°ipojenφ je mo₧nΘ z k≤du vytvo°it pomocφ metody TransferDatabase objektu DoCmd (p°φklad vytvo°φ v databßzi data.mdb tabulku linkJmena, ktera ukazuje na tabulku jmena z databßze data2.mdb).

Dim ac As New Access.Application

Set ac = New Access.Application
ac.OpenCurrentDatabase "data.mdb"

ac.DoCmd.TransferDatabase acLink, "Microsoft Access", "data2.mdb", acTable, "jmena", "linkJmena"

Zp∞t na obsah