ZdrojovΘ k≤dy

LotoProgram
EightsProgram
Dog - DirectXProgram
Kosmickß lo∩ - DirectXProgram
Kosmickß lo∩Program
DirectSoundProgram
Vytvo°enφ ikony z bitmapy a naopakProgram
HlaviΦka BMPProgram
Vlo₧enφ textu do Wordu pomocφ schrßnkyK≤d
Smazßnφ zßznamu pomocφ ADOK≤d
Ulo₧enφ obrßzku do databßzeK≤d
Napln∞nφ ComboBoxu daty z databßze pomocφ objekt∙ ADOK≤d
Zobrazenφ formulß°e a tisk reportu z databßze AccessuK≤d
JednoduchΘ vytvo°enφ poÜty pomocφ defaultnφho klientaK≤d
Schovßnφ panelu nßstroj∙VBA
Vytvo°enφ novΘho seznamu v ExceluVBA

Loto

P°φklad na klasickou hru Loto. Pomocφ FlexGridu vytvß°φ p∞knΘ hracφ pole a umφ p°ehrßvat zvuky ulo₧enΘ v resource souboru.
553179 byt∙Kopφrovat

Zp∞t na obsah


Eights

P°φklad karetnφ hry. Na prßci s kartami pou₧φvß standardnφ knihovnu z Windows, cards.dll.
69103 byt∙Kopφrovat

Zp∞t na obsah


Dog - DirectX

P∞knß hra vytvo°enß pomocφ DirectX. Program nelze spouÜt∞t z prost°edφ VB, musφte nejd°φve vytvo°it EXE soubor.
915036 byt∙Kopφrovat

Zp∞t na obsah


Kosmickß lo∩ - DirectX

P∞kn² p°φklad na pou₧itφ DirectX. Program vytvß°φ malou kosmickou lo∩ se kterou dßle pracuje. Program nelze spouÜt∞t z prost°edφ VB, musφte nejd°φve vytvo°it EXE soubor.
81538 byt∙Kopφrovat

Zp∞t na obsah


Kosmickß lo∩

JeÜt∞ jeden p°φklad, kter² vytvß°φ kosmickou lo∩, tentokrßt vÜak bez DirectX. VÜe je ud∞lßno (a₧ na jednu v²jimku) pomocφ funkcφ Visual Basicu.
7616 byt∙Kopφrovat

Zp∞t na obsah


DirectSound

JeÜt∞ jeden p°φklad na pou₧itφ DirectX, konkrΘtn∞ na DirectSound, tzn. pracuje s hudbou. Umφ soubory p°ehrßvat, m∞nit frekvenci, zesilovat a zeslabovat zvuk atd.
202160 byt∙Kopφrovat

Zp∞t na obsah


Vytvo°enφ ikony z bitmapy a naopak

Program umφ z bitmapy, BMP, vytvo°it ikonu, ICO.
17565 byt∙Kopφrovat

Zp∞t na obsah


HlaviΦka BMP

P°φklad umφ zobrazit n∞kterΘ informace o souboru BMP ulo₧enΘ v jeho hlaviΦce. Nap°. velikost, dΘlku, Üφ°ku atd.
13215 byt∙Kopφrovat

Zp∞t na obsah


Vlo₧enφ textu do Wordu pomocφ schrßnky

Tento k≤d vlo₧φ do nov∞ vytvo°enΘho dokumentu ve Wordu text ze schrßnky (pro ·Φely ukßzky je do schrßnky vlo₧en text "Tento text se vlo₧φ do schrßnky a potom do Wordu"). Tento soubor je potom ulo₧en do ko°enovΘ slo₧ky na disk C pod nßzvem pokus.doc. Aby vßm p°φklad fungoval, musφte do projektu p°idat odkaz na Microsoft Word Object Library.

Dim msWord As Word.Application
Dim myDoc As Document

Set msWord = New Word.Application
msWord.Visible = True

Set myDoc = msWord.Documents.Add

Clipboard.Clear
Clipboard.SetText "Tento text se vlo₧φ do schrßnky a potom do Wordu"
myDoc.Words.Item(myDoc.Words.Count).Paste
myDoc.SaveAs "C:\pokus.doc"

myDoc.Close
msWord.Quit

Set myDoc = Nothing
Set msWord = Nothing

Zp∞t na obsah


Smazßnφ zßznamu pomocφ ADO

ADO dnes u₧ sice nenφ ₧ßdnß novinka, p°esto jej jeÜt∞ spousta lidφ nepou₧φvß. Proto zde budeme obΦas uvßd∞t n∞jak² tip z tohoto okruhu. V p°φkladu jde o to smazat zßznamy z urΦitΘ tabulky pomocφ SQL p°φkazu DELETE.

Dim conn As New ADODB.Connection

conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;DataSource="data.mdb"
conn.Open

conn.Execute "DELETE FROM lide WHERE prijmeni = 'Novßk'"
conn.Close
 
Set conn = Nothing

Zp∞t na obsah


Ulo₧enφ obrßzku do databßze

Mßte-li na disku soubor s obrßzkem, nap°. GIF, m∙₧ete ho do databßze Access ulo₧it do pole typu Objekt OLE. V k≤du je obrßzek rozd∞len na n∞kolik stejn²ch Φßstφ, kterΘ jsou potom postupn∞ p°idßvßny do pole v tabulce (samoz°ejm∞ je mo₧nΘ ho nerozd∞lovat a p°idat jej cel² narßz, v p°φpad∞ v∞tÜφch obrßzk∙ to vÜak nenφ p°φliÜ vhodnΘ).

Const POLESIZE = 16384
Dim myDB As Database, myRC As Recordset
Dim obr As Integer, delka As Long, chunk As Long, frag As Long
Dim pole() As Byte, i As Long

Set myDB = OpenDatabase("C:\data.mdb")
Set myRC = myDB.OpenRecordset("SELECT * FROM zamestnanci", dbOpenDynaset)

obr = FreeFile
Open "C:\obrazek.gif" For Binary Access Read As #obr
delka = LOF(obr)
chunk = delka \ POLESIZE
frag = delka Mod POLESIZE

myRC.AddNew
'nejd°φve vlo₧φme zbytek - Φφslo, kterß zb²vß po d∞lenφ 16384
ReDim pole(frag)
Get #obr, , pole()
myRC!fotka.AppendChunk pole()

'te∩ ostatnφ
ReDim pole(POLESIZE)
For i = 1 To chunk
  Get #obr, , pole()
  myRC!fotka.AppendChunk pole()
Next i
myRC.Update

Close obr
myRC.Close
myDB.Close

Zp∞t na obsah


Napln∞nφ ComboBoxu daty z databßze pomocφ objekt∙ ADO

Nßsledujφcφ k≤d naplnφ rozbalovacφ seznam ComboBoxu (ne DBCombo) daty ze sloupce jmeno, tabulky Autori a databaze C:\data.mdb.

Dim conn As New ADODB.Connection, rst As New ADODB.Recordset

conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=C:\data.mdb"
conn.Open

Combo1.Clear

rst.Open "SELECT * FROM autori", conn, adLockReadOnly, adLockOptimistic, adCmdText
If rst.RecordCount > 0 Then
  Do While Not rst.EOF
    Combo1.AddItem rst("jmeno")
    rst.MoveNext
  Loop
  rst.Close
End If

conn.Close

Zp∞t na obsah


Zobrazenφ formulß°e a tisk reportu z databßze Accessu

Aby vßm fungoval tento k≤d, musφte si v projektu p°idat odkaz na Microsoft Access Object Library.

Dim access As New access.Application

access.Visible = True
access.OpenCurrentDatabase "C:\data.mdb"

'otev°enφ formulß°e Autori
access.DoCmd.OpenForm "Autori", acNormal, , , , acDialog

'tisk reportu Autori
access.DoCmd.OpenReport "Autori", acViewNormal

Zp∞t na obsah


JednoduchΘ vytvo°enφ poÜty pomocφ defaultnφho klienta

Pokud chcete vytvo°it e-mailovou zprßvu, m∙₧ete tak uΦinit pomocφ API funkce ShellExecute (je to mo₧nΘ i pomocφ vestav∞nΘ funkce Shell, ale ShellExecute nabφzφ vφce mo₧nostφ).

Dim posta As String

posta = "mailto:pavel@seznam.cz" & _
        "?subject=jen tak" & _
        "&cc=kopie@seznam.cz" & _
        "&bcc=skryta@seznam.cz" & _
        "&body=Zde je vlastnφ t∞lo zprßvy"
ShellExecute Form1.hwnd, "Open", posta, "", "", 1

Zp∞t na obsah


Schovßnφ panelu nßstroj∙

Pomocφ kolekce CommandBars m∙₧ete v aplikacφch MS Office pracovat s panely nßstroj∙. Nap°. schovßnφ panel∙ Standardnφ a Formßt a zobrazenφ panelu Kreslenφ je mo₧nΘ takto:

CommandBars("Standard").Visible = False
CommandBars("Formatting").Visible = False
CommandBars("Drawing").Visible = True

Zp∞t na obsah


Vytvo°enφ novΘho seznamu v Excelu

Seznamy jsou jedna z dobr²ch vlastnostφ MS Excelu. NapφÜete-li do bu≥ky n∞jakou polo₧ku seznamu a tßhnete myÜφ, jsou do ostatnφch bu≥ek p°idßny dalÜφ polo₧ky ze seznamu. Jak si ale vytvo°it vlastnφ seznam z k≤du? Pou₧ijte metodu AddCustomList objektu Application.

'seznam zadan² p°φmo polo₧kami
Application.AddCustomList ListArray:=Array("prvni", "druhß", "t°etφ")

'seznam zadan² obsahem bu≥ek
Application.AddCustomList ListArray:=Range("C2:C4")

Zp∞t na obsah