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:

Nicht vorhandene Bibliotheken//

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



Anmeldungsdatum: 17.09.2004
Beiträge: 9

BeitragVerfasst am: 03.11.2004, 01:14    Titel: Nicht vorhandene Bibliotheken// Antworten mit Zitat

Betrifft qBasic v7.1[e]

Hallo....

ich stecke gerade in einem Programmierprojekt, in dem ich die Systemuhr auslesen muß. Da bin ich über die Funktion 'Now#' gefallen. Prima Sache dachte ich mir - ist ja genau wie bei VBA....

Leider kann diese Funktion nicht direkt genutzt werden. Es fehlen für diese und angelehnte Funktionen zwei (scheinbar) Standardbibliotheken, die offenbar nicht mitgeliefert wurden:

- DATIM.BI
- FORMAT.BI

mit dem Kopf durch die Mauer wollen

Habe mich bereits ein wenig im Netz umgesehen, konnte sie 'Dinger' aber nicht auftreiben.

Ist vielleicht hier jemand im Besitz dieser Bibliotheken? Ich würde sie dringend benötigen - bevor ich die WIN API bemühen muß (oder doch die Axt).

Gruß,
Aaron Alistair Mc Arden

#
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
E-P-S



Anmeldungsdatum: 16.09.2004
Beiträge: 500
Wohnort: Neuruppin

BeitragVerfasst am: 03.11.2004, 13:09    Titel: Antworten mit Zitat

Also die Anweisung 'Now#' kenne ich gar nicht, aber die Systemzeit bekommt man mit der Funktion TIME$ (siehe QB-Hilfe) ausgelesen.

Übrigens sind .BI Dateien keine Bibliotheken, sondern nur Definitionsdateien für Funktionen und Variablen - also mit anderen Worten Textdateien - allerdings sind darin meist die Deklarationen für Funktionen in den entsprechenden Bibliotheken.
_________________
Man kann sich öfter als zweimal im Leben halb tot lachen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
McArden



Anmeldungsdatum: 17.09.2004
Beiträge: 9

BeitragVerfasst am: 03.11.2004, 22:50    Titel: Antworten mit Zitat

@E-P-S:

Danke für den Tip - das hilft nur leider garnichts. Ich benötige Bruchteile von Sekunden, um einen Prozess einzubremsen, bzw. dafür zu sorgen, daß er bei schwankender Prozessorverfügbarkeit trotzdem gleichförmig läuft.

Daher ist es nötig zu stoppen, wie lange eine Unterroutine vom Start bis zur Beendigung läuft, um dann die verbleibende Zeit zum nächsten 'Zeitfenster' in einer Schleife zu warten. Das geht aber nicht im Sekundenzykus - hunderstel Sekunden erscheinen hier angebracht.

Time# liefert einen Wert, der vor dem Komma die vergangenen Tage seit 1900 ausdrückt und hinter dem Komma die verstrichene Zeit des laufenden Tages als Bruchteil von Eins. Das ist das Standardformat von Micro$oft für die Übergabe von Datum und Zeit. Wird auch so in VB und VBA verwendet.


@Alle:

Hat wirklich niemand diese Dateien, die direkt in der Hilfefunktion von qBasic 7.1 angezogen sind? Ich frage mich, warum die nicht dabei waren....

mit dem Kopf durch die Mauer wollen

#
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Kai Bareis



Anmeldungsdatum: 10.09.2004
Beiträge: 545
Wohnort: Baden Würtemberg

BeitragVerfasst am: 03.11.2004, 23:01    Titel: Antworten mit Zitat

eine BI brauch man nicht unbedingt
schreibe mal so CALL namederSUBoderFUNKTION(das was halt hinter dran steht)
_________________
MfG Kai Bareis
Es ist noch kein Meister vom Himmel gefallen! Warum einfach wens auch umständlich geht!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
McArden



Anmeldungsdatum: 17.09.2004
Beiträge: 9

BeitragVerfasst am: 03.11.2004, 23:12    Titel: Antworten mit Zitat

@Kai Bareis:

Schöner Tip - leider Fehlanzeige. Es sieht so aus, als sei NOW# Bestandteil einer nicht standardmäßig angezogenen Bibliothek. Den Verweis kann ich nicht zusammenbasteln, wenn ich nicht weiß, wo die Funktion sitzt.

@Alle:

Tscha, wenn alle Stricke reißen, muß ich wohl doch die WIN API bemühen. Hat das hier bereits jemand aus qBasic heraus versucht?

#
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


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

BeitragVerfasst am: 03.11.2004, 23:31    Titel: Antworten mit Zitat

Wie in meinem Unterprogramm-Artikel beschrieben stellen .BI-Dateien das Pendant der .h-Dateien aus C/C++ dar.

Selbstverständlich kann man die Funktionsprototypen (so werden die DECLARE SUB/FUNCTIONs unter C/C++ genannt) auch direkt hineinschreiben, nur kann dies bei umfangreichen Bibliotheken den Code ziemlich aufblasen. Ausserdem muss ich vielleicht einmal ein TYPE anpassen bei einer neuen Version der Library => man müsste dies an entsprechend mehreren Stellen ändern, wenn man keine .BI-Includes macht.

Gerade unter UNIX/Linux sind die C-Headerdateien noch recht umfangreich und ändern sich praktisch bei jedem neuen Betriebssystem-Release, so dass ich meine C-Programme praktisch jedes Mal wieder anpassen müsste...
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mecki
Igel


Anmeldungsdatum: 10.09.2004
Beiträge: 985
Wohnort: Niederbayern

BeitragVerfasst am: 04.11.2004, 13:03    Titel: Antworten mit Zitat

wenn du die System uhr sooo genau auslesen willst, warum nimmst du dann nicht TIMER?

Das gibt äußerst genau die vergangenen Sekunden seir Mitternacht an.

zum Anschauen:

Code:
DO
PRINT Timer
LOOP


Vielleicht hilft dir das ja.

Grüßle,
Mecki
_________________
» Yodl.de: So sucht man gestern. verwundert
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 04.11.2004, 14:27    Titel: Antworten mit Zitat

*hust* (Quick'n'dirty zwinkern )


Timer is sooo ungenau.....
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mecki
Igel


Anmeldungsdatum: 10.09.2004
Beiträge: 985
Wohnort: Niederbayern

BeitragVerfasst am: 04.11.2004, 18:24    Titel: Antworten mit Zitat

aber nur, wenn du nur kurze Zeiten stoppen willst. Wenn du aber die genaue Uhrzeit daraus errechnen willst, ist Timer bestens geeignet.
_________________
» Yodl.de: So sucht man gestern. verwundert
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
McArden



Anmeldungsdatum: 17.09.2004
Beiträge: 9

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

@dreael:

Ich habe mich mal auf der von Dir angezogenen Seite ausgetobt. Sieht vielversprechend aus. Werde nun mal mit dem vorgefundenen Repertoire an neuen Ideen die nächste Testphase einläuten.

@Alle:

Vielen Dank für die Bemühungen. Fühle mich hier echt gut aufgehoben - klasse Forum.



Gruß - Aaron Alistair McArden

#
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
helium



Anmeldungsdatum: 10.09.2004
Beiträge: 397
Wohnort: Leverkusen

BeitragVerfasst am: 05.11.2004, 18:33    Titel: Antworten mit Zitat

Starte den Interpreten mal mit "/l" als Option (ohne die Anführungszeichen). Vielleicht ist es dann möglich die funktion aufzurufen (keine Garantie).
_________________
Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
pfiffikus_86



Anmeldungsdatum: 10.11.2004
Beiträge: 11

BeitragVerfasst am: 10.11.2004, 19:58    Titel: Antwort Antworten mit Zitat

Guten Tag, kann sein das meine Antwort eventuell etwas zu spät kömmt aber ich hab deine Frage erst heute gelesen!
Ich hab für solche Zwecke eine ganz einfache Routine programmiert die problemlos auf die Millisekunde genau funktioniert!
Code:
anfang = TIMER
DO
Zeit = anfang - TIMER
LOCATE 1, 1: PRINT Zeit
LOOP

Musst du unbedingt mal ausprobieren!!!

Meld dich doch bitte mal ob es geklappt hat!!!
_________________
Ich programmiere lieber, als aufs Klo zu gehen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 10.11.2004, 20:04    Titel: Antworten mit Zitat

Die funtkioniert nicht bis auf die Millisekunde genau. Die Genauigkeit der Timerfunkion beträgt nur ~56ms. Das geht nur mit INP(64) besser und das auch nicht mehr ab Win98...
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
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 -> Spezielle Fragen 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