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:

stoppuhr
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
wert



Anmeldungsdatum: 11.06.2007
Beiträge: 12

BeitragVerfasst am: 11.06.2007, 20:59    Titel: stoppuhr Antworten mit Zitat

hi

ich habe vor folgendes zu programmieren und wollte fragen ob das mit qb auch mölich ist grinsen

eine stopuhr miet zeiten die gesammelt werden und daaus werden die schnellste und langsamste zeit herausgesucht durchschnitt wäre naturlich auch noch super . jedes mal wenn die stopp uhr ein signal bekommt soll eine neue zeit angefangen werden.

also hab ich mal versucht eine stopuhr zu proggen indem ich eine varialble als timmer definiere und diese minus timer nehme wenn ich eine taste drücke doch das hat nicht geklappt. es kamm immer die fehler meldung das ich 2 variablen gleich definiert hätte.
habt ihr eine idee wie ich mit der stopuhr anfangen könnte?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 11.06.2007, 21:29    Titel: Antworten mit Zitat

könnte man vielleicht so machen....
Code:



Dim TimeHolder(999) as Double
Dim ShortTime as Double
Dim ATime as Double

Dim Last as Integer


Do
    ATime=Timer
   
    getkey
    TimeHolder(Last)=Timer-ATime
    ShortTime=TimeHolder(Last)
    Last=Last + 1
   
Loop until Multikey(&h01)

For l as integer =0 to Last-1
    If TimeHolder(l)<ShortTime Then ShortTime=TimeHolder(l)
Next l

?"Die schnellste Zeit:",ShortTime

sleep

_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 11.06.2007, 21:55    Titel: Antworten mit Zitat

Und im richtigen Forum posten und zudem den Code, den man geschrieben hat (auch wenn er nicht gefunzt hat) gleich mit. zwinkern
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
darkinsanity
aka sts


Anmeldungsdatum: 01.11.2006
Beiträge: 456

BeitragVerfasst am: 12.06.2007, 08:40    Titel: Antworten mit Zitat

http://www.o-bizz.de/qbdown/qbeigen/stoppuhr.zip
zwar nicht von mir aber das Programm is gut. lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
wert



Anmeldungsdatum: 11.06.2007
Beiträge: 12

BeitragVerfasst am: 12.06.2007, 13:59    Titel: Antworten mit Zitat

danke für die schnellen antworten.
in welches forum hätte es den besser gepasst? dann weiss ich bescheid wenn ich wieder eine frage haben sollte.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 12.06.2007, 16:08    Titel: Antworten mit Zitat

Hier im Forum ist das Thema jetzt richtig. Du hattest ursprünglich glaube ich unter FreeBasic gepostet, obwohl sich deine Frage auf QB (=QBasic) bezog. zwinkern
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
wert



Anmeldungsdatum: 11.06.2007
Beiträge: 12

BeitragVerfasst am: 12.06.2007, 19:45    Titel: Antworten mit Zitat

hi

wie kann ich meinen code hier an besten ins forum kopieren? ich habe ein wenig rumversucht aber es gibt noch ein kleines problem durchgeknallt
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 12.06.2007, 20:46    Titel: Antworten mit Zitat

Du speicherst dein Programm mit der Option Format "Text - von anderen Programmen lesbar", öffnest diese Datei dann mit dem Editor, Wordpad oder so und kannst ihn dann hier als Code reinkopieren, indem du oben den Button "Code" davor und danach anklickst. Das setzt jeweils in eckigen Klammern ein code davor bzw. ein /code am Ende deines Programmtextes.
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
wert



Anmeldungsdatum: 11.06.2007
Beiträge: 12

BeitragVerfasst am: 13.06.2007, 15:53    Titel: Antworten mit Zitat

Code:

CLS

DO

IF INKEY$ = CHR$ (32) THEN

start! = TIMER

sekunde! = TIMER - start!

END IF

LOOP

PRINT sekunde!
LOCATE 1,1





hi

natürlich kommt immer null raus mit dem Kopf durch die Mauer wollen
wie bring ich ihn dazu das er sich das erste mal timer merkt und bei wiederholten clicken das mit dem aktuellem timer ninus nimmt? dann würde ich doch als sekunde! die vergangene zeit bekommen.
ich hoffe ich nerve euch nicht zu sehr und das ihr mir noch einmal helfen könnt.

gruß wert
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 13.06.2007, 16:00    Titel: Antworten mit Zitat

start! = timer muss vor das do zwinkern so resettet er bei jedem durchlauf start! zwinkern
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
wert



Anmeldungsdatum: 11.06.2007
Beiträge: 12

BeitragVerfasst am: 13.06.2007, 16:47    Titel: Antworten mit Zitat

natürlich danke!

wie rechne ich jetzt die sekunden in minuten um wenn 60 s vergangen sind? in dem pogramm ist es doch dieser teil der das macht?

Code:

Sekunden# = CDBL(Sekunden!)     
Stunden& = INT(Sekunden# / 3600#)
Minuten& = INT((Sekunden# - Stunden& * 3600#) / 60#)
Sekundenanzeige# = Sekunden# - Stunden& * 3600# - Minuten& * 60#
Sekunden$ = RIGHT$(STR$(CLNG(Sekundenanzeige# * 10) + 10 ^ 3), 3)
Minuten$ = RIGHT$(STR$(Minuten& + 100), 2)
Stunden$ = RIGHT$(STR$(Stunden& + 100), 2)



doch dan versteh ich noch nicht so recht. was ist dieses doubel oder dieses INT ?
fragen über fragen missbilligen

gruß wert
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



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

BeitragVerfasst am: 13.06.2007, 17:02    Titel: Antworten mit Zitat

Und das sekunde! = TIMER - start! kann auch aus der Schleife raus, aber unten hin.
INT schneidet die Nachkommastellen ab.
_________________
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
wert



Anmeldungsdatum: 11.06.2007
Beiträge: 12

BeitragVerfasst am: 13.06.2007, 17:14    Titel: Antworten mit Zitat

so eine minutenanzeige habe ich jetzt.

min% = INT(sekunde!/60)

doch jetzt zählt er die sekunden auch weiter wenn sie höher als 60 sind. hat jemand eine idee wie ich eine sekundenanzeige ausgeben kann die nur bis 60 zählt?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



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

BeitragVerfasst am: 13.06.2007, 17:16    Titel: Antworten mit Zitat

Ich weiß jetzt die Modulo-Funktion nicht aus dem Kopf - mathematisch brauchst du
INT(sekunde!) MOD 60


edit: In Ordnung, der Ausdruck HEISST
INT(sekunde!) MOD 60
_________________
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
wert



Anmeldungsdatum: 11.06.2007
Beiträge: 12

BeitragVerfasst am: 13.06.2007, 17:40    Titel: Antworten mit Zitat

super das geht! aber dann habe ich meine nachkommastellen bei den sekunden verloren. mir is grad auch noch eine lösung eingefallen

sekunde! -(min# *60)= sekundenanzeige!

Zunge rausstrecken
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
wert



Anmeldungsdatum: 11.06.2007
Beiträge: 12

BeitragVerfasst am: 13.06.2007, 17:51    Titel: Antworten mit Zitat

hi

mein programm sieht jetzt so aus:

Zitat:



CLS

start! = TIMER

DO

IF INKEY$ = CHR$ (32) THEN



sekunde! = TIMER - start!

END IF

min% = INT(sekunde!/60)
sekundenanzeige! = sekunde! - ( min%*60)

PRINT "min: " min%; "sec:" ;sekundenanzeige!
LOCATE 1,1


LOOP





wenn ich es starte läuft alles soweit. doch wenn 60 s rum sind steht hinter der sekundenanzeige -02 woher kommt das? durchgeknallt


Zuletzt bearbeitet von wert am 13.06.2007, 17:53, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



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

BeitragVerfasst am: 13.06.2007, 17:52    Titel: Antworten mit Zitat

Kannst ja mal ausprobieren, ob
sekunde! MOD 60
auch funktioniert. Mir ist Modulo mit Nachkommastellen allerdings nicht recht geheuer.
_________________
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
nemored



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

BeitragVerfasst am: 13.06.2007, 17:54    Titel: Antworten mit Zitat

wert hat Folgendes geschrieben:
wenn ich es starte läuft alles soweit. doch wenn 60 s rum sind steht hinter der sekundenanzeige -02 woher kommt das? durchgeknallt

Und als Minutenwert? 1 oder 0?

Vielleicht verstehe ich es jetzt auch falsch - poste mal die gesamte Ausgabe.
_________________
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
wert



Anmeldungsdatum: 11.06.2007
Beiträge: 12

BeitragVerfasst am: 13.06.2007, 17:55    Titel: Antworten mit Zitat

das habe ich schon gemacht aber es gibt auch dann keine kommastellen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
wert



Anmeldungsdatum: 11.06.2007
Beiträge: 12

BeitragVerfasst am: 13.06.2007, 18:04    Titel: Antworten mit Zitat

so sieht die ausgabe aus:

min: 1 sek: 8,71875 -02
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
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