🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: be.comp.programming
3 messages
3 total messages Started by dominova Thu, 13 Mar 2003 20:35
Besturingstekens in vb6
#5616
Author: dominova
Date: Thu, 13 Mar 2003 20:35
15 lines
1624 bytes
Hallo weer een vb6 vraagje
Ik heb een logitech toetsenbord en de standaardtaal is via het
configuratiescherm ingesteld op frans(belgisch)punt
Het typen met toetsenbord verloopt vlekkeloos.
Ik heb wel problemen met invoervalidatie in vb6
Ik wil bvb:enkel letters toestaan,natuurlijk ook de besturingstoetsen zoals
tab,shift,spatiebalk enz...

    strValid = "abcdefghijklmopqrstuvwxyz"

   If KeyAscii > 26 Then '26 is het laatste ascii teken voor besturingscode
        If InStr(strValid, Chr(KeyAscii)) = 0 Then
            KeyAscii = 0
Maar ik krijg bij de shift en de spatiebalk al foutmeldingen????
Iemand een oplossing????
Re: Besturingstekens in vb6
#5620
Author: sVennieboy
Date: Fri, 14 Mar 2003 01:19
42 lines
2808 bytes
On Thu, 13 Mar 2003 20:35:43 GMT, dominova <dominique.ca@pandora.be> wrote:
>  Hallo weer een vb6 vraagje
>  Ik heb een logitech toetsenbord en de standaardtaal is via het
>  configuratiescherm ingesteld op frans(belgisch)punt
>  Het typen met toetsenbord verloopt vlekkeloos.
>  Ik heb wel problemen met invoervalidatie in vb6
>  Ik wil bvb:enkel letters toestaan,natuurlijk ook de besturingstoetsen zoals
>  tab,shift,spatiebalk enz...
>  
>      strValid = "abcdefghijklmopqrstuvwxyz"
>  
>     If KeyAscii > 26 Then '26 is het laatste ascii teken voor besturingscode

Hier zit al een fout: de besturingscodes (in de betekenis van
niet-printbare karakters) lopen tot en met ASCII-code 31. Spatie is
ASCII-code 32.
TAB heeft trouwens ASCII-code 9, spatie is 32.

>          If InStr(strValid, Chr(KeyAscii)) = 0 Then
>              KeyAscii = 0
>  Maar ik krijg bij de shift en de spatiebalk al foutmeldingen????

Shift kan je niet echt vangen met zo'n constructie, want Shift (evenals
Ctrl en Alt) is een modifier key. Een toets die een andere toets een
andere functie geeft dan de normale functie dus. Je kan enkel weten
(zonder te veel te moeten "foefelen" ;) ) of Shift ingedrukt is door te
kijken of je bijv. een hoofdletter aankrijgt.

De pijltjestoetsen is dan weer een heel ander verhaal... Ik weet niet
hoe dit in windows net zit, ik weet wel dat onder DOS (onder andere) de
pijltjestoetsen eigelijk als 2 toetsaanslagen na elkaar gezien worden:
eerst een CHR(0) en daarna nog een CHR(x) met x een waarde die aangeeft
welke speciale toets er net gedrukt werd. Ik geloof dat een van de
pijltjestoetsen waarde 72 heeft (en dus in BASIC als CHR(0)+CHR(72)
ingelezen werd).

>  Iemand een oplossing????

Hopelijk zet het bovenste je op de goede weg :)

Succes,
sVennieboy
Re: Besturingstekens in vb6
#5651
Author: ActiveHouse
Date: Tue, 18 Mar 2003 18:31
20 lines
2144 bytes
> Shift kan je niet echt vangen met zo'n constructie, want Shift (evenals
> Ctrl en Alt) is een modifier key. Een toets die een andere toets een
> andere functie geeft dan de normale functie dus. Je kan enkel weten
> (zonder te veel te moeten "foefelen" ;) ) of Shift ingedrukt is door te
> kijken of je bijv. een hoofdletter aankrijgt.
>
> De pijltjestoetsen is dan weer een heel ander verhaal... Ik weet niet
> hoe dit in windows net zit, ik weet wel dat onder DOS (onder andere) de
> pijltjestoetsen eigelijk als 2 toetsaanslagen na elkaar gezien worden:
> eerst een CHR(0) en daarna nog een CHR(x) met x een waarde die aangeeft
> welke speciale toets er net gedrukt werd. Ik geloof dat een van de
> pijltjestoetsen waarde 72 heeft (en dus in BASIC als CHR(0)+CHR(72)
> ingelezen werd).
>
met het key-down event moet het wel lukken om shift enz ... te vangen.
de pijltjestoetsen kan je met key-down ook "vangen", zelfs als ��n karakter.
(Keycode gebruiken)

groeten,
Kris
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads