Chaloši ako najľahšie urobím vo VB loop ktorý bude čakať na stlačenie F1, prosím, prosím úryvok zdrojáku.
Možno vyzerám ako lamoš, ale keď použijem niečo ako KEYPRESS tak to ide výborne, až na malý detail - nezachytáva to funkčné klávesy. THX
Chaloši ako najľahšie urobím vo VB loop ktorý bude čakať na stlačenie F1, prosím, prosím úryvok zdrojáku.
Možno vyzerám ako lamoš, ale keď použijem niečo ako KEYPRESS tak to ide výborne, až na malý detail - nezachytáva to funkčné klávesy. THX
DIYS gripmeen >> CPU Wolfdale E8200 MOBO Gigabyte GA-P35-DS3R rev 2.1 RAM A-DATA DDRII 800+ EE VGA Gigabyte 3850 512MB HDD SAMSUNG 500GB HD501LJ
Fujistu Siemens Scenic >> CPU Pentium III 1000MHz MOBO unknown RAM 256 + 128MB VGA int. i810 HDD 20GB neznameho typu
nevim jak v VB ale v dephi funguje na funkcni klavesy keyUP a keyDOWN, keypress je jen na standartni kody...Původně odeslal iPoK Xpert
malinko problem je akorat s tabulatorem, ale taky se to da resit..
Athlon XP 1700+ B0 JIUHB @ 2600+ / ThermalTake Volcano 7+ / EPoX 8K9AI / KingStone 256MB PC2700 / MSI GeForce4 440MX-8xAGP / WD800JB / EIZO L568
Jo, jo ale tieto funkcie funguju iba ak ich aplikuješ na nejaký objekt. A ja by som potreboval iba čistý loop v programe, niečo ako toto:
do
a$=inkey$
loop until a$=xxx
DIYS gripmeen >> CPU Wolfdale E8200 MOBO Gigabyte GA-P35-DS3R rev 2.1 RAM A-DATA DDRII 800+ EE VGA Gigabyte 3850 512MB HDD SAMSUNG 500GB HD501LJ
Fujistu Siemens Scenic >> CPU Pentium III 1000MHz MOBO unknown RAM 256 + 128MB VGA int. i810 HDD 20GB neznameho typu
aha tak to je potom jina ...
na to sou api funkce, jedna z nich je GetKeyState(), tou bys to mohl dokazat, jinak se podivej do Win32 Developers reference a tam najdes podobnych funkci vic.
Athlon XP 1700+ B0 JIUHB @ 2600+ / ThermalTake Volcano 7+ / EPoX 8K9AI / KingStone 256MB PC2700 / MSI GeForce4 440MX-8xAGP / WD800JB / EIZO L568
Nevim, jestli to bude fungovat stejne, ale mam pocit, ze tyhle klavesy (funkcni) vraci v ASCII nejprve nulu a pak konkretni hodnotu, tak to osetri takhle, ne? Staci ti k tomu jakykoli prikaz co nacte ASCII stisknute klavesy?
A možeš mi prosím Ťa napísať aký je to príkaz. S VB som začal nedávno a naviac nemám v práci moc času študovať (a napriek tomu, že to neviem, to mám spraviťPůvodně odeslal D_a_v_i_d
+ ešte sa postarať o hardware).
V dose (pascal, vbdos) to bolo jednoduché: INKEY apod. Ale VB pre Win niečo také nepozná. Tak PLS help, lebo toho času je fakt málo a vonku je celkom fajn.
DIYS gripmeen >> CPU Wolfdale E8200 MOBO Gigabyte GA-P35-DS3R rev 2.1 RAM A-DATA DDRII 800+ EE VGA Gigabyte 3850 512MB HDD SAMSUNG 500GB HD501LJ
Fujistu Siemens Scenic >> CPU Pentium III 1000MHz MOBO unknown RAM 256 + 128MB VGA int. i810 HDD 20GB neznameho typu
vsak ti rikam ze je to GetKeyState, jako parametr je virtualni kod klavesy coz je v tomhle pripade VK_F1 a vraci to nejaky short nebo neco, das to do toho loopu a mas toPůvodně odeslal iPoK Xpert
![]()
Athlon XP 1700+ B0 JIUHB @ 2600+ / ThermalTake Volcano 7+ / EPoX 8K9AI / KingStone 256MB PC2700 / MSI GeForce4 440MX-8xAGP / WD800JB / EIZO L568
No ale ako pozerám do MSDN, tak to vyzerá ako funkcia pre C++. VB to nepozná, alebo to treba deklarovať? Nemožeš mi predhodiť zdroják, lebo sám si nie som schopný poradiť. Lepšie raz vidieť ako 100x povedať ako to spraviť.Původně odeslal night_
DIYS gripmeen >> CPU Wolfdale E8200 MOBO Gigabyte GA-P35-DS3R rev 2.1 RAM A-DATA DDRII 800+ EE VGA Gigabyte 3850 512MB HDD SAMSUNG 500GB HD501LJ
Fujistu Siemens Scenic >> CPU Pentium III 1000MHz MOBO unknown RAM 256 + 128MB VGA int. i810 HDD 20GB neznameho typu
ja nemam VB, ale je to API funkce tak musi jit v kazdem prostredi pod WIN, nevim, mozna se musi neco deklarovat..treba se musi importovat naka knihovna, fakt netusim s timhle nepomuzu.Původně odeslal iPoK Xpert
Athlon XP 1700+ B0 JIUHB @ 2600+ / ThermalTake Volcano 7+ / EPoX 8K9AI / KingStone 256MB PC2700 / MSI GeForce4 440MX-8xAGP / WD800JB / EIZO L568
a mas tu fci deklarovanou?
Kód:Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
OK, zadeklaroval som, ale stále mi to vracia nulu:
premenná = GetKeyState (97)
97 je ASCII kód malého a (najskôr si to odskúšam na nejakej norm. klávese).
Už fakt neviem ako ďalej.
DIYS gripmeen >> CPU Wolfdale E8200 MOBO Gigabyte GA-P35-DS3R rev 2.1 RAM A-DATA DDRII 800+ EE VGA Gigabyte 3850 512MB HDD SAMSUNG 500GB HD501LJ
Fujistu Siemens Scenic >> CPU Pentium III 1000MHz MOBO unknown RAM 256 + 128MB VGA int. i810 HDD 20GB neznameho typu
Z napovedy jsem skusil narychlo toto.
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Const VK_F1 = &H70
Private Sub Command1_Click()
Dim Key As Integer
Key = GetKeyState(VK_F1)
If Key And 1 Then
Text4.Text = "F1 is On"
Else
Text4.Text = "F1 is Off"
End If
End Sub
Zaloz si novy exe projekt, do formulare pridej jeden textbox a jeden command button.
Jo ten textboxt musis prejmenovat na text4, nebo to prepsat v kodu na text1.
Konečne, riešenie môjho problému. Funguje to výborne. Vďaka za pomoc všetkým. POK
DIYS gripmeen >> CPU Wolfdale E8200 MOBO Gigabyte GA-P35-DS3R rev 2.1 RAM A-DATA DDRII 800+ EE VGA Gigabyte 3850 512MB HDD SAMSUNG 500GB HD501LJ
Fujistu Siemens Scenic >> CPU Pentium III 1000MHz MOBO unknown RAM 256 + 128MB VGA int. i810 HDD 20GB neznameho typu
Nevim k cemu to chces pouzit, ale prikazum "Do ....loop" se radsi vyhybej. Zkus pouzit treba casovac (timer), do nej zapsat kod a povolit ho (zakazat) kdy budes potrebovat.
No ja programujem testery a ten tester po ukončení testu skratuje (do klávesnice idú 2 kábliky) klávesu F1 a ja tento stav potrebujem detekovať, lebo program nemôže predbehnúť tester - je to taká spätná väzba medzi testerom a PC.
A so slučkami je to v poho pokiaľ ich nevnoríš viac do seba (sa mi zdá, že od troch začínajú problémy). Ale v mojom prog. to nemám.
Ešte raz díky, lebo ste ma zachránili od HW prestavby testera (načo, keď chyba je v SW). POK
DIYS gripmeen >> CPU Wolfdale E8200 MOBO Gigabyte GA-P35-DS3R rev 2.1 RAM A-DATA DDRII 800+ EE VGA Gigabyte 3850 512MB HDD SAMSUNG 500GB HD501LJ
Fujistu Siemens Scenic >> CPU Pentium III 1000MHz MOBO unknown RAM 256 + 128MB VGA int. i810 HDD 20GB neznameho typu
Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)