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-2025
 
zurück

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

Suche Visual-Basic Code
Re: Umwandlung von REAL nach DOUBLE 
Autor: Mc_Franky
Datum: 15.07.05 12:21

Hallöchen

Wenn das so einfach wäre...

Die Funktion CDBL erwartet bereits eine Zahl als Parameter.

Hier mal Pascal Datensatz-Definition:

KalibrierDatenSatz = RECORD
SW : STRING[LenSWBez]; { Schaltwerksbezeichnung }
USp : NGParTyp; { Spannung Spulen-Netzger„t [V] }
ISp : NGParTyp; { Strom Spulen-Netzger„t [A] }
UHs : NGParTyp; { Spannung Hochspannungs-Netzger„t [V] }
IHs : NGParTyp; { Strom Hochspannungs-Netzger„t [mA] }
Pol : CHAR; { Polarit„t Hochspannungs-Netzger„t }
RV : REAL; { R”hrenvolumen [dm^3] }
f0 : REAL; { konstanter Wert }
f1 : REAL; { Faktor fr linearen Anteil }
f2 : REAL; { Faktor fr quadratischen Anteil }
f3 : REAL; { Faktor fr kubischen Anteil }
fp : REAL; { Faktor fr Druckwert (Umrechnung Torr -> mbar) }
Bem : STRING[LenKalBem]; { Bemerkungen }
Res : ARRAY[1..LenKalRes] OF BYTE; { Reserve: Achtung, die Gesamtl„nge des Record's
muá immer gleich 100 Bytes bleiben !!! }
END;
Public Type KalibrierDatenSatz
    SW  As String * 9           '{ Schaltwerksbezeichnung }
    USp As String * 5           '{ Spannung Spulen-Netzgerät [V] }
    ISp As String * 5           '{ Strom Spulen-Netzgerät [A] }
    UHs As String * 5           '{ Spannung Hochspannungs-Netzgerät [V] }
    IHs As String * 5           '{ Strom Hochspannungs-Netzgerät [mA] }
    Pol As String * 1           '{ Polarität Hochspannungs-Netzgerät }
    RV  As String * 6             '{ Röhrenvolumen [dm^3] }
    f0 As String * 6              '{ konstanter Wert }
    f1 As String * 6              '{ Faktor für linearen Anteil }
    f2 As String * 6              '{ Faktor für quadratischen Anteil }
    f3 As String * 6              '{ Faktor für kubischen Anteil }
    fp As String * 6              '{ Faktor für Druckwert (Umrechnung Torr 
    ' -> mbar) }
    Bem As String * 21          '{ Bemerkungen }
    Res As String * 13          '{ Reserve: Achtung, die Gesamtlänge des 
    ' Record's muß immer gleich 100 Bytes bleiben !!! }
End Type
Hier meine Umsetzung in VB. Bei den Strings muss man darauf achten, das Pascal ein Zeichen am Anfang mehr hat.

        Dim f As Long
        Dim Satz As KalibrierDatenSatz
        Dim i As Long
        f = FreeFile
        Open Datei For Binary As #f Len = Len(Satz)
            While Not EOF(f)
                Get #f, , Satz
                rs.AddNew
                i = i + 1
                rs.Fields("nr") = i
                rs.Fields("sw") = pasString2vbString(Satz.SW)
                Debug.Print "sw:"; pasString2vbString(Satz.SW)
                rs.Fields("usp") = pasString2vbString(Satz.USp)
                Debug.Print pasString2vbString(Satz.USp)
                rs.Fields("isp") = pasString2vbString(Satz.ISp)
                Debug.Print pasString2vbString(Satz.ISp)
                rs.Fields("uhs") = pasString2vbString(Satz.UHs)
                Debug.Print pasString2vbString(Satz.UHs)
                rs.Fields("ihs") = pasString2vbString(Satz.IHs)
                Debug.Print pasString2vbString(Satz.IHs)
                rs.Fields("pol") = Satz.Pol
                Debug.Print Satz.Pol
                'rs.Fields("rv") = Satz.RV
                Debug.Print Satz.RV
                'rs.Fields("f0") = Satz.f0
                Debug.Print "f0:"; Satz.f0
                'rs.Fields("f1") = Satz.f1
                Debug.Print "f1:"; Satz.f1
                'rs.Fields("f2") = Satz.f2
                Debug.Print "f2:"; Satz.f2
                'rs.Fields("f3") = Satz.f3
                Debug.Print "f3:"; Satz.f3
                'rs.Fields("fp") = Satz.fp
                Debug.Print "fp:"; Satz.fp
                rs.Fields("bem") = pasString2vbString(Satz.Bem)
                Debug.Print pasString2vbString(Satz.Bem)
                rs.Fields("res") = pasString2vbString(Satz.Res)
                Debug.Print pasString2vbString(Satz.Res)
                rs.Update
            Wend
        Close #f
        rs.Close
        cn.Close
        Set rs = Nothing
        MsgBox "Import beendet", vbInformation, "Hinweis"
Alles, was mit String*6 gekennzeichnet ist , ist vomType REAL. Da kann ich weder Single, noch Double verwenden, da die 4 bzw. 8 Byte lang sind.

Nun habe ich diese REAL-Zahl in einem String zu liegen und möchte diesen umwandeln in ein Double-Format.

Wie geht das?
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Umwandlung von REAL nach DOUBLE1.576Mc_Franky14.07.05 12:17
Re: Umwandlung von REAL nach DOUBLE1.103BasTler14.07.05 15:37
Re: Umwandlung von REAL nach DOUBLE1.090Mc_Franky14.07.05 17:58
Re: Umwandlung von REAL nach DOUBLE1.133BasTler15.07.05 11:13
Re: Umwandlung von REAL nach DOUBLE1.269Mc_Franky15.07.05 12:21
Re: Umwandlung von REAL nach DOUBLE1.122BasTler15.07.05 15:03
Re: Umwandlung von REAL nach DOUBLE1.079michi-bib15.07.05 23:41
Re: Umwandlung von REAL nach DOUBLE1.049Mc_Franky16.07.05 20:51
Re: Umwandlung von REAL nach DOUBLE1.146Mc_Franky19.07.05 18:28
Re: Umwandlung von REAL nach DOUBLE1.057michi-bib20.07.05 21:17
Re: Umwandlung von REAL nach DOUBLE1.091michi-bib21.07.05 19:59
Re: Umwandlung von REAL nach DOUBLE1.087Mc_Franky22.07.05 12:09
Re: Umwandlung von REAL nach DOUBLE1.130michi-bib28.07.05 23:48
Re: Umwandlung von REAL nach DOUBLE1.133Mc_Franky29.07.05 14:07
Re: Umwandlung von REAL nach DOUBLE1.238Mc_Franky29.07.05 15:18

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-2025 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