FAQ


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

Jak zjistit cestu k souboru pomocφ prvku CommonDialog. Kdy₧ u₧ivatel vybere soubor, mohu zjistit nßazev souboru vΦetn∞ cesty z vlastnosti FileName, ale jß pot°ebuji pouze cestu.
Prvek CommonDialog neumo₧≥uje zjistit pouze cestu k souboru, ale nabφzφ soubor vΦetn∞ cesty, jak uvßdφte a soubor bez cesty, FileTitle. StaΦφ odstranit z celΘ cesty dΘlku nßzvu souboru a mßte cestu:
'nßzev s cestou
Debug.Print dlg1.FileName
'nßzev bez cesty
Debug.Print dlg1.FileTitle
'cesta
Debug.Print Left(dlg1.FileName, Len(dlg1.FileName) - Len(dlg1.FileTitle))

Jak mohu aktivovat ·sporn² re₧im?

Odpov∞∩ na tento dotaz nßm poslal pan Michal Strehovsky:

Kniznica kernel32.dll obsahuje funkciu SetSystemPowerState. Jej parametrom su dve booleovske hodnoty: fSuspend a fForce. Ak je fSuspend True, tak sa system uspi pouzitim RAM alive techniky, ak je false, tak sa hibernuje. Ak je fForce True, nebude sa pytat beziacich aplikacii, ci moze prejst na usporny rezim, ale posle im spravu PBT_APMSUSPEND a potom system uspi. Ja pouzivam volanie funkcie:

SetSystemPowerState(false, false)

SlyÜel jsem n∞co o extrΘmnφm programovßnφ, kterΘ ·dajn∞ mnohem zv²Üi produktivitu programßtora. Je mo₧nΘ jej pou₧φvat ve Visual Basicu 6.0?
ExtrΘmnφ programovßnφ nemß nic spoleΦnΘho s urΦit²m programovacφm jazykem, jde o zatφm ne p°φliÜ pou₧φvanΘ techniky p°i v²voji software, tzn. je mo₧nΘ jej uplatnit v jakΘmkoliv jazyce. Chcete-li se o n∞m dozv∞d∞t vφce, p°eΦt∞te si knihu ExtrΘmnφ programovßnφ od Kenta Becka, kterß je u nßs zatφm jedinß v ΦeÜtin∞.

Lze n∞jak zjistit, jestli je v souboru DLL urΦitß funkce API?
Lze a nenφ to ani moc slo₧itΘ:
Declare Function FreeLibrary Lib "kernel32" Alias "FreeLibrary" _
  (ByVal hLibModule As Long) As Long
Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" _
  (ByVal lpLibFileName As String) As Long
Declare Function GetProcAddress Lib "kernel32" Alias "GetProcAddress" _
  (ByVal hModule As Long, ByVal lpProcName As String) As Long

Dim h As Long, ha As Long
h = LoadLibrary("soubor.dll")
If h <> Then
  ha = GetProcAddress(h, "HledanaFunkce")
  Debug.Print IIf((ha <> 0), "Existuje", "Neexistuje")
  FreeLibrary h
End If


Otßzky bez odpov∞di

Jak se pou₧φvajφ Nokia AT commands ve Visual Basicu 6.0?


M∙₧u n∞jak²m zp∙sobem zφskat jmenovku sekce na datovΘm CD (nap°.: sekce 1 se jmenovkou "ZALOHA", sekce 2 se jmenovkou "TEST"). Nßzev jmenovky umφm zφskat p°es FileSystemObject, ale nevφm jak je zφskat z vφcesekvenΦnφho CD.


Mßm problΘmy s integrovßnφm ActiveX vytvo°en²m ve VB 6.0 do webovΘ strßnky. StarΘ soubory, kterΘ mßm, fungujφ bezchybn∞, ale novΘ se necht∞jφ v∙bec naΦφst. Dßval jsem je tam p°es MS Front Page XP, ale kdy₧ je pustφm p°es VB 6.0, tak taky fungujφ. Nevφte Φφm by to mohlo b²t?


Vytvo°il jsem program, kter² pracuje se soubory vlastnφho formßtu. Soubory majφ vlastnφ p°φponu .dpw. Soubory jsou asociovßny s m²m programem. Mohu n∞jak²m zp∙sobem p°idat do vlastnostφ tohoto typu souboru (*.dpw) dalÜφ zßlo₧ku, kterß by obsahovala bli₧Üφ informace o dokumentu, podobn∞ jako je to u souboru .doc ve Wordu?


Znßte n∞jak² prvek ActiveX, kter² by zv²raz≥oval syntaxi zdrojovΘho k≤du HTML a k≤du Visual Basicu?


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?


Jak lze p°ijφmat/posφlat data na n∞kter² z port∙ ve Windows 2000?


Nevφte kde se dß sehnat (pokud existuje) prvek, kter² se chovß jako textovΘ pole ve Wordu?


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?


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.


Jak se dß ve Visual basicu ovlßdat USB port?


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?


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.).