Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
McArden
Anmeldungsdatum: 16.09.2004 Beiträge: 9
|
Verfasst am: 03.11.2004, 00:14 Titel: Nicht vorhandene Bibliotheken// |
|
|
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
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 |
|
|
E-P-S
Anmeldungsdatum: 16.09.2004 Beiträge: 500 Wohnort: Neuruppin
|
Verfasst am: 03.11.2004, 12:09 Titel: |
|
|
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 |
|
|
McArden
Anmeldungsdatum: 16.09.2004 Beiträge: 9
|
Verfasst am: 03.11.2004, 21:50 Titel: |
|
|
@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....
# |
|
Nach oben |
|
|
Kai Bareis
Anmeldungsdatum: 10.09.2004 Beiträge: 545 Wohnort: Baden Würtemberg
|
Verfasst am: 03.11.2004, 22:01 Titel: |
|
|
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 |
|
|
McArden
Anmeldungsdatum: 16.09.2004 Beiträge: 9
|
Verfasst am: 03.11.2004, 22:12 Titel: |
|
|
@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 |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2522 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 03.11.2004, 22:31 Titel: |
|
|
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 |
|
|
Mecki Igel
Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
|
Nach oben |
|
|
MisterD
Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 04.11.2004, 13:27 Titel: |
|
|
*hust* (Quick'n'dirty )
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 |
|
|
Mecki Igel
Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
|
Nach oben |
|
|
McArden
Anmeldungsdatum: 16.09.2004 Beiträge: 9
|
Verfasst am: 04.11.2004, 23:16 Titel: |
|
|
@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 |
|
|
helium
Anmeldungsdatum: 10.09.2004 Beiträge: 397 Wohnort: Leverkusen
|
Verfasst am: 05.11.2004, 17:33 Titel: |
|
|
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 |
|
|
pfiffikus_86
Anmeldungsdatum: 10.11.2004 Beiträge: 11
|
Verfasst am: 10.11.2004, 18:58 Titel: Antwort |
|
|
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 |
|
|
MisterD
Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 10.11.2004, 19:04 Titel: |
|
|
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 |
|
|
|