Es mag zwar lästig zu schreiben sein, aber ich würde dies
Modulstrom2 = Modulstrom * 30
grundsätzlich immer so schreiben
Modulstrom2 = Modulstrom
Modulstrom2 = Modulstrom2 * 30
um die Typwandlung und die Berechnung zu trennen. Es können sonst die tollsten Effekte auftreten.
Array funktionieren so:
Dim Modulstrom_array(48) as byte
Dies erzeugt dir 48 Werte vom Type Byte, die hintereinander im SRAM liegen.
Mit Modulstrom_array(1) sprichst du den ersten Wert, mit Modulstrom_array(2) den zweiten Wert usw. an.
Wenn du jetzt genau zu den glatten 1/4-Stunden abspeichern willst, kannst du das so machen:
Anzeigen kannst du das ganze Diagramm mit einer kleinen Schleife:Code:If _sec = 0 Then 'nur zu vollen Minute prüfen Viertel = _min Mod 15 If Viertel = 0 Then 'nur wenn Minute glatt durch 15 teilbar Viertel = _hour * 60 ' Viertel = Viertel + _min 'dies berechnet die wievielte Minute am Tag ist Viertel = Viertel / 15 'dies berechnet die wievielte Viertelstunde am Tag ist Viertel = Viertel + 1 'um 0.00 Uhr käme 0 heraus, Array Indexe beginnen aber bei 1 Modulstrom_array(viertel) = Modulstrom 'aktuellen Wert von Modulstrom in Array an der entsprechenden Stelle abspeichern End If End If
Fertig.Code:Offset = 0 'oder einen anderen Wert, wenn du nicht beim ersten Pixel ganz links anfängst I = 1 Do X1 = I + Offset X2 = X1 + 4 'du gehst immer 4 Pixel weiter, richtig? Y1 = Modulstrom_array(i) 'dies ist der Anfangspunkt der Linie Incr I 'nächstes Array Element Y2 = Modulstrom_array(i) 'dies ist dann der Endpunkt der Linie Line(x1 , Y1) -(x2 , Y2) , 255 Loop Until I = 48
Edit: Ich habe noch einen Fehler behoben (das geht nicht: If _min Mod 15 = 0 Then...)
Gruß
Rolf







Zitieren

Lesezeichen