Otázky a odpovědi
V této rubrice najdete odpovědi na své otázky, které můžete zasílat na adresu
vbtipy@seznam.cz. Pokud nebudeme znát odpověď na nějakou
otázku, objeví se v části Otázky bez odpovědi a budete-li znát odpověď vy,
můžete nám ji pomocí výše uvedené adresy zaslat, rádi ji zveřejníme.
Otázky a odpovědi
Otázky bez odpovědi
Otázky a odpovědi
Ve 4. dílu seriálu byla popsána možnost vytvoření tiskového výstupu
z tabulky dat vytvořené pomocí FlexGridu. Nevíte prosím jak na to v DBGridu.
DBGrid žádnou podobnou možnost jako FlexGrid nemá, proto z něj není příliš výhodné tisknout. Pokud chcete tisknout
data, která obsahuje, raději vytiskněte jeho obsah procházením objektu Recordset prvku Data, na který
je DBGrid připojen, normálně pomocí metody Print objektu Printer . Zjednodušeně nějak takto:
Do While Not Data1.Recordset.EOF
radek = Data1.Recordset!jmeno & chr(9) & Data1.Recordset!prijmeni & vbCrLf
Printer.Print radek
Data1.Recordset.MoveNext
Loop
Printer.EndDoc
Na stisk tlačítka potřebuji vytočit telefonní číslo na modemu. Můžete mi prosím poradit?
Pro práci s modemem je ve VB komponenta MSComm. Její použití je dobře popsáno v MSDN, takže stručně asi takto:
MSComm1.CommPort = 2 'seriový port, na kterém je připojen modem
MSComm1.Settings = "9600,N,8,1 'nastavení portu (blíže viz. MSDN)
MSComm1.PortOpen = True 'Otevření portu
MSComm1.Output = "ATDT" & cislo & vbCrLf 'Vytočení čísla
Nevím jakou funkcí zajistit aby se v tabulce MSFlexGrid po přechodu na vzdálenou pozici (např. po funkci vyhledávání)
příslušný řádek zobrazil. Vždy se pouze označí, ale je třeba ještě zajistit "přerolování" seznamu.
V prvku ListView toto zajišťuje metoda EnsureVisible objektu ListItem .
Chcete-li zobrazit řádek, který je mimo viditelnou oblast (je někde dole nebo nahoře), použijte vlastnost TopRow .
Stačí jí zadat číslo řádku. Pokud chcete to samé se sloupci, použijte LeftCol .
Chci přehrávat WAV soubory pomocí API funkce sndPlaySound, ale nefunguje mi to. Chybu to žádnou
nevypíše, ale ani nehraje. Deklaraci funkce jsem použil z API Text Vieweru. Kód vypadá takto:
Dim x As Long
x = sndPlaySound("c:\windows\media\tada.wav", SND_LOOP)
Chyba je v parametru flags funkce sndPlaySound . Používáte konstantu
SND_LOOP , která zapříčiní, že je soubor přehráván pořád dokola. Proto musíte ještě přidat
konstantu SND_ASYNC , která způsobí, že kód pokračuje hned dále aniž by čekal na ukončení přehrávání
(jinak by se program zastavil, čemuž se funkce brání, proto nic nepřehraje).
Dim x As Long
x = sndPlaySound("c:\windows\media\tada.wav", SND_LOOP + SND_ASYNC)
Otázky bez odpovědi
Potřebuji použít funkci Inkey , ale Visual Basic ji nemá. Neznáte způsob, jak ji nahradit?
Nevíte jak zjistit, které klávesy byly stisknuty, když je můj program na pozadí?
Nějak to jít musí, využívají toho např. programy CS-VOICE a BlackBox.
Jak je možné změnit IP adresu a masku podsítě pomocí Visual Basicu 5.0 nebo 6.0 na Windows 2000? A je možné
vrátit nastavení zpět na získání IP z DHCP serveru?
Potřebuji vytvořit aplikaci, která by uměla říct jiným programům, aby se nezobrazovali v TaskBaru. Tzn. stejně
jako když u své aplikace nastavím ShowInTaskBar na False .
Zkoušel jsem přidat bitmapu do menu pomocí API funkce SetMenuItemBitmaps. V normálním menu
to funguje. Jakmile však stejný postup použiji v PopupMenu, obrázek se nezobrazí.
Rád by som získal informácie o API funkciách pre prácu s resources, spôsob ich volania
vo VB a informácie potrebné pre správny chod funkcie:
loadresource, findresorce, freeresource, updateresource. Chcel by som urobiť malý
lokalizátor, a na to sú potrebné tieto funkcie, v angličtine (MSDN) som čosi porozumel,
ale neviem ako loadnuté resource zobraziť v Image, txt objekte, a ako ich updatovať do
súboru.
V MSDN je zmienka o použití interfacu k objektom Windows Exploreru na vloženie
objektov (Listview, treeview, combo, taskbar atď ) do vlastných aplikácií, ale priložené
vzory sú pre C++. Chcem Vás požiadať o nejaké moduly alebo príklady pre použitie týchto
objektov, za čo Vám budem veľmi vďačný ! Zaujíma ma hlavne zobrazenie Listview, treeview,
combo z exploreru a objekty z taskbaru (tabsysview, systraj objekt, objekt hodín a ponuky
Štart pre vytvorenie nového typu taskbaru). Veľmi Vás prosím o pomoc.
|