Zitat Zitat von Millenniumpilot
Hallo Andree,

hat funktioniert
Leider bin schon etwas älter, sprich langsamer, und musste daher die Verzögerung auf 120ms einstellen.
Nochmals vielen Dank.

Gruß Dirk
Aaach so... Ich hatte befürchtet, daß Du einen meiner fast in jedem Programm vorhandenen Lösungsansatz von vorn herein ausschließt. Wenn Du Dich auf zwei oder drei Tasten einlassen kannst, dann könnte diese Funktion doch interessant sein:

Code:
Function Adjust_value(byval Up_down As Byte, byvalue schritt as byte)
Cls

Adj1:
Locate 2 , 1
Lcd Up_down ; "  "
Taste = Analog_key()
If Taste = 32 Then Up_down = Up_down + schritt
If Taste = 33 Then Up_down = Up_down - schritt
If Taste = 10 Then
   Adjust_value = Up_down
   Exit Sub
End If

Goto Adj1

End Function
Die dazugehörige Tastaturabfrage (hier die klassische Tastatur an einem Analogport) die lustigen Zuordnungen von 10 - 32 - 33 haben ihren Grund einfach darin, daß die von mir häfig eingesetzen IR-Fernbedienungen diesen Code -prgup - prgdwn - ok - liefern und ich nur die Funktion austauschen muss, um umzusteigen) könnte dann so aussehen:

Code:
'Diese Unterfunktion fragt die Tastatur am analogen Port ab
Function Analog_key() As Byte
   Local Ws As Word
   Analog_key = 255
   Start Adc
   Ws = Getadc(1)
   If Ws < 900 Then
      Select Case Ws
         Case 0 To 100
            Analog_key = 32
         Case 400 To 600
            Analog_key = 33
         Case 650 To 750
            Analog_key = 10
      End Select
      Call Beep_confirm()
   End If
Waitms 100
End Function
Die Adjust_value Routine ist flexibel ausgelegt und erlaubt die Angabe einer Schrittweit pro Tastendruck. Das kann ganz nützlich sein, z. B. bei der Einstellung von Variablen von D/A Wandlern, wo man oft in 10ner Schritten voranschreiten möchte.

Eine Veränderung einer Variable via Tasten sähe als Aufruf dann so aus
(am Beispiel der Systemvariablen _min):

_min = adjust_value (_min, 1)

Das Spielchen kann man noch durch Minimum- und Maximumwerte erweitern etc. (entsprechende If Abfrage zum Rücksetzten).

Grüße
Henrik