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:

Kleines Countdown-Programm

 
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
nemored



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

BeitragVerfasst am: 03.03.2017, 11:42    Titel: Kleines Countdown-Programm Antworten mit Zitat

Zwar keine Frage zu FB, aber ein Projekt ist es auch nicht wirklich, darum bringe ich es mal hier unter. Da ich auf die Schnelle ein kleines Programm gebraucht habe, dass mir regelmäßig signalisiert, wann fünf Minuten vorbei sind, habe ich mir den Timer zusammengeschrieben.

Er zählt beim Start von 05:00 Minuten abwärts bis 00:00 und kann dann mit Tastendruck neu gestartet werden. Beenden ist jederzeit mit ESC oder Schließen-Button möglich. Die Fenstergröße ist bewusst klein gehalten, damit ich das Programm "always top" in die Ecke schieben kann. happy

Die Countdown-Zeit ist auf den Minuten-Bereich beschränkt, und Anpassungen sind aktuell nur über den Quellcode möglich (vielleicht habe ich ja irgendwann mal Lust, da noch was zu basteln, aber vorerst erfüllt es seinen Zweck).

Code:
' Der Timer zählt von der angegebenen Zeit aus rückwärts bis 0. Danach kann er mit Tastendruck neu gestartet werden.
' Zum Beenden bitte die ESC-Taste oder den Schließen-Button des Grafikfensters betätigen.

#include "vbcompat.bi"
dim as string taste             ' zur Tastaturabfrage; ESC / Schließen-Button beendet das Programm
dim as double startZeit         ' wird bei jedem Durchlauf mit TIMER abgeglichen
dim as integer vergangen        ' Anzahl der aktuell vergangenen Sekunden
dim as integer anzeige          ' angezeigter Zeitwert, in Sekunden
dim as integer dauer     = 300  ' Anzahl der Laufzeit in Sekunden
dim as integer blinkzeit = 10   ' Anzahl der Sekunden, in denen am Ende die Anzeige blinken soll

screenres 120, 48
windowtitle "Timer"
width 15, 3
color 7

do
  startZeit = timer
  vergangen = -1
  do
    sleep 1
    if timer - startZeit > vergangen+1 then
      vergangen = int(timer - startZeit)
      anzeige = dauer - vergangen
      if anzeige < blinkzeit then cls : sleep 200
      locate 2, 5
      print iif(anzeige < 600, " 0", " ") & anzeige\60; ":" & iif((anzeige mod 60) < 10, "0", "") & anzeige mod 60 & " "
    end if
    taste = inkey
    if taste = chr(27) or taste = chr(255, 107) then exit do, do
  loop until timer > startZeit + dauer
  locate 2, 5
  color 12
  print "FERTIG!"
  beep
  color 7
  do
    taste = inkey
    sleep 1
  loop until len(taste)
loop until taste = chr(27) or taste = chr(255, 107)

_________________
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: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 03.03.2017, 20:42    Titel: Antworten mit Zitat

Für das unter

https://www.youtube.com/watch?v=P-Na2qyB8Ok

gezeigte Anzeigesystem im Hintergrund, welches übrigens auch FreeBasic ist, hatte ich so etwas auch einmal geschrieben, weil es beim dortigen öffentlichen Vereinsanlass einen Rückwärts-Counter für ein bestimmtes Spiel brauchte.

Bei Bedarf könnte ich einmal die Quellcodes verfügbar machen. Das Ganze war dort so aufgebaut, dass im Vordergrund eine mittels VBScript gesteuerte PowerPoint-Präsentation lief, welches die verschiedenen Anzeige-Kulissen als FreeBasic-Modul aufgerufen hat, z.B. der dortige Zähler für durchs Gitter hindurch hochgehievte Gegenstände ist so ein Modul (von einem Vereinsmitglied auf der Tastatur des Beamer-Notebooks bedient übrigens. Raspberry Pi-Freaks von Euch würden wahrscheinlich am liebsten noch eine Lichtschranke implementieren...).
_________________
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