Kann mir jemand eine kleine UserLib basteln ??

Du brauchst Grafiken, gute Programme oder Leute die dir helfen? Frag hier.
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Kann mir jemand eine kleine UserLib basteln ??

Beitrag von nco2k »

hi folks,

da ich öfter mal timeGetTime_() verwende und auf eine höhere präzision wert lege, hätte ich gerne eine kleine userlib, welche das initialisieren "timeBeginPeriod_()" beim starten des programms und wieder freigeben "timeEndPeriod_()" beim beenden des programms, automatisch für mich übernimmt und mir somit das leben etwas erleichtert. :mrgreen:

wenn also jemand den folgenden code nach C oder ASM übersetzen könnte und mir daraus eine userlib bastelt, wäre ich demjenigen zum höchsten dank verpflichtet. :allright:

Code: Alles auswählen

;Soll automatisch aufgerufen werden wenn das Programm startet
Procedure.l InitTimePeriod_Begin()
  Shared _TIMERR_.TIMECAPS
  If timeGetDevCaps_(_TIMERR_, SizeOf(TIMECAPS)) = 0
    If _TIMERR_\wPeriodMin > 0
      If timeBeginPeriod_(_TIMERR_\wPeriodMin) <> 0
        _TIMERR_\wPeriodMin = 0
        _TIMERR_\wPeriodMax = 0
      EndIf
    EndIf
  EndIf
EndProcedure

;Soll automatisch aufgerufen werden wenn das Programm endet
Procedure.l InitTimePeriod_End()
  Shared _TIMERR_.TIMECAPS
  If _TIMERR_\wPeriodMin > 0
    timeEndPeriod_(_TIMERR_\wPeriodMin)
    ;_TIMERR_\wPeriodMin = 0
    ;_TIMERR_\wPeriodMax = 0
  EndIf
EndProcedure

;Wird nur benützt um die Lib dem Programm zuzuordnen
Procedure.l InitTimePeriod()
  ;ProcedureReturn #False
EndProcedure
die funktionsweise dürfte klar sein, man verwendet InitTimePeriod() irgendwo am anfang im sourcecode und der rest soll dann automatisch beim starten/beenden des programms aufgerufen werden.

geld kann ich euch leider keins geben (der aufwand ist auch nicht sonderlich gross) ihr kriegt aber dafür einen virtuellen händedruck stärke 5. :D

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Machs doch mit Schwanzbiss(Tailbite)...
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Ansonsten kann man den C-Source der PBOSL_Timer-Lib laden, wenns den C sein soll.
Denn desc File ändern, das PBOSL_Timer_Init nicht mehr automatisch
geladen wird, sondern händisch zu laden ist. Die Funktion übernimmt das,
das entladen ist sowieso automatisch.

Gruß
Thomas

// Nachtrag:
Lib kannste hier laden:
http://ts-soft.eu/dl/nco2k.zip
Ist aber nicht Threadsafe, mußte sagen, dann kriegste noch eine :wink:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

juhu, vielen dank @ts-soft. :allright:

> Ist aber nicht Threadsafe, mußte sagen, dann kriegste noch eine
ja bitte, wenns keine umstände macht. :D

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Einfach nochmal laden :wink:
Entweder nur eine nach UserLibraries kopieren, oder für die Threadsafe ein
Subsystem nutzen, dann müssen aber beide libs gleich heissen.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

ok danke, virtuelle-hand-rüberreich. :mrgreen:

mit was hast du es eigentlich erstellt? talibite?

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Ja, aber anscheinend sind beide Versionen Threadsafe, wirste ja merken
wenn Polink-Fehler kommen, wenn keine kommen brauchste nur eine davon
verwenden.

Die sich in den Schwanz beissende Schlange geht am einfachsten :D

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
DrShrek
Beiträge: 1970
Registriert: 08.09.2004 00:59

Beitrag von DrShrek »

Ich hätte da eine Userlib die mit der Win32 API Funktion: QueryPerformanceCounter() arbeitet.
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Antworten