Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Nur beim Tastendruck zählen .

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
arduno



Anmeldungsdatum: 12.05.2011
Beiträge: 240

BeitragVerfasst am: 28.02.2019, 18:19    Titel: Nur beim Tastendruck zählen . Antworten mit Zitat

Hallo, guten Tag.

Es soll hier bitte nur beim Tastendruck hochgezählt werden.

Es zählt aber beim Tastenloslassen auch einmal hoch.

Wie kann man es machen das nur immer 0.1 hochgezahlt wird.
Manchmal erscheint auch 0.8999999 usw.

Danke.
Gruss

Code:

If MULTIKEY(FB.SC_a) Then
      thr=thr+0.1
      If thr > 1 Then
         thr=1
      EndIf
      Sleep 200
      Print thr
   EndIf
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 932
Wohnort: Ruhrpott

BeitragVerfasst am: 01.03.2019, 14:36    Titel: Antworten mit Zitat

Damit dein Snippet nur einmal zählt, mußt du die Taste innerhalb von 200 Millisekunden wieder loslassen. So geht es besser:
Code:
#Include "fbgfx.bi"
Dim As Double thr

Do
   If MULTIKEY(FB.SC_a) Then
      thr=thr+0.1
      If thr > 1 Then
         thr=1
      EndIf
      Print thr
      Do 'wartet auf das loslassen der taste
         Sleep 1
      Loop While MULTIKEY(FB.SC_a)
   EndIf
Loop


Und was die "krummen" Werte betrifft, das hängt mit dem internen (binären) Speicherformat von Fließkommazahlen zusammen. Aber das ist ein Kapitel für sich.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4255
Wohnort: ~/

BeitragVerfasst am: 02.03.2019, 13:01    Titel: Antworten mit Zitat

Das Problem mit den krummen Zahlen lässt sich ganz einfach dadurch beheben, dass man nur in Ganzzahlschritten zählt. Durch 10 teilen kann man die Summe am Ende ja dann immer noch.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2464
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 02.03.2019, 20:49    Titel: Re: Nur beim Tastendruck zählen . Antworten mit Zitat

Zur Zeile
arduno hat Folgendes geschrieben:
Code:

      thr=thr+0.1

bitte folgenden Artikel studieren:

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/Gleitkommazahlen.html

Gilt auch in FreeBasic genauso!
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz