vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Auswerten von Temperaturen ? 
Autor: Manfred X
Datum: 25.01.19 18:33

Tja, VB6
Den alten Schrott habe ich seit mehr als 10 Jahren
nicht mehr angefaßt.
Es gab hier noch eine alte Möhe, auf der das installiert war.
Erwarte keine Top-Lösung!!
Als Parameter erwartet die Routine das Datenfile und die
Angabe des Intervalls für die Klassenbildung in Minuten.
Danach eine Ausgabedatei (wird überschrieben!)
Es wird angenommen, die erste Zeile der Eingabedatei enthalte
das früheste Datum (= Startdatum der Klassenbildung).

Angenommener Dateiaufbau (Zeile):
8.1.2019 15:0:0 09,28

Private Sub GetTempSpan(ByVal file As String, ByVal Interval As Integer, _
                        ByVal outfile As String)
 
Open file For Input As #1
 
Dim line As String
Dim parts() As String, dt As Date, temp As Double
Dim found As Boolean, limit As Date, start As Date
Dim i%, k%, kmax%
 
Line Input #1, line
parts = Split(line)
start = CDate(parts(0) & " " & parts(1)) 'Startdatum
 
'Ermittlung der benötigten Klassenzahl
While Not EOF(1)
   Line Input #1, line
   parts() = Split(line, " ")
 
   dt = CDate(parts(0) & " " & parts(1))
   found = False: limit = start: k = 0
   While Not found
      k = k + 1
      limit = DateAdd("n", k * Interval, start)
      found = dt <= limit
   Wend
   If k > kmax Then kmax = k
Wend
Close #1
 
'Bestimmung der Extremwerte pro Intervall (min, max)
 
Dim min() As Double, max() As Double, classlimit() As Date
ReDim min(kmax) As Double
ReDim max(kmax) As Double
ReDim classlimit(kmax) As Date
 
For k = 1 To kmax
   min(k) = 1000: max(k) = -1000 'Vorbelegung der Extremwertarrays
Next k
 
Open file For Input As #1
 
While Not EOF(1)
   Line Input #1, line
   parts() = Split(line, " ")
 
   dt = CDate(parts(0) & " " & parts(1))
   temp = CDbl(parts(2))
   found = False: limit = start: k = 0
   While Not found
      k = k + 1
      limit = DateAdd("n", k * Interval, start)
      classlimit(k) = limit
      found = dt <= limit
   Wend
   If min(k) > temp Then min(k) = temp
   If max(k) < temp Then max(k) = temp
Wend
Close #1
 
'Ausgabe Intervall-Obergrenze und Extremwerte
Open outfile For Output As #1
For k = 1 To kmax
   Print #1, Format(classlimit(k), "General Date"); "  "; min(k); " --- "; max( _
     k)
Next k
Close #1 
 
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Auswerten von Temperaturen ?1.013anfaenger_michael24.01.19 08:05
Re: Auswerten von Temperaturen ?532Manfred X24.01.19 17:57
Re: Auswerten von Temperaturen ?562anfaenger_michael25.01.19 13:47
Re: Auswerten von Temperaturen ?523Manfred X25.01.19 15:19
Re: Auswerten von Temperaturen ?510anfaenger_michael25.01.19 15:44
Re: Auswerten von Temperaturen ?523Manfred X25.01.19 18:33
Re: Auswerten von Temperaturen ?499anfaenger_michael28.01.19 12:48

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel