PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variable von 0 auf 1 und wieder zurücksetzen



mat-sche
23.02.2008, 16:49
Hallo Ihr´s,

ich finde gerade keinen gescheiten Gedanken! ](*,) und darum brauch ich einen Ideenanschub:



Case 51 : Toggle F_url_bad
If F_url_bad = 0 Then
Showpic 155 , 55 , Bhaken
Else
Showpic 155 , 55 , Bhaken_i
End If
Waitms 20


ich möchte ein Bit per Touchscreendruck mit jedem drücken einmal von Null auf eins und wieder zurück schalten.
Doch mit dem code oben ist es schwierig. Der Programmdurchlauf ist so schnell, dass ich mit dem ersten drücken das Bit F_url_bad hin und herschalte bevor ich das Tochscreen losgelassen habe.

Hat jemand eine Idee wie ich es lösen könnte?

Gruß MAT

mat-sche
23.02.2008, 16:56
Ich noch mal :cheesy:

ich habe die Waitms erhöht und es bringt den gewünschten effekt. Gibt es noch eine andere Möglichkeit, ohne Waitms?

Jaecko
23.02.2008, 17:00
Versuchs mal so. Dazu brauchst du nur die neue Variable Pressed. Die müsstest du dann im Hauptprogramm wieder auf 0 setzen, sobald du die Taste/Touchscreen loslässt.
In der Case wird die Anweisung also nur 1x durchgeführt, und dann erst wieder, wenn man zuvor nichts drückt.

Case 51 : Toggle F_url_bad
If F_url_bad = 0 AND Pressed = 0 Then
Showpic 155 , 55 , Bhaken
Else
Showpic 155 , 55 , Bhaken_i
End If
Pressed = 1

for_ro
23.02.2008, 17:00
Schau dir mal den Debounce Befehl an.
Andernfalls kannst du auch selber überprüfen, ob der Zustand zwischendurch mal auf 0 gegangen ist, und erst dann das Togglen freigeben.

Gruß

Rolf

Feratu
23.02.2008, 17:04
toggle bit variable ;P

mat-sche
23.02.2008, 17:32
Danke erstmal an alle!

@ Jaecko: das ist eine überlegung wert, wird aber nicht klappen, da ich erst einige zeit später in das Hauptprogramm zurück springen werde

@for_ro: der debounce Befehl geht, soweit ch es aus der Hilfe ersehe, doch nur für einen Schalter an einem PIN. Bei mir aber lese ich auf meinem Touchscreen eine x/y Wert aus, der dann den Schaltbefehl gibt.

@Feratu: was meinst Du mit "toggle bit variable ;P" mehr input bitte :)