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.
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/OTAZKA.GIF) |
Jak ud∞lßm formulß°, kter² bude po°ßd naho°e? Tφm myslφm to, ₧e kdy₧ aktivuji
jak²koliv jin² program, moje okno bude v₧dy vid∞t, tak jako funkce u WinAmpu.
|
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/ODPOVED.GIF) |
Pomocφ standardnφch p°φkaz∙ Visual Basicu toto provΘst nelze. Musφte si pomoci
funkcφ API SetWindowPos .
SetWindowPos form1.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE
Pokud chcete umφst∞nφ trvale naho°e zruÜit, mφsto konstanty HWND_TOPMOST
zadejte 0.
|
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/OTAZKA.GIF) |
Pot°ebuji otev°φt slo₧ku, ve kterΘ je program (nap°.
pomocφ FileSystemObject ). Jak na to?
|
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/ODPOVED.GIF) |
Na toto vßm FileSystemObject nepom∙₧e. Ale m∙₧ete pou₧φt jednoduch² trik. StaΦφ
zavolat p°φkaz operaΦnφho systΘmu Start a jako parametr mu p°edat po₧adovanou
slo₧ku. Jde-li o slo₧ku aplikace, potom App.Path .
Shell "start " & App.Path, vbHide
|
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/OTAZKA.GIF) |
Chci pou₧φvat Resource editor, kter² je jako dopln∞k k Visual Basicu.
Kdy₧ jsem jej m∞l na operaΦnφm systΘmu Windows 98, vÜe fungovalo v po°ßdku. Te∩ mßm vÜak
Windows 2000 a nemohu jej mezi dopl≥ky najφt. Visual Basic jsem instaloval jako Administrator.
Pod tφmto ·Φtem je vÜe v po°ßdku. Kdy₧ se vÜak p°ihlßsφm pod jin²m ·Φtem, vid∞t nenφ.
|
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/ODPOVED.GIF) |
Informace o dopl≥cφch si Visual Basic uklßdß do registru do v∞tve HKEY_CURRENT_USER. Proto nejsou dopl≥ky
vid∞t pod jin²mi u₧ivatelsk²mi konty. Dß se to opravit n∞kolika zp∙soby. Pokud jde o Resource editor, staΦφ,
kdy₧ zaregistrujete knihovnu REGEDIT.DLL, nap° programem REGSVR32.EXE. REGEDIT.DLL najdete v adresß°i
C:\Program Files\Microsoft Visual Studio\VB98\Wizards\ a program REGSVR32.EXE v C:\WINNT\SYSTEM32.
Vφce informacφ o tΘto chyb∞ naleznete na strßnkßch Microsoftu.
|
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/OTAZKA.GIF) |
Mßm prvek Data, kter² chci p°ipojit na MS SQL server. Jako zdroj nechci
ani dotaz ani tabulku, ale ulo₧enou proceduru. Je to mo₧nΘ n∞jak za°φdit?
|
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/ODPOVED.GIF) |
Je to mo₧nΘ, dokonce velmi jednoduÜe. StaΦφ zadat zdroj, tj. RecordSource ,
p°φkaz ke spuÜt∞nφ tΘto procedury. Jako p°φklad uvßdφm napojenφ na proceduru sp_who2 .
Data1.Connect = "ODBC;DSN=MujServer;;Database=master;Uid=sa;Pwd=;"
Data1.RecordSource = "Exec sp_who2"
Data1.Options = Data1.Options Or dbSQLPassThrough
Data1.Refresh
|
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/OTAZKA.GIF) |
Jak zjistφm, ₧e m∙j program be₧φ ve v²vojovΘm prost°edφ Visual Basicu
nebo u₧ p°φmo jako EXE soubor?
|
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/ODPOVED.GIF) |
Existuje n∞kolik zp∙sob∙. M∙₧ete nap°. porovnat jmΘno souboru s vlastnostφ
EXEName objektu App . Pokud program b∞₧φ ve v²vojovΘm prost°edφ,
vracφ tato vlastnost jmΘno projektu, pokud ji₧ b∞₧φ jako EXE soubor, vracφ jmΘno EXE souboru.
Druh² zp∙sob je nap°. pomocφ funkce API GetModuleFileName . Pokud program
b∞₧φ ve v²vojovΘm prost°edφ, vracφ cestu k EXE souboru Visual Basicu, pokud b∞₧φ sßm, vracφ
jeho nßzev. NejjedoduÜÜφ je pou₧itφ metody Print objektu Debug .
Tyto °ßdky jsou toti₧ po p°elo₧enφ do EXE souboru vymazßny. Tzn. ₧e m∙₧ete ud∞lat n∞jakou
chybu, nap°. d∞lenφ nulou a pokud tato chyba vznikne, je program spuÜt∞n z IDE Visual Basicu.
Pokud nevznikne, jde ji₧ o p°elo₧en² EXE soubor, ze kterΘho byla konstrukce Debug.Print
vymazßna.
Public Function IsIDE() As Boolean
On Error GoTo err_handler
Debug.Print 1 / 0
IsIDE = False
Exit Function
err_handler:
IsIDE = True
End Function
|
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/OTAZKA.GIF) |
Jak vyprßzdnφm DBGrid, kter² je napojen na prvek Data?
|
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/ODPOVED.GIF) |
Chcete-li vyprßzdnit vÜechny °ßdky, kterΘ jsou vid∞t v DBGridu, mßte n∞kolik mo₧nostφ.
NejjednoduÜÜφ je zadat zdroj prvku Data dotaz, kter² na 100% nevybere ₧ßdnß data, nebo
zav°φt objekt Recordset prvku Data a zavolat metodu ReBind .
Data1.Recordset.Close
DBGrid1.ReBind
|
Otßzky bez odpov∞di
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/OTAZKA.GIF) |
Jak²m zp∙sobem mohu ulo₧it do resource souboru MP3 soubor a jak ho odtud zφskat?
|
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/OTAZKA.GIF) |
Pot°eboval bych pomocφ funkce API vyvolat dialog "Najφt".
SlyÜel jsem, ₧e je to p°esn∞ funkce Findtext .
Jejφ deklaraci jsem si naÜel v programu API Text Viewer
vΦetn∞ typu FINDREPLACE . |
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/OTAZKA.GIF) |
Neexistuje n∞jak² OCX, nebo DLL knihovna, kterß by umo₧≥ovala odesφlßnφ
krßtk²ch textov²ch zprßv rovnou z PC p°es modem? |
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/OTAZKA.GIF) |
Jak lze p°ijφmat/posφlat data na n∞kter² z port∙ ve Windows 2000? |
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/OTAZKA.GIF) |
Nevφte kde se dß sehnat (pokud existuje) prvek, kter² se chovß jako textovΘ pole ve Wordu? |
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/OTAZKA.GIF) |
Pou₧φvßm VB6 a cht∞l bych z mΘho programu otev°φt soubor PhotoPaintu. K≤d vypadß nßsledovn∞:
Dim xApp as PHOTOPAINT.CPntAutomate
xApp.FileOpen ("nazov suboru")
Bohu₧el to takto nefunguje. Co jeÜt∞ musφm zadat, aby se soubor otev°el? |
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/OTAZKA.GIF) |
Jak zjistit, kolik bajt∙ bylo sta₧eno p°es Internet v p°edem danΘ dob∞? Jde mi o p°ipojenφ
p°es lokßlnφ sφ¥, ne p°es modem. |
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/OTAZKA.GIF) |
Jak se dß ve Visual basicu ovlßdat USB port? |
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/OTAZKA.GIF) |
Ve Windows 98 jsem vytvo°il program s ovlßdacφm prvkem Timer. Program fungoval bez problΘm∙, ale kdy₧ jsem jej
spustil na Windows 2000, prvek Φasoval asi 5x rychleji. Nevφte so s tφm? |
![](/file/23408/Chip_2002-02_cd1.bin/zkuste/vbasic/Grafika/OTAZKA.GIF) |
Pot°ebuji ve svΘm programu pou₧φt pr∙hledn² textbox nebo textbox, ve kterΘm by byl na pozadφ mnou vybran² obrßzek.
Na Internetu jsem naÜel t°i r∙znΘ nßvody, ale ani jeden
neposkytuje takovΘ funkce jako p∙vodnφ textbox (ScrollBar, DataField atd.). |
|