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

  Pot°ebuji ve Visual Basicu pφpnout, tj. vydat zvuk o urΦitΘ frekvenci a dΘlce. Myslel jsem na funkci API Beep, ta vÜak umo₧≥uje pφpnout pouze ve Windows NT, ve Windows 9x p°ehraje systΘmov² zvuk.

Odpovφdß Jan Zajφc ml.

Pφpnutφ "speakera" je mo₧nΘ pomocφ knihovny port.dll (mohu zaslat, ale nevφm, jak je to s autorsk²mi prßvy).

Pφpnutφ.

For i = 1 To 100
  OUTPORT 97, (INPORT(97) Or 2)
  For y = 1 To 10000 : Next y
  OUTPORT 97, (INPORT(97) And 253)
  For y = 1 to 10000 : Next y
Next i

Tyto p°φkazy zp∙sobφ vytvo°enφ obdΘlnφkovΘho pr∙b∞hu nap∞tφ na v²stupu speakeru. Tedy 100 se nahodφ a shodφ. Aby byl na PC s procesorem 200MHz slyÜet t≤n, musφ se zavΘst dostateΦnΘ Φekacφ doby. Ty jsou tvo°eny Φφtacφmy smyΦkami do 100 000. P°esnß v²Üka je zßvislß na pou₧itΘm PC. OvÜem sΦφtacφ smyΦky nejsou zrovna vhodnΘ, nßsledujφcφ p°φklad ji₧ vyrobφ lepÜφ zvuk.

For i = 1 To 100
  OUTPORT 97, (INPORT(97) Or 2)
  DELAY 1
  OUTPORT 97, (INPORT(97) And 253)
  DELAY 1
Next i

Dßle je d∙le₧itΘ si deklarovat tyto funkce:

Declare Sub OUTPORT Lib "port.dll" (ByVal Adr As Integer, ByVal Dat As Integer)
Declare Function INPORT Lib "port.dll" (ByVal Adr As Integer) As Integer
Declare Sub DELAY Lib "port.dll" (ByVal Cas As Integer)

 

  Jak se dß p°epφnat klßvesnice? Nap°. z anglickΘ do ΦeskΘ a nazp∞t.

P°iklßdßme p°φklad, kter² nßm zaslal jeden ze Φtenß°∙.


  Je ve VB mo₧nΘ aby se program spustil p°es celou obrazovku, jako nap°. v∞tÜina her?
  

Pokud chcete zobrazit formulß° p°es celou obrazovku, m∙₧ete bu∩ pou₧φt rozhranφ DirectX, nebo nastavte formulß°i vlastnost WindowState na Maximized (2) a BorderStyle na None (0). V takovΘm p°φpad∞ bude formulß° p°es celou obrazovku. Pokud vßm vadφ taskbar, kter² bude samoz°ejm∞ vid∞t, m∙₧ete jej schovat pomocφ funkce API SetWindowPos.

Dim hw As Long

hw = FindWindow("Shell_traywnd", "")
SetWindowPos hw, 0, 0, 0, 0, 0, SWP_HIDEWINDOW

Otßzky bez odpov∞di

  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.

  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?

  NaÜel jsem v API vieweru funkci SetWindowsHook, ale jaksi ji neumφm pou₧φt. M∙₧ete mi prosφm napsat jednoduch² nßvod s p°φkladem?

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