ts-soft hat geschrieben:Thread halte ich für unnötig (wie meist)
Ein Timer der die Dinge unabhängig vom Eventloop macht sollte doch reichen.
Hier mal im Sekundentakt:
hab die Demo jetzt nicht zur Hand, deswegen kenn ich den genauen Wortlaut nicht, aber die Einschränkungen der Demo sind:
- Maximal 600 (oder 800) Zeilen Code
- Debugger nicht abschaltbar
- Kein API-Zugriff
Punkt 3 ist dein Problem.
SetTimer_() ist eine Windows-API-Funktion, d.h. eine Funktion der Schnittstelle des Betriebssystems.
alle Funktionen die mit einem Underscore enden, sind Funktionen externer (d.h. nicht PureBasic-eigener) Bibliotheken.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
je nachdem was du machen willst, kannst du auf eine selbstgestrickte Timer-Lösung zurückgreifen: http://www.purebasic.fr/german/viewtopic.php?t=19394
dieser Beispielcode müßte eigentlich in der Demo lauffähig sein.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Hallo
Ich habe hier ein kleines Programm geschrieben das mir die Werte meiner Webbox (Solarlogger) ausliest und am Bildschirm darstellt. Das Problem ist das das Programm nur einmal pro Sekunde die Daten holen soll. Ich habe das zwar mit einer Verzögerungsschleife gelöst, jedoch ist nicht jeder Rechner gleich schnell. Jetzt suche ich noch nach einer passenden Lösung ohne viel Rechenpower zu verschwenden.
Die meisten Lösungen die hier gefunden habe sind halt bei der Demoversion von Purebasic nicht möglich.
Kaeru Gaman hat geschrieben:je nachdem was du machen willst, kannst du auf eine selbstgestrickte Timer-Lösung zurückgreifen: http://www.purebasic.fr/german/viewtopic.php?t=19394
dieser Beispielcode müßte eigentlich in der Demo lauffähig sein.
Also danke erstmal. Hab den Timer mal bei mir eingebaut. Leider mit mäßigem Erfolg. Schluckt fast 50 % Rechenpower (eigener Timer 5 %).
Ausserdem ist das in meiner Programm mit 1 Sekunde nicht gelaufen. Hat immer 3-4 Sekunden für einen Durchlauf gebraucht.
> Hab den Timer mal bei mir eingebaut. Leider mit mäßigem Erfolg.
> Schluckt fast 50 % Rechenpower (eigener Timer 5 %).
> Ausserdem ist das in meiner Programm mit 1 Sekunde nicht gelaufen.
> Hat immer 3-4 Sekunden für einen Durchlauf gebraucht.
irgendwie falsch eingebaut?
mein Beispiel lastet keinesfalls einen Core aus, und der Intervall ist auch genau genug um 1sek. zu treffen.
da muss was falsch geschraubt worden sein, sprich, Mängel eingebaut beim übertragen.
... und tatsächlich bleibt die Frage, die Kiffi gestellt hat:
1x pro Sekunde?
wie ist das Gerät dann angebunden, oder handelt es sich gar um einer Übertragung über Netz?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.