Ascii Code

Bamboos

Grünschnabel
Also ich brauch Hilfe mit dem Ascii Code.

Und zwar wenn ich die Taste R drücke möchte ich das die anderen (Buchstaben)Tasten nicht funktionieren bis ich wieder die Taste R drücke. Erst dann dürfen wieder alle Tasten per Ascii Code ansprechbar sein.

Ich zeig euch mal ein kurzes Codebeispiel wo ich das integrieren will:
Code:
Private Sub Form_KeyPress(KeyAscii As Integer)


Select Case KeyAscii
Case 114 'TasteR

If Ausgabefenster.Caption = "Verbindung wird aufgebaut..." Then 'Damit wieder Verbindungungsabbau steht überprüft er im Ausgabenfenster ob Verbindungsaufbau steht,
   
    'die 2 Befehle dienen zum Schliessen des Programms PicoPhone
    TerminateProcess pHandle, 0 ' Terminate the process
    CloseHandle pHandle ' Close the handle down
    
ButtonR.BackColor = &H8000000F
'wenn ja schreibt er Verbindungsabbau im Ausgabefenster
Ausgabefenster.Caption = "Verbindung wird abgebaut"
Tastenname.Caption = "" 'Hier löscht er die Infos bei Tastenname und IP-Adresse raus
Label6.Caption = ""
Goto 10 'Hier überspringt er den unteren Code, dh er wird nicht ausgeführt
End If
 
If KeyAscii = 114 Then

ButtonR.BackColor = &H8000000D
Ausgabefenster.Caption = "Verbindung wird aufgebaut..." 'wenn die Taste R gedrück wird, dann erscheint im Ausgabefenster, dass die Verbindung aufgebaut wird
F = FreeFile 'Mit diesem Befehl wird die Textdatei geöffnet
Open App.Path & "\Configuration\Tastenbelegung\R.txt" For Input As #F 'wo die datei ist, aus der ausgelesen werden soll
Line Input #F, Taste2 'Hier werden die Daten augelesen und in die Variablen gespeichert
Line Input #F, bezeichner2
Line Input #F, ip2
Close #F 'Hier wird wieder Datei geschlossen
Tastenname.Caption = bezeichner2 'Hier schreibt er die Info aus den Variablen in die Textfelder und sind sichtbar für den User
Label6.Caption = ip2

'Programmaufruf von PicoPhone und anwählen der gespeicherten IP-Adresse
    newip = ip2 + ":12000"
    hScrnSaver = Shell("C:\IP@COM\Configuration\Port11676\PicoPhonePort11676.exe /min /call:" + newip, vbNormalFocus)
    pHandle = OpenProcess(PROCESS_ALL_ACCESS, 0, hScrnSaver)
    
10 End If 'Hier springt er runter von der ersten Anweisung

So ich bräucht ein paar Beispiele wie ich das realisieren kann (hab auch nichts dagegen wenn es jmd komplett programmiert).

Ich habe scho viele Wege versucht aber keiner hatte annähernd die Wirkung die ich haben will.

Bitte helft mir

Dankeschön mal
 
Sorry, ich hab grad nicht viel Zeit, aber kannst du das nicht über die APi mit den Keycodes lösen?Hoffe mal ich hab dein Problem richtig verstanden, aber das ist meiner Meinung nach der einfachste Weg.
 
Hi ,

sollen die Eingaben nur in deinem Programm oder Systemweit
gesperrt werden ?
Wenn es nur im Programm sein soll dann mußt du dir das Drücken
der R Taste in einer Variable (z.B. als Static oder Public) merken und
diese dann hin und her schalten.
Ist der Wert einer Boolean Variable dann True (also R wurde einmal
gedrückt) leitest du alle KeyAscii = 0 um, also im KeyPress Ereignis

If Variable = True Then
KeyAscii = 0
End if

und KeyPreview der Form auf True setzen damit die Tastatureingaben
Formweit abgefangen werden, also in jedem in der Form befindlichen
Control.

Das ist ziemlicher Spaghetti Code, also sehr unübersichtlich.
Gewöhne dir besser gleich an den Code in Select Case oder If
Anweisungen einzurücken, dann ist das wesentlich besser lesbar.

Gruß
Jens
 
Zurück