1448 lines
48 KiB
OpenEdge ABL
1448 lines
48 KiB
OpenEdge ABL
VERSION 1.0 CLASS
|
|
BEGIN
|
|
MultiUse = -1 'True
|
|
Persistable = 0 'NotPersistable
|
|
DataBindingBehavior = 0 'vbNone
|
|
DataSourceBehavior = 0 'vbNone
|
|
MTSTransactionMode = 0 'NotAnMTSObject
|
|
END
|
|
Attribute VB_Name = "CSettings"
|
|
Attribute VB_GlobalNameSpace = False
|
|
Attribute VB_Creatable = True
|
|
Attribute VB_PredeclaredId = False
|
|
Attribute VB_Exposed = False
|
|
Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
|
|
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
|
|
'==============================================================================
|
|
'
|
|
' File : Settings.cls
|
|
' Date : 08.04.1999
|
|
' Version: 1.03
|
|
' Author : Reinhard Henning, Andreas Schmidt, lindner&partner
|
|
'
|
|
'==============================================================================
|
|
'
|
|
' Verwaltung der globalen Voreinstellungen der Anwendung
|
|
'
|
|
'==============================================================================
|
|
'
|
|
' History:
|
|
'
|
|
' Date : 08.04.1999
|
|
' Version: 1.03
|
|
' Author : Andreas Schmidt, lindner&partner
|
|
'
|
|
' 'getMaxPruefpunkte' neu.
|
|
'
|
|
' Date : 30.03.1999
|
|
' Version: 1.02
|
|
' Author : Andreas Schmidt, lindner&partner
|
|
'
|
|
' Behandlung der Einbauplätze, Stränge, Nennweiten, Waagen, Prüfzeiten und
|
|
' Behälter neu.
|
|
' Pumpen überarbeitet.
|
|
'
|
|
' TODO:
|
|
' Temperaturmeßstellen, Langmessung, Referenzzähler.
|
|
'
|
|
' Date : 22.03.1999
|
|
' Version: 1.01
|
|
' Author : Andreas Schmidt, lindner&partner
|
|
'
|
|
' set-/getServerDBPathname neu.
|
|
'
|
|
' Date : 22.03.1999
|
|
' Version: 1.00
|
|
' Author : Reinhard Henning, Andreas Schmidt, lindner&partner
|
|
'
|
|
' Erste dokumentierte Version.
|
|
'
|
|
'==============================================================================
|
|
|
|
Option Explicit
|
|
|
|
Const AES_PASSWORD = "38A80D3DF7FCBB81B005AE3DB00C5955EC82AB552B20796B2BE38104402DE7DC"
|
|
|
|
' Todo: überflüssig ?
|
|
' IDs der COM-Ports der einzelnen Geräte
|
|
' @see getComPort
|
|
' --------------------------------------
|
|
Public Enum DEVICEPORTS
|
|
DEVPORT_Reserve = 1
|
|
DEVPORT_SPS = 2
|
|
DEVPORT_FMBus = 3
|
|
DEVPORT_Waage = 4
|
|
DEVPORT_Display = 5
|
|
End Enum
|
|
|
|
' Private Member
|
|
' --------------
|
|
Private m_sINIFilename As String
|
|
|
|
' Generelle Vorgaben
|
|
' ------------------
|
|
Private Const SEC_GLOBAL = "Global"
|
|
'Private Const KEY_GL_DBSERVER = "ServerDBPath"
|
|
'Private Const KEY_GL_DBERSATZ = "ErsatzDBPath"
|
|
|
|
Private Const Key_GL_ADOCONNECTION = "ServerADOConnection"
|
|
Private Const KEY_UPDATEEXE = "UpdateExePath"
|
|
Private Const KEY_UPDATEPRG = "UpdateProgrammPath"
|
|
Private Const KEY_UPDATECHECK = "CheckAufUpdate"
|
|
Private Const KEY_GL_KENNLINIENGRAFIKEN = "KennlinienDir"
|
|
|
|
Private Const KEY_GL_SPRACHE = "Language"
|
|
'Private Const KEY_LOGFILE = "LogFile"
|
|
Private Const KEY_PRINTFILE = "PrintFile"
|
|
Private Const KEY_PRINTDIR = "PrintDir"
|
|
'Private Const KEY_GL_DBUSER = "DBUs"
|
|
'Private Const KEY_GL_DBPW = "DBPw"
|
|
Private Const KEY_AUSLIEFERUNG = "Auslieferung"
|
|
|
|
Private Const SEC_MSENTLUEFTEN = "Meistream_entlueften"
|
|
Private Const KEY_MSENTLUEFTEN_PUMPE = "Pumpe_"
|
|
Private Const KEY_MSENTLUEFTEN_MID = "MID_"
|
|
Private Const KEY_MSENTLUEFTEN_Q = "Q_"
|
|
|
|
' Vorbelegung
|
|
Private Const SEC_VORBELEGUNG = "Vorbelegung"
|
|
Private Const KEY_PRUEFUNG = "PruefungsArt"
|
|
Private Const KEY_USPRUEFUNG = "USPruefungsArt"
|
|
Private Const KEY_USVORPRUEFUNG = "USVorPruefungsArt"
|
|
Private Const KEY_FUNKTIONSPRUEFUNG = "USFunktionspruefung"
|
|
Private Const KEY_VORJUSTAGE = "USVorjustage"
|
|
Private Const KEY_PREUFUNG_MIT_WAAGE = "Waage"
|
|
Private Const KEY_PRUEFUNG_MIT_REFERENZZAEHLER = "Referenzazehler"
|
|
Private Const KEY_EICHPRUEFVORGABENIGNORIEREN = "EichpruefvorgabenIgnorieren"
|
|
Private Const KEY_PRUEFPUNKTE_NICHT_SORTIERT = "PruefpunkteNichtSortiert"
|
|
Private Const KEY_VERSUCH = "Versuch"
|
|
Private Const KEY_LICHTWELLENLEITER = "Lichtwellenleiter"
|
|
Private Const KEY_NACHLAUFZEIT_S = "Nachlaufzeit_s"
|
|
|
|
' Hardware der Prüfstation
|
|
' ------------------------
|
|
Private Const SEC_HARDWARE = "HardwarePruefstation"
|
|
Private Const KEY_HW_NR = "Nummer"
|
|
Private Const KEY_HW_BAUJAHR = "Baujahr"
|
|
Private Const KEY_HW_KUNDE = "Kunde"
|
|
Private Const KEY_HW_STANDORT = "Standort"
|
|
Private Const KEY_LETZTER_PRUEFER = "letzterPruefer"
|
|
Private Const KEY_GESPERRT = "gesperrt"
|
|
|
|
' Einbauplätze je Strang
|
|
Private Const KEY_HW_ANZAHL = "FM85"
|
|
' Anzahl der MID's je Strang : 1 oder 2
|
|
Private Const KEY_RZ_ANZAHLGR = "MID"
|
|
|
|
Private Const SEC_FUNKTIONSPRUEFUNG = "USFunktionspruefung"
|
|
Private Const KEY_FUNKTIONSPRUEFUNG_PRUEFZEIT = "Pruefzeit"
|
|
Private Const KEY_TOLERANZENERGIEABWEICHUNG = "EnergieAbweichung"
|
|
Private Const KEY_DELTAT = "DeltaT"
|
|
|
|
' Stränge
|
|
' -------
|
|
Private Const SEC_STRAENGE = "Straenge"
|
|
Private Const KEY_STRAENGE_ANZAHL = "Straenge"
|
|
|
|
|
|
' Nennweiten
|
|
' ----------
|
|
Private Const SEC_NENNWEITEN = "Nennweiten"
|
|
Private Const KEY_NW_NENNWEITE = "Nennweite"
|
|
|
|
' Waagen
|
|
' ------
|
|
Private Const SEC_WAAGEN = "Waagen"
|
|
Private Const KEY_WA_WAAGE = "Waage"
|
|
Private Const KEY_WA_UVOLUMEN = "UVolumen"
|
|
Private Const KEY_WA_OVOLUMEN = "OVolumen"
|
|
|
|
Private Const KEY_WA_RUHE_WDH = "RuheWdh"
|
|
Private Const KEY_WA_RUHE_GRENZWERT = "RuheGrenzwert"
|
|
Private Const KEY_WA_ANWAHL = "WaagenAnwahl"
|
|
Private Const KEY_WA_ABLASS = "AblassAnwahl"
|
|
Private Const KEY_WA_GENAUIGKEIT = "Genauigkeit"
|
|
Private Const KEY_WA_UEBERLAUFFAKTOR = "Ueberlauffaktor"
|
|
Private Const KEY_WA_BEHAELTERANWAHL = "BehaelterAnwahl"
|
|
Private Const KEY_WA_GRENZWERT = "Grenzwert"
|
|
Private Const KEY_WA_FUELLDURCHFLUSS = "Fuelldurchfluss"
|
|
Private Const KEY_WA_FUELLVOLUMEN = "Fuellvolumen"
|
|
Private Const KEY_WA_MINDESTMENGE = "Mindestmenge"
|
|
Private Const KEY_WA_LEEREN = "ImmerLeeren"
|
|
Private Const KEY_WA_LEERENALLEIN = "AlleinLeeren"
|
|
Private Const KEY_WA_COMPORT = "ComPort"
|
|
Private Const KEY_WA_COMSETTINGS = "ComSettings"
|
|
Private Const KEY_WA_OBERERGRENZWERT = "ObererGrenzwert"
|
|
Private Const KEY_WA_ART = "WaagenArt"
|
|
Private Const KEY_WA_TARA_STATT_NULLSTELLEN = "TaraStattNullstellen"
|
|
' neu 10.10.2011
|
|
Private Const KEY_WA_GETFUELLSTANDSTATTGEWICHT = "GetFuellstandStattGewicht"
|
|
|
|
' Fuellstandsensor
|
|
Private Const SEC_FUELLSTAND = "Fuellstand"
|
|
Private Const KEY_FUELLSTAND_USE = "StattWaage"
|
|
Private Const KEY_FUELLSTAND_WARTE1 = "Wartezeit1"
|
|
Private Const KEY_FUELLSTAND_WARTE2 = "Wartezeit2"
|
|
Private Const KEY_FUELLSTAND_MITTEL1 = "Mittelwert1"
|
|
Private Const KEY_FUELLSTAND_MITTEL2 = "Mittelwert2"
|
|
Private Const KEY_FUELLSTAND_ENTLEER1 = "Entleerzeit1"
|
|
Private Const KEY_FUELLSTAND_ENTLEER2 = "Entleerzeit2"
|
|
Private Const KEY_FUELLSTAND_ENTLEER = "Entleerzeit"
|
|
|
|
|
|
' Max. Anzahl eindeutiger Prüfpunkte
|
|
' ----------------------------------
|
|
Private Const SEC_PRUEFPUNKTE = "Pruefpunkte"
|
|
Private Const KEY_PP_PRUEFPUNKTE = "MaxPruefpunkte"
|
|
|
|
' Prüfzeiten in Minuten
|
|
' ---------------------
|
|
Private Const SEC_PRUEFZEITEN = "Pruefzeiten"
|
|
Private Const KEY_PZ_PRUEFZEIT = "Pruefzeit"
|
|
Private Const KEY_ZEROFLOWMESSZEIT = "ZeroflowZeit"
|
|
|
|
' Servo
|
|
' -----
|
|
Private Const SEC_SERVO = "Servo"
|
|
Private Const KEY_SE_SERVO = "Servo"
|
|
Private Const KEY_SE_NENNWEITE = ".Nennweite"
|
|
Private Const KEY_SE_STELLBEREICH = ".Stellbereich"
|
|
|
|
' COM-Ports
|
|
' ---------
|
|
Private Const SEC_COMPORTS = "Schnittstellen"
|
|
Private Const KEY_CP_RESERVE = "Reserve"
|
|
Private Const KEY_CP_SPS = "SPS"
|
|
Private Const KEY_CP_FMBUS = "FM85"
|
|
Private Const KEY_CP_WAAGE = "Waage"
|
|
Private Const KEY_USPORT = "US"
|
|
Private Const KEY_CP_DISPLAY = "DisplayBus"
|
|
Private Const KEY_DISPLAY_SETTINGS = "DisplaySettings"
|
|
|
|
' Pumpen
|
|
' ------
|
|
Private Const SEC_PUMPE = "Pumpen"
|
|
Private Const KEY_PU_PUMPE = "Pumpe"
|
|
Private Const KEY_PU_BEZEICHNUNG = ".Bezeichnung"
|
|
Private Const KEY_PU_NENNWEITE = ".Nennweite"
|
|
Private Const KEY_PU_DURCHFLUSSOBEN = ".ODurchfluss"
|
|
Private Const KEY_PU_DURCHFLUSSUNTEN = ".UDurchfluss"
|
|
Private Const KEY_PU_SPSVARNAME = ".SPSVarName"
|
|
Private Const KEY_PU_REGELART = ".Regelart"
|
|
|
|
Private Const SEC_SPS = "SPS"
|
|
Private Const KEY_PROTOOLSTART = "ProtoolStart"
|
|
Private Const KEY_PROTOOLAPPTITLE = "ProToolAppTitle"
|
|
Private Const KEY_TEMPFEUCHTEMESSEN = "TempFeuchteMessen"
|
|
' Prodave
|
|
Private Const KEY_SPS_PRODAVE_STATION = "ProdaveStation"
|
|
Private Const KEY_SPS_PRODAVE_SLOT = "ProdaveSlot"
|
|
Private Const KEY_SPS_PRODAVE_RACK = "ProdaveRack"
|
|
Private Const KEY_SPS_PRODAVE_BAUSTEIN = "ProdaveBaustein"
|
|
' opc
|
|
Private Const KEY_SPS_OPCSERVERURL = "OpcServerUrl"
|
|
Private Const KEY_SPS_OPCSERVERREGISTERWRITEPRE = "OpcServerRegisterWritePre"
|
|
Private Const KEY_SPS_OPCSERVERREGISTERREADPRE = "OpcServerRegisterReadPre"
|
|
Private Const KEY_SPS_OPCSERVERREGISTERWRITESUFFIX = "OpcServerRegisterWriteSuffix"
|
|
Private Const KEY_SPS_OPCSERVERREGISTERREADSUFFIX = "OpcServerRegisterReadSuffix"
|
|
|
|
|
|
' Referenzzaehler
|
|
' ---------------
|
|
Private Const SEC_REFZ = "Referenzzaehler"
|
|
Private Const KEY_RZ_MAXDIFF = "MaxDiff"
|
|
Private Const KEY_RZ_GRUPPE = "Gruppe"
|
|
Private Const KEY_RZ_WDHGENAUIGKEIT = "WdhGenauigkeit"
|
|
Private Const KEY_RZ_NACHPRUEFUNGBEHAELTERLEEREN = "nachPruefungBehaelterLeeren"
|
|
Private Const KEY_RZ_PRUEFZEITRAUM = "Schicht"
|
|
|
|
' Testzaehler
|
|
Private Const SEC_TESTZAEHLER = "Testzaehler"
|
|
Private Const KEY_NUMMERNBANDID = "Nummernband"
|
|
|
|
' Regulierung
|
|
Private Const SEC_REGULIERUNG = "Regulierung"
|
|
Private Const KEY_AUTOMATISCHE_REGULIERUNG = "Automatik"
|
|
Private Const KEY_REGULIERUNG_VERWENDEN = "Verwenden"
|
|
Private Const KEY_REGULIERUNG_DAEMPFUNG1 = "Daempfung1"
|
|
|
|
Private Const SEC_USJUSTAGE = "USJustage"
|
|
Private Const KEY_USVORJUSTAGEATOMATISCH = "VorjustageAutomatisch"
|
|
Private Const KEY_O_GEBER_AUS_DB = "O_Geber_aus_DB"
|
|
|
|
' Durchfluß Regelung
|
|
Private Const SEC_DURCHFLUSS = "DurchflussRegelung"
|
|
Private Const KEY_REGELART = "Regelart"
|
|
Private Const KEY_ANZAHLVOREINSTELL = "AnzahlZaehler"
|
|
|
|
' Langer Prüfgang
|
|
Private Const SEC_LANGER_PRUEFGANG = "Langer Pruefgang"
|
|
Private Const KEY_ABWEICHUNG = "Abweichung"
|
|
|
|
Private Const SEC_FM85 = "FM85"
|
|
Private Const KEY_FM85RefZ = "RefZAdresse"
|
|
Private Const KEY_FM85Settings = "Settings"
|
|
|
|
' Tabellen-Zellen Breiten
|
|
Const SEC_USER_SETTINGS = "UserSettings"
|
|
Const KEY_TABLECELLWIDTH = "Zellenbreite"
|
|
|
|
Const SEC_WETTERSTATION = "Wetterstation"
|
|
Const KEY_WETTERSTATION_URL = "url"
|
|
|
|
Const SEC_LABJACK = "Labjack"
|
|
Const KEY_LABJACK_ISP_ID = "Wasserdruck_ID"
|
|
Const KEY_LABJACK_ISP_CH = "Wasserdruck_Channel"
|
|
Const KEY_LABJACK_Faktor = "Wasserdruck_Faktor"
|
|
|
|
|
|
' eingefügt am 24.07.2002 Pfeiffer
|
|
' letzte genutzte Auftrag / Position
|
|
Private Const SEC_AufPos = "LetzteAufPos"
|
|
Private Const KEY_AuftragNr = "AuftragNr"
|
|
Private Const KEY_PositionNr = "PositionNr"
|
|
|
|
' eingefügt am 23.03.2004 Andreas Pfeiffer
|
|
' soll die Temperatur aus der Prüfstation übertragen werden gleich KEY_Lock = 1 (Locked)
|
|
' oder soll die Temperatur der Zähler sich selbst aus seinen Fühlern ermessen gleich Lock = 0 (Unlocked)
|
|
Private Const SEC_USTemperaturLock = "USTemperaturLock"
|
|
Private Const KEY_Lock = "VerwendungExternerFuehler"
|
|
|
|
Private Const SEC_US_FW2 = "USFirmware2"
|
|
Private Const FW2_PRUEFUNGSART = "Pruefungsart"
|
|
Private Const FW2_VORPRUEFUNGSART = "Vorpruefungsart"
|
|
Private Const FW2_PRUEFUNGSART_REFZ = "Referenzzaehler"
|
|
Private Const FW2_PRUEFUNGSART_WAAGE = "Waage"
|
|
|
|
'' eingefügt am 02.03.02005 Andreas Pfeiffer
|
|
'' Soll dem Bediener ermöglichen den Prüfprotokolldruck zu unterbinden
|
|
'Private Const SEC_Ausduck = "Ausdruck"
|
|
'Private Const Key_KeinPruefprotokoll = "KeinPruefprotokoll"
|
|
|
|
' RH 15.11.2005
|
|
Private Const SEC_TURBO = "Regulierung"
|
|
|
|
Private Const SEC_FERTIGMELDEN = "Fertigmelden"
|
|
Private Const KEY_FERTIGMELDEN_TO = "To"
|
|
|
|
Private Const SEC_SIRT = "SIRT"
|
|
' RD Fuzhoe Mode
|
|
|
|
Private Const SEC_DRUCK = "Druck"
|
|
Private Const KEY_PfadZuLabelVorlage = "PfadZuLabelVorlage"
|
|
|
|
' API-Calls
|
|
' ---------
|
|
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
|
|
Private Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long
|
|
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
|
|
|
|
' Constructor
|
|
'
|
|
Private Sub Class_Initialize()
|
|
End Sub
|
|
|
|
' @param sINIFilename Name des INI-Files, aus dem/in das die Settings gelesen
|
|
' und geschrieben werden
|
|
'
|
|
Public Property Let INIFilename(sINIFilename As String)
|
|
m_sINIFilename = sINIFilename
|
|
End Property
|
|
|
|
Public Property Get INIFilename() As String
|
|
INIFilename = m_sINIFilename
|
|
End Property
|
|
|
|
|
|
Public Property Get SIRT_COMPort(iNr As Integer) As String
|
|
SIRT_COMPort = readStringValue(SEC_SIRT, "SIRT" & iNr & ".COMPort", "")
|
|
End Property
|
|
|
|
|
|
Public Property Get druck_PfadZuLabelVorlade() As String
|
|
druck_PfadZuLabelVorlade = readStringValue(SEC_DRUCK, KEY_PfadZuLabelVorlage, "")
|
|
End Property
|
|
|
|
|
|
|
|
' Letzten genutzten Auftrag in INI-Datei speichern
|
|
' @param AuftragNr neu zu speichernde AuftragNr
|
|
'
|
|
Public Property Let LetzterAuftrag(AuftragNr As String)
|
|
Call saveStringValue(SEC_AufPos, KEY_AuftragNr, AuftragNr)
|
|
End Property
|
|
|
|
' @return letzte AuftragNr
|
|
'
|
|
Public Property Get LetzterAuftrag() As String
|
|
LetzterAuftrag = readStringValue(SEC_AufPos, KEY_AuftragNr, "99999")
|
|
End Property
|
|
|
|
' Letzte genutzte Auftragsposition in INI-Datei speichern
|
|
'
|
|
' @param PositionNr neu zu speichernde PositionNr
|
|
'
|
|
Public Property Let LetztePosition(PositionNr As Integer)
|
|
Call saveIntValue(SEC_AufPos, KEY_PositionNr, PositionNr)
|
|
End Property
|
|
|
|
' @return letzte PositionNr
|
|
'
|
|
Public Property Get LetztePosition() As Integer
|
|
LetztePosition = readIntValue(SEC_AufPos, KEY_PositionNr, 1)
|
|
End Property
|
|
|
|
' Neu am 23.03.2004 Andreas Pfeiffer
|
|
' @return USTemperaturlockverfahren
|
|
' Wenn die Sektion oder der Schlüssel nicht vorhanden ist, dann wird 0 vorbesetzt
|
|
' das bedeutet, dass der Zähler mit eigenen Fühlern die Temperatur misst
|
|
' nur bei VerwendungExternerFuehler=1 übernimmt die PS die Temperaturmessung
|
|
|
|
Public Property Get USTemperaturlock() As Integer
|
|
USTemperaturlock = readIntValue(SEC_USTemperaturLock, KEY_Lock, 0)
|
|
End Property
|
|
|
|
Public Property Get FW2_USTemperaturlock() As Integer
|
|
FW2_USTemperaturlock = readIntValue(SEC_US_FW2, KEY_Lock, 0)
|
|
End Property
|
|
|
|
' Neues SprachKZ in INI-Datei speichern
|
|
' @param sSprachKZ neu zu speicherndes Sprachkürzel
|
|
'
|
|
Public Property Let Sprache(sSprachKZ As String)
|
|
Call saveStringValue(SEC_GLOBAL, KEY_GL_SPRACHE, sSprachKZ)
|
|
End Property
|
|
|
|
' @return SprachKZ
|
|
'
|
|
Public Property Get Sprache() As String
|
|
Sprache = readStringValue(SEC_GLOBAL, KEY_GL_SPRACHE, "D")
|
|
End Property
|
|
|
|
|
|
Public Property Get Gesperrt() As Integer
|
|
' 0 ist default, nicht gesperrt
|
|
Gesperrt = readIntValue(SEC_HARDWARE, KEY_GESPERRT, 0)
|
|
End Property
|
|
|
|
Public Property Let Gesperrt(intGesperrt As Integer)
|
|
Call saveIntValue(SEC_HARDWARE, KEY_GESPERRT, intGesperrt)
|
|
End Property
|
|
|
|
Public Property Get LetzterPruefer() As Integer
|
|
LetzterPruefer = readIntValue(SEC_HARDWARE, KEY_LETZTER_PRUEFER, 0)
|
|
End Property
|
|
|
|
Public Property Let LetzterPruefer(PrueferNr As Integer)
|
|
Call saveIntValue(SEC_HARDWARE, KEY_LETZTER_PRUEFER, PrueferNr)
|
|
End Property
|
|
|
|
|
|
Public Property Get KennlinienGrafikenPathname() As String
|
|
KennlinienGrafikenPathname = readStringValue(SEC_GLOBAL, KEY_GL_KENNLINIENGRAFIKEN, "\\sla12file\Auftrag\Pruefstation 2000 EXE\Kennlinien")
|
|
End Property
|
|
|
|
|
|
'' @param sDBServerPathname Path und Namen der Server-Datenbank
|
|
''
|
|
'Public Property Let ServerDBPathname(sDBServerPathname As String)
|
|
' Call saveStringValue(SEC_GLOBAL, KEY_GL_DBSERVER, sDBServerPathname)
|
|
'End Property
|
|
|
|
' @return Path und Namen der Server-Datenbank
|
|
'
|
|
'Public Property Get ServerDBPathname() As String
|
|
' ServerDBPathname = readStringValue(SEC_GLOBAL, KEY_GL_DBSERVER, "")
|
|
'End Property
|
|
|
|
' @return AdoConnectionstring
|
|
'
|
|
Public Property Get ADOConnectionstring() As String
|
|
ADOConnectionstring = readStringValue(SEC_GLOBAL, Key_GL_ADOCONNECTION, "")
|
|
End Property
|
|
|
|
'' @return User für Datenbank
|
|
''
|
|
'Public Property Get GetDBUs() As String
|
|
' GetDBUs = readStringValue(SEC_GLOBAL, KEY_GL_DBUSER, "")
|
|
'End Property
|
|
'
|
|
'' @return Passwort für Datenbank
|
|
''
|
|
'Public Property Get GetDBPw() As String
|
|
' GetDBPw = readStringValue(SEC_GLOBAL, KEY_GL_DBPW, "")
|
|
'End Property
|
|
|
|
|
|
''' @param sDBServerPathname Path und Namen der Server-Datenbank
|
|
'''
|
|
''Public Property Let ErsatzDBPathname(sErsatzServerPathname As String)
|
|
'' Call saveStringValue(SEC_GLOBAL, KEY_GL_DBERSATZ, sErsatzServerPathname)
|
|
''End Property
|
|
'
|
|
'' @return Path und Namen der Server-Datenbank
|
|
''
|
|
'Public Property Get ErsatzDBPathname() As String
|
|
' ServerDBPathname = readStringValue(SEC_GLOBAL, KEY_GL_DBERSATZ, "")
|
|
'End Property
|
|
|
|
' @return Path und Namen des LogFiles
|
|
'
|
|
'Public Property Get LogFile() As String
|
|
' LogFile = readStringValue(SEC_GLOBAL, KEY_LOGFILE, "")
|
|
'End Property
|
|
|
|
|
|
' @return Path und Namen des Print Files
|
|
'
|
|
Public Property Get PrintFile() As String
|
|
PrintFile = readStringValue(SEC_GLOBAL, KEY_PRINTFILE, "")
|
|
End Property
|
|
|
|
' @return Path der Print Dirs
|
|
'
|
|
Public Property Get PrintDir() As String
|
|
PrintDir = readStringValue(SEC_GLOBAL, KEY_PRINTDIR, "")
|
|
End Property
|
|
|
|
Public Property Get EichpruefvorgabenIgnorieren() As String
|
|
EichpruefvorgabenIgnorieren = readStringValue(SEC_VORBELEGUNG, KEY_EICHPRUEFVORGABENIGNORIEREN, "")
|
|
End Property
|
|
|
|
|
|
Public Property Get PruefpunkteUnsortiert() As String
|
|
PruefpunkteUnsortiert = readStringValue(SEC_VORBELEGUNG, KEY_PRUEFPUNKTE_NICHT_SORTIERT, "")
|
|
End Property
|
|
|
|
Public Property Get LICHTWELLENLEITER() As String
|
|
LICHTWELLENLEITER = readStringValue(SEC_VORBELEGUNG, KEY_LICHTWELLENLEITER, "")
|
|
End Property
|
|
|
|
Public Property Let LICHTWELLENLEITER(strWert As String)
|
|
Call saveStringValue(SEC_VORBELEGUNG, KEY_LICHTWELLENLEITER, strWert)
|
|
End Property
|
|
|
|
Public Property Get PruefungsArt() As String
|
|
PruefungsArt = readStringValue(SEC_VORBELEGUNG, KEY_PRUEFUNG, "")
|
|
End Property
|
|
|
|
Public Property Get USPruefungsArt() As String
|
|
USPruefungsArt = readStringValue(SEC_VORBELEGUNG, KEY_USPRUEFUNG, "")
|
|
End Property
|
|
|
|
Public Property Get USVorPruefungsArt() As String
|
|
USVorPruefungsArt = readStringValue(SEC_VORBELEGUNG, KEY_USVORPRUEFUNG, "")
|
|
End Property
|
|
|
|
Public Property Get USFunktionspruefung() As String
|
|
USFunktionspruefung = readStringValue(SEC_VORBELEGUNG, KEY_FUNKTIONSPRUEFUNG, "")
|
|
End Property
|
|
|
|
Public Property Get Versuch() As String
|
|
Versuch = readStringValue(SEC_VORBELEGUNG, KEY_VERSUCH, "")
|
|
End Property
|
|
|
|
|
|
Public Property Get USVorjustageAutomatisch() As String
|
|
USVorjustageAutomatisch = readStringValue(SEC_USJUSTAGE, KEY_USVORJUSTAGEATOMATISCH, "0")
|
|
End Property
|
|
|
|
Public Property Get USOGeberAusDb() As Boolean
|
|
USOGeberAusDb = IIf(readIntValue(SEC_USJUSTAGE, KEY_O_GEBER_AUS_DB, "0") = 0, False, True)
|
|
End Property
|
|
|
|
Public Property Let USOGeberAusDb(blnWert As Boolean)
|
|
Call saveIntValue(SEC_USJUSTAGE, KEY_O_GEBER_AUS_DB, IIf(blnWert, 1, 0))
|
|
End Property
|
|
|
|
|
|
Public Property Get USVorjustage() As String
|
|
USVorjustage = readStringValue(SEC_VORBELEGUNG, KEY_VORJUSTAGE, "0")
|
|
End Property
|
|
|
|
' HARDWARE
|
|
'
|
|
|
|
' @param nNr eindeutige Kennung der Pruefstation
|
|
'
|
|
Public Property Let PruefstationNr(nNr As Integer)
|
|
Call saveIntValue(SEC_HARDWARE, KEY_HW_NR, nNr)
|
|
End Property
|
|
|
|
' @return eindeutige Nummer der Prüfstation
|
|
'
|
|
Public Property Get PruefstationNr() As Integer
|
|
PruefstationNr = readIntValue(SEC_HARDWARE, KEY_HW_NR, 0)
|
|
End Property
|
|
|
|
' @param Baujahr
|
|
'
|
|
Public Property Let PruefstationBaujahr(nBaujahr As Integer)
|
|
Call saveIntValue(SEC_HARDWARE, KEY_HW_BAUJAHR, nBaujahr)
|
|
End Property
|
|
|
|
' @return Baujahr der Prüfstation
|
|
'
|
|
Public Property Get PruefstationBaujahr() As Integer
|
|
PruefstationBaujahr = readIntValue(SEC_HARDWARE, KEY_HW_BAUJAHR, 0)
|
|
End Property
|
|
|
|
' @param Name des Kunden zu der Prüfstation
|
|
'
|
|
Public Property Let PruefstationKunde(sKunde As String)
|
|
Call saveStringValue(SEC_HARDWARE, KEY_HW_KUNDE, sKunde)
|
|
End Property
|
|
|
|
' @return Name des Kunden zu der Prüfstation
|
|
'
|
|
Public Property Get PruefstationKunde() As String
|
|
PruefstationKunde = readStringValue(SEC_HARDWARE, KEY_HW_KUNDE, "")
|
|
End Property
|
|
|
|
' @param Standort der Prüfstation
|
|
'
|
|
Public Property Let PruefstationStandort(sStandort As String)
|
|
Call saveStringValue(SEC_HARDWARE, KEY_HW_STANDORT, sStandort)
|
|
End Property
|
|
|
|
' @return Standort der Prüfstation
|
|
'
|
|
Public Property Get PruefstationStandort() As String
|
|
PruefstationStandort = readStringValue(SEC_HARDWARE, KEY_HW_STANDORT, "")
|
|
End Property
|
|
|
|
|
|
' STRÄNGE
|
|
'
|
|
|
|
' @param Anzahl der Stränge
|
|
'
|
|
Public Property Let Straenge(nStraenge As Integer)
|
|
Call saveIntValue(SEC_STRAENGE, KEY_STRAENGE_ANZAHL, nStraenge)
|
|
End Property
|
|
|
|
' @return Anzahl der Stränge
|
|
'
|
|
Public Property Get Straenge() As Integer
|
|
Straenge = readIntValue(SEC_STRAENGE, KEY_STRAENGE_ANZAHL, 0)
|
|
End Property
|
|
|
|
'
|
|
' EINBAUPLÄTZE JE STRANG
|
|
'
|
|
|
|
' @param Anzahl der Einbauplätze je Strang
|
|
'
|
|
Public Property Let EinbauplaetzeJeStrang(nPlaetze As Integer)
|
|
Call saveIntValue(SEC_HARDWARE, KEY_HW_ANZAHL, nPlaetze)
|
|
End Property
|
|
|
|
' @return Anzahl der Einbauplätze je Strang
|
|
'
|
|
Public Property Get EinbauplaetzeJeStrang() As Integer
|
|
EinbauplaetzeJeStrang = readIntValue(SEC_HARDWARE, KEY_HW_ANZAHL, 10)
|
|
End Property
|
|
|
|
' @return NummernbandID
|
|
'
|
|
Public Property Get NummernbandID() As Long
|
|
NummernbandID = readIntValue(SEC_TESTZAEHLER, KEY_NUMMERNBANDID, 99)
|
|
End Property
|
|
|
|
' @return Automatische Regulierung
|
|
'
|
|
Public Property Get AutomatischeRegulierung() As Integer
|
|
AutomatischeRegulierung = readIntValue(SEC_REGULIERUNG, KEY_AUTOMATISCHE_REGULIERUNG, 0)
|
|
End Property
|
|
|
|
Public Property Get AutomatischeVorjustage() As Integer
|
|
AutomatischeVorjustage = readIntValue(SEC_REGULIERUNG, KEY_AUTOMATISCHE_REGULIERUNG, 0)
|
|
End Property
|
|
|
|
'Private Const SEC_REGULIERUNG = "USJustage"
|
|
'Private Const KEY_USVORJUSTAGE = "VorjustageAutomatisch"
|
|
|
|
|
|
' @return Regulierung als Prüfpunkt verwenden
|
|
'
|
|
Public Property Get RegulierungVerwenden() As Integer
|
|
RegulierungVerwenden = readIntValue(SEC_REGULIERUNG, KEY_REGULIERUNG_VERWENDEN, 0)
|
|
End Property
|
|
|
|
|
|
Public Property Get RegulierungDaempfung1() As Integer
|
|
RegulierungDaempfung1 = readIntValue(SEC_REGULIERUNG, KEY_REGULIERUNG_DAEMPFUNG1, 0)
|
|
End Property
|
|
|
|
Public Property Let RegulierungDaempfung1(vData As Integer)
|
|
Call saveIntValue(SEC_REGULIERUNG, KEY_REGULIERUNG_DAEMPFUNG1, vData)
|
|
End Property
|
|
|
|
' @return Regulierung Übersprinen
|
|
'
|
|
'Public Property Get Ueberspringen() As Integer
|
|
' Ueberspringen = readIntValue(SEC_REGULIERUNG, KEY_UEBERSPRINGEN, 0)
|
|
'End Property
|
|
|
|
|
|
' @return Regelart
|
|
'
|
|
Public Property Get Regelart() As String
|
|
Regelart = readStringValue(SEC_DURCHFLUSS, KEY_REGELART, "FU")
|
|
End Property
|
|
|
|
' NENNWEITEN / WAAGEN / PRUEFZEITEN / SERVO
|
|
'
|
|
|
|
' @param Collection mit integer-Werten der Nennweiten
|
|
'
|
|
Public Property Let Nennweiten(colNennweiten As Collection)
|
|
Dim nIndex As Integer
|
|
Dim sKey As String
|
|
Dim vValue As Variant
|
|
|
|
' Ganze Section leeren
|
|
Call clearSection(SEC_NENNWEITEN)
|
|
|
|
For Each vValue In colNennweiten
|
|
nIndex = nIndex + 1
|
|
sKey = KEY_NW_NENNWEITE & nIndex
|
|
Call saveIntValue(SEC_NENNWEITEN, sKey, CInt(vValue))
|
|
Next
|
|
End Property
|
|
|
|
' @return Collection mit integer-Werten der Nennweiten
|
|
'
|
|
Public Property Get Nennweiten() As Collection
|
|
Dim nIndex As Integer
|
|
Dim sKey As String
|
|
Dim nValue As Integer
|
|
Dim colNennweiten As New Collection
|
|
|
|
Do While True
|
|
nIndex = nIndex + 1
|
|
sKey = KEY_NW_NENNWEITE & nIndex
|
|
|
|
nValue = readIntValue(SEC_NENNWEITEN, sKey, -1)
|
|
If nValue = -1 Then
|
|
Exit Do
|
|
End If
|
|
|
|
colNennweiten.Add nValue, Str$(nIndex)
|
|
Loop
|
|
|
|
Set Nennweiten = colNennweiten
|
|
End Property
|
|
|
|
Public Function GetWaageOVolumen(Waage As Integer)
|
|
GetWaageOVolumen = readIntValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(Waage) & "." & KEY_WA_OVOLUMEN, 0)
|
|
End Function
|
|
|
|
Public Function GetWaageUVolumen(Waage As Integer)
|
|
GetWaageUVolumen = readIntValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(Waage) & "." & KEY_WA_UVOLUMEN, 0)
|
|
End Function
|
|
|
|
|
|
'Public Function GetWaageCOMPort(Waage As Integer)
|
|
' GetWaageRuheWdh = readIntValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(Waage) & "." & KEY_WA_RUHE_WDH, 3)
|
|
'End Function
|
|
|
|
|
|
Public Function GetWaageRuheWdh(Waage As Integer)
|
|
GetWaageRuheWdh = readIntValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(Waage) & "." & KEY_WA_RUHE_WDH, 3)
|
|
End Function
|
|
|
|
Public Function GetWaageRuheGrenzwert(Waage As Integer) As Double
|
|
GetWaageRuheGrenzwert = Val(readStringValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(Waage) & "." & KEY_WA_RUHE_GRENZWERT, 0))
|
|
End Function
|
|
|
|
Public Function GetWaageAnwahl(Waage As Integer)
|
|
GetWaageAnwahl = readIntValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(Waage) & "." & KEY_WA_ANWAHL, 0)
|
|
End Function
|
|
|
|
Public Function GetWaageGenauigkeit(Waage As Integer)
|
|
GetWaageGenauigkeit = readStringValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(Waage) & "." & KEY_WA_GENAUIGKEIT, 0)
|
|
End Function
|
|
|
|
Public Function GetGrenzwert(Waage As Integer)
|
|
GetGrenzwert = readIntValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(Waage) & "." & KEY_WA_GRENZWERT, 0)
|
|
End Function
|
|
|
|
Public Function GetWaageCOMPort(Waage As Integer)
|
|
GetWaageCOMPort = readIntValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(Waage) & "." & KEY_WA_COMPORT, 0)
|
|
End Function
|
|
|
|
Public Function GetWaageCOMSettings(Waage As Integer)
|
|
GetWaageCOMSettings = readStringValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(Waage) & "." & KEY_WA_COMSETTINGS, "")
|
|
End Function
|
|
|
|
Public Function GetWaageObererGrenzwert(Waage As Integer)
|
|
GetWaageObererGrenzwert = readStringValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(Waage) & "." & KEY_WA_OBERERGRENZWERT, "")
|
|
End Function
|
|
|
|
|
|
Public Function GetWaageArt(Waage As Integer)
|
|
GetWaageArt = readStringValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(Waage) & "." & KEY_WA_ART, "BIZERBA")
|
|
End Function
|
|
|
|
Public Function GetWaageTaraStattNullstellen(Waage As Integer) As Boolean
|
|
' wird für die P2020 benötigt, da Nullstellen dort nicht funktioniert
|
|
' an der 2009 geht Tara nicht immer aber Nullstellen (was noch zu beweisen ist)
|
|
|
|
If readStringValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(Waage) & "." & KEY_WA_TARA_STATT_NULLSTELLEN, "0") = "1" Then
|
|
GetWaageTaraStattNullstellen = True
|
|
Else
|
|
GetWaageTaraStattNullstellen = False
|
|
End If
|
|
End Function
|
|
|
|
|
|
' @return Collection von integer-Werten mit den Prüfzeiten
|
|
'
|
|
Public Function getPruefzeiten() As Collection
|
|
Dim nIndex As Integer
|
|
Dim sKey As String
|
|
Dim nValue As Integer
|
|
Dim colPZ As New Collection
|
|
|
|
Do While True
|
|
nIndex = nIndex + 1
|
|
sKey = KEY_PZ_PRUEFZEIT & nIndex
|
|
|
|
nValue = readIntValue(SEC_PRUEFZEITEN, sKey, -1)
|
|
If nValue = -1 Then
|
|
Exit Do
|
|
End If
|
|
|
|
colPZ.Add nValue, Str$(nIndex)
|
|
Loop
|
|
|
|
Set getPruefzeiten = colPZ
|
|
End Function
|
|
|
|
' @return max. Anzahl der Prüfpunkte innerhalb eines Prüfganges
|
|
'
|
|
Public Function getMaxPruefpunkte() As Integer
|
|
getMaxPruefpunkte = readIntValue(SEC_PRUEFPUNKTE, KEY_PP_PRUEFPUNKTE, 12)
|
|
End Function
|
|
|
|
' @return Collection mit Objekten der Klasse CServo
|
|
'
|
|
Public Function getServos() As Collection
|
|
Dim colServos As New Collection
|
|
Dim Servo As CServo
|
|
Dim nIndex As Integer
|
|
Dim sPraefix As String
|
|
Dim nNennweite As Integer
|
|
Dim nStellbereich As Integer
|
|
|
|
Do While True
|
|
nIndex = nIndex + 1
|
|
sPraefix = KEY_SE_SERVO & nIndex
|
|
|
|
nNennweite = readStringValue(SEC_SERVO, sPraefix & KEY_SE_NENNWEITE, 0)
|
|
nStellbereich = readIntValue(SEC_SERVO, sPraefix & KEY_SE_STELLBEREICH, 0)
|
|
|
|
Set Servo = New CServo
|
|
Call Servo.setMember(nIndex, nNennweite, nStellbereich)
|
|
colServos.Add Servo, Str$(nIndex)
|
|
Loop
|
|
|
|
Set getServos = colServos
|
|
End Function
|
|
|
|
Public Function GetWaageUeberlauffaktor(nIndex) As Double
|
|
' -1 für Eintrag nicht vorhanden
|
|
GetWaageUeberlauffaktor = CDbl(readStringValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(nIndex) & "." & KEY_WA_UEBERLAUFFAKTOR, -1))
|
|
End Function
|
|
|
|
Public Function GetMindestmenge(nIndex) As Double
|
|
' 0 für Eintrag nicht vorhanden
|
|
GetMindestmenge = CDbl(readStringValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(nIndex) & "." & KEY_WA_MINDESTMENGE, 0))
|
|
End Function
|
|
|
|
|
|
Public Function GetBehaelterAnwahl(nIndex) As Integer
|
|
GetBehaelterAnwahl = CDbl(readStringValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(nIndex) & "." & KEY_WA_BEHAELTERANWAHL, 0))
|
|
End Function
|
|
|
|
Public Function GetBehaelterAblassAnwahl(nIndex) As Integer
|
|
GetBehaelterAblassAnwahl = CInt(readStringValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(nIndex) & "." & KEY_WA_ABLASS, 0))
|
|
End Function
|
|
|
|
Public Function GetFuelldurchfluss(nIndex) As Double
|
|
GetFuelldurchfluss = CDbl(readStringValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(nIndex) & "." & KEY_WA_FUELLDURCHFLUSS, 0))
|
|
End Function
|
|
|
|
Public Function GetFuellvolumen(nIndex) As Double
|
|
GetFuellvolumen = CDbl(readStringValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(nIndex) & "." & KEY_WA_FUELLVOLUMEN, 0))
|
|
End Function
|
|
|
|
Public Function GetBehaelterLeeren(nIndex) As Integer
|
|
GetBehaelterLeeren = CDbl(readStringValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(nIndex) & "." & KEY_WA_LEEREN, 0))
|
|
End Function
|
|
|
|
Public Function GetBehaelterAlleinLeeren(nIndex) As Boolean
|
|
GetBehaelterAlleinLeeren = (readStringValue(SEC_WAAGEN, KEY_WA_WAAGE & CStr(nIndex) & "." & KEY_WA_LEERENALLEIN, "0") = "1")
|
|
End Function
|
|
|
|
Public Function GetParameterZumMeistreamEntlueften(ByVal iNennweite As Integer, ByRef iPumpeNr As Integer, ByRef iMID_Einbauplatz As Integer, ByRef dblQ As Double) As Boolean
|
|
Dim strTemp As String
|
|
|
|
iPumpeNr = Val(Me.readStringValue(SEC_MSENTLUEFTEN, KEY_MSENTLUEFTEN_PUMPE & CStr(iNennweite), ""))
|
|
Select Case iPumpeNr
|
|
Case 1, 2
|
|
Case Else
|
|
GetParameterZumMeistreamEntlueften = False
|
|
Exit Function
|
|
End Select
|
|
|
|
iMID_Einbauplatz = Val(Me.readStringValue(SEC_MSENTLUEFTEN, KEY_MSENTLUEFTEN_MID & CStr(iNennweite), ""))
|
|
Select Case iMID_Einbauplatz
|
|
Case 1, 2, 3, 4, 5, 6, 7, 8
|
|
Case Else
|
|
GetParameterZumMeistreamEntlueften = False
|
|
Exit Function
|
|
End Select
|
|
|
|
dblQ = Val(Me.readStringValue(SEC_MSENTLUEFTEN, KEY_MSENTLUEFTEN_Q & CStr(iNennweite), ""))
|
|
If dblQ <= 0 Then
|
|
GetParameterZumMeistreamEntlueften = False
|
|
Exit Function
|
|
End If
|
|
|
|
GetParameterZumMeistreamEntlueften = True
|
|
End Function
|
|
|
|
Public Sub WriteDefaultParameterZumMeistreamEntlueften()
|
|
Select Case g_App.PruefstationNr
|
|
Case 2000, 2001
|
|
Call g_App.Settings.GetOrSetIniWert(SEC_MSENTLUEFTEN, KEY_MSENTLUEFTEN_PUMPE & "50", "1")
|
|
Call g_App.Settings.GetOrSetIniWert(SEC_MSENTLUEFTEN, KEY_MSENTLUEFTEN_PUMPE & "80", "1")
|
|
|
|
Call g_App.Settings.GetOrSetIniWert(SEC_MSENTLUEFTEN, KEY_MSENTLUEFTEN_MID & "50", "125")
|
|
Call g_App.Settings.GetOrSetIniWert(SEC_MSENTLUEFTEN, KEY_MSENTLUEFTEN_MID & "80", "125")
|
|
|
|
Call g_App.Settings.GetOrSetIniWert(SEC_MSENTLUEFTEN, KEY_MSENTLUEFTEN_Q & "50", "65")
|
|
Call g_App.Settings.GetOrSetIniWert(SEC_MSENTLUEFTEN, KEY_MSENTLUEFTEN_Q & "80", "140")
|
|
Case 2015, 2016
|
|
Call g_App.Settings.GetOrSetIniWert(SEC_MSENTLUEFTEN, KEY_MSENTLUEFTEN_PUMPE & "50", "VB_Pumpe2")
|
|
Call g_App.Settings.GetOrSetIniWert(SEC_MSENTLUEFTEN, KEY_MSENTLUEFTEN_PUMPE & "80", "VB_Pumpe1")
|
|
|
|
Call g_App.Settings.GetOrSetIniWert(SEC_MSENTLUEFTEN, KEY_MSENTLUEFTEN_MID & "50", "125")
|
|
Call g_App.Settings.GetOrSetIniWert(SEC_MSENTLUEFTEN, KEY_MSENTLUEFTEN_MID & "80", "125")
|
|
|
|
Call g_App.Settings.GetOrSetIniWert(SEC_MSENTLUEFTEN, KEY_MSENTLUEFTEN_Q & "50", "65")
|
|
Call g_App.Settings.GetOrSetIniWert(SEC_MSENTLUEFTEN, KEY_MSENTLUEFTEN_Q & "80", "80")
|
|
End Select
|
|
End Sub
|
|
|
|
' @return Collection mit Objekten der Klasse CBehaelter
|
|
'
|
|
'Public Function getBehaelter() As Collection
|
|
' Dim colBehaelter As New Collection
|
|
' Dim Behaelter As CBehaelter
|
|
' Dim nIndex As Integer
|
|
' Dim sPraefix As String
|
|
' Dim nFuellmenge As Integer
|
|
' Dim nSkala As Integer
|
|
' Dim nUeberlauf As Integer
|
|
'
|
|
' Do While True
|
|
' nIndex = nIndex + 1
|
|
' sPraefix = KEY_BE_BEHAELTER & nIndex
|
|
'
|
|
' nFuellmenge = readStringValue(SEC_BEHAELTER, sPraefix & KEY_BE_FUELLMENGE, 0)
|
|
' nSkala = readIntValue(SEC_BEHAELTER, sPraefix & KEY_BE_SKALA, 0)
|
|
' nUeberlauf = readIntValue(SEC_BEHAELTER, sPraefix & KEY_BE_UEBERLAUF, 0)
|
|
'
|
|
' Set Behaelter = New CBehaelter
|
|
' Call Behaelter.setMember(nIndex, nFuellmenge, nSkala, nUeberlauf)
|
|
' colBehaelter.Add Behaelter, Str$(nIndex)
|
|
' Loop
|
|
'
|
|
' Set getBehaelter = colBehaelter
|
|
'End Function
|
|
|
|
' @param nDevice ID des Geraetes (DEVPORT_Reserve, DEVPORT_SPS, DEVPORT_FMBus, DEVPORT_WAAGE)
|
|
'
|
|
' @return Nr. der COM-Schnittstelle für das angegebene Gerät
|
|
'
|
|
'
|
|
Public Function getCOMPort(nDevice As Integer) As Integer
|
|
Dim nPort As Integer
|
|
|
|
Select Case nDevice
|
|
Case DEVPORT_Reserve
|
|
nPort = readIntValue(SEC_COMPORTS, KEY_CP_RESERVE, 0)
|
|
Case DEVPORT_SPS
|
|
nPort = readIntValue(SEC_COMPORTS, KEY_CP_SPS, 0)
|
|
Case DEVPORT_FMBus
|
|
nPort = readIntValue(SEC_COMPORTS, KEY_CP_FMBUS, 0)
|
|
Case DEVPORT_Waage
|
|
nPort = readIntValue(SEC_COMPORTS, KEY_CP_WAAGE, 0)
|
|
Case DEVPORT_Display
|
|
nPort = readIntValue(SEC_COMPORTS, KEY_CP_DISPLAY, 0)
|
|
End Select
|
|
getCOMPort = nPort
|
|
End Function
|
|
|
|
'
|
|
' @return Collection von Objekten der Klasse CPumpe
|
|
'
|
|
Public Function getPumpen() As Collection
|
|
Dim ColPumpen As New Collection
|
|
Dim Pumpe As CPumpe
|
|
Dim nIndex As Integer
|
|
Dim sPraefix As String
|
|
Dim sBezeichnung As String
|
|
Dim nNennweite As Integer
|
|
Dim nDurchflussOben As Double
|
|
Dim nDurchflussUnten As Double
|
|
Dim sSPSVarname As String
|
|
Dim sRegelart As String
|
|
|
|
Do While nIndex < 10 ' Pumpe1 ... Pumpe9
|
|
nIndex = nIndex + 1
|
|
sPraefix = KEY_PU_PUMPE & nIndex
|
|
|
|
sBezeichnung = readStringValue(SEC_PUMPE, sPraefix & KEY_PU_BEZEICHNUNG, "")
|
|
nNennweite = readIntValue(SEC_PUMPE, sPraefix & KEY_PU_NENNWEITE, -1)
|
|
nDurchflussOben = CDbl(readStringValue(SEC_PUMPE, sPraefix & KEY_PU_DURCHFLUSSOBEN, -1))
|
|
nDurchflussUnten = CDbl(readStringValue(SEC_PUMPE, sPraefix & KEY_PU_DURCHFLUSSUNTEN, -1))
|
|
sSPSVarname = readStringValue(SEC_PUMPE, sPraefix & KEY_PU_SPSVARNAME, "")
|
|
sRegelart = readStringValue(SEC_PUMPE, sPraefix & KEY_PU_REGELART, "")
|
|
|
|
If nNennweite <> -1 Then
|
|
Set Pumpe = New CPumpe
|
|
Call Pumpe.setMembers(sBezeichnung, nNennweite, nDurchflussOben, nDurchflussUnten, nIndex, sSPSVarname, sRegelart)
|
|
ColPumpen.Add Pumpe, Str$(nIndex)
|
|
End If
|
|
Loop
|
|
|
|
Set getPumpen = ColPumpen
|
|
End Function
|
|
|
|
|
|
' @return Adresse des FM85 für Referenzzähler Vergleich
|
|
'
|
|
Public Function FM85RefZAdresse() As Integer
|
|
FM85RefZAdresse = readIntValue(SEC_FM85, KEY_FM85RefZ, 7)
|
|
End Function
|
|
|
|
Public Function FM85Settings() As String
|
|
FM85Settings = readStringValue(SEC_FM85, KEY_FM85Settings, "")
|
|
End Function
|
|
|
|
|
|
' @return String zum verbinden des OPCServers der SPS
|
|
'
|
|
Public Function getOpcServerUrl() As String
|
|
getOpcServerUrl = readStringValue(SEC_SPS, KEY_SPS_OPCSERVERURL, "")
|
|
End Function
|
|
Public Function getOpcRegisterWritePre() As String
|
|
getOpcRegisterWritePre = readStringValue(SEC_SPS, KEY_SPS_OPCSERVERREGISTERWRITEPRE, "")
|
|
End Function
|
|
Public Function getOpcRegisterReadPre() As String
|
|
getOpcRegisterReadPre = readStringValue(SEC_SPS, KEY_SPS_OPCSERVERREGISTERREADPRE, "")
|
|
End Function
|
|
Public Function getOpcRegisterWriteSuffix() As String
|
|
getOpcRegisterWriteSuffix = readStringValue(SEC_SPS, KEY_SPS_OPCSERVERREGISTERWRITESUFFIX, "")
|
|
End Function
|
|
Public Function getOpcRegisterReadSuffix() As String
|
|
getOpcRegisterReadSuffix = readStringValue(SEC_SPS, KEY_SPS_OPCSERVERREGISTERREADSUFFIX, "")
|
|
End Function
|
|
|
|
|
|
|
|
|
|
' @return String zum Starten der ProtoolAnwendung der SPS
|
|
'
|
|
Public Function getProToolString() As String
|
|
getProToolString = readStringValue(SEC_SPS, KEY_PROTOOLSTART, "")
|
|
End Function
|
|
|
|
' @return String zum Starten der ProtoolAnwendung der SPS
|
|
'
|
|
Public Function getProToolAppTitle() As String
|
|
getProToolAppTitle = readStringValue(SEC_SPS, KEY_PROTOOLAPPTITLE, "")
|
|
End Function
|
|
|
|
' @return 1 wenn Temp und Feuchte von der SPS gemessen werden
|
|
'
|
|
Public Function getTempFeuchteMessen() As Integer
|
|
getTempFeuchteMessen = readIntValue(SEC_SPS, KEY_TEMPFEUCHTEMESSEN, 0)
|
|
End Function
|
|
|
|
Public Function getRZPruefzeitraum() As String
|
|
getRZPruefzeitraum = readStringValue(SEC_REFZ, KEY_RZ_PRUEFZEITRAUM, "21:30-06:00")
|
|
End Function
|
|
|
|
' @return Maximale Differenz der Fehler Der referenzzähler
|
|
' bis Warnung bei Hauptpruefung
|
|
'
|
|
Public Function getMaxDiffRZ() As Double
|
|
getMaxDiffRZ = CDbl(readStringValue(SEC_REFZ, KEY_RZ_MAXDIFF, "1"))
|
|
End Function
|
|
|
|
' @return ; Abweichung der Fehler in % bei der
|
|
' der kleinste PP ein zweites mal wiederholt wird
|
|
Public Function getPruefgangLangAbweichung() As Double
|
|
getPruefgangLangAbweichung = CDbl(readStringValue(SEC_LANGER_PRUEFGANG, KEY_ABWEICHUNG, 1))
|
|
End Function
|
|
|
|
' @return Aktive Referenzzähler Gruppe
|
|
' 1 = A (Default), 2 = B
|
|
Public Function getMIDGruppe() As Integer
|
|
getMIDGruppe = readIntValue(SEC_REFZ, KEY_RZ_GRUPPE, "1")
|
|
End Function
|
|
|
|
' @return Anzahl Referenzzähler Gruppe
|
|
' 1 = A , 2 = A+B (Default)
|
|
Public Function getAnzahlMIDGruppen() As Integer
|
|
getAnzahlMIDGruppen = readIntValue(SEC_HARDWARE, KEY_RZ_ANZAHLGR, "1")
|
|
End Function
|
|
|
|
|
|
Public Function get_RZP_BehaelterLeeren() As Integer
|
|
' Wartezeit in Sekunden um beide Behälter zu leeren
|
|
get_RZP_BehaelterLeeren = readIntValue(SEC_REFZ, KEY_RZ_NACHPRUEFUNGBEHAELTERLEEREN, 0)
|
|
End Function
|
|
|
|
Public Function get_RZ_Wiederholgenauigkeit() As Double
|
|
On Error Resume Next
|
|
get_RZ_Wiederholgenauigkeit = 0.2
|
|
|
|
If CDbl("0,2") = 0.2 Then
|
|
get_RZ_Wiederholgenauigkeit = CDbl(readStringValue(SEC_REFZ, KEY_RZ_WDHGENAUIGKEIT, CStr("0,2")))
|
|
ElseIf CDbl("0.2") = 0.2 Then
|
|
get_RZ_Wiederholgenauigkeit = CDbl(Replace(readStringValue(SEC_REFZ, KEY_RZ_WDHGENAUIGKEIT, CStr("0,2")), ",", "."))
|
|
Else
|
|
ErrorMsg "Fehler in get_RZ_Wiederholgenauigkeit(). Unbekannter Dezimaltrenner."
|
|
End If
|
|
End Function
|
|
|
|
Public Function getUSComPort(Einbauplatz As Integer) As String
|
|
getUSComPort = readStringValue(SEC_COMPORTS, KEY_USPORT & Einbauplatz, "")
|
|
End Function
|
|
|
|
Public Function GetDisplayCOMSettings() As String
|
|
GetDisplayCOMSettings = readStringValue(SEC_COMPORTS, KEY_DISPLAY_SETTINGS, "9600,n,8,1")
|
|
End Function
|
|
|
|
|
|
Public Function GetUSFunktionspruefung_Pruefzeit()
|
|
GetUSFunktionspruefung_Pruefzeit = readIntValue(SEC_FUNKTIONSPRUEFUNG, KEY_FUNKTIONSPRUEFUNG_PRUEFZEIT, 20)
|
|
End Function
|
|
|
|
Public Function GetUSFunktionspruefung_Toleranz()
|
|
GetUSFunktionspruefung_Toleranz = readIntValue(SEC_FUNKTIONSPRUEFUNG, KEY_TOLERANZENERGIEABWEICHUNG, 3)
|
|
End Function
|
|
|
|
Public Function GetUSFunktionspruefung_GetDelta_T()
|
|
GetUSFunktionspruefung_GetDelta_T = readIntValue(SEC_FUNKTIONSPRUEFUNG, KEY_DELTAT, 3)
|
|
End Function
|
|
|
|
|
|
Public Function GetBenutzeFuellstandStattWaage() As Boolean
|
|
GetBenutzeFuellstandStattWaage = CBool(readIntValue(SEC_FUELLSTAND, KEY_FUELLSTAND_USE, 0))
|
|
End Function
|
|
|
|
Public Function GetFuellstandWartezeit(BehaelterNr As Integer) As Integer
|
|
Select Case BehaelterNr
|
|
Case 1
|
|
GetFuellstandWartezeit = readIntValue(SEC_FUELLSTAND, KEY_FUELLSTAND_WARTE1, 5000)
|
|
Case 2
|
|
GetFuellstandWartezeit = readIntValue(SEC_FUELLSTAND, KEY_FUELLSTAND_WARTE2, 5000)
|
|
Case 3
|
|
GetFuellstandWartezeit = readIntValue(SEC_FUELLSTAND, KEY_FUELLSTAND_WARTE2, 5000)
|
|
Case Else
|
|
MsgBox "Falscher Wert BehaelterNr= " & BehaelterNr & " in Settings.GetFuellstandWartezeit"
|
|
End Select
|
|
End Function
|
|
|
|
Public Function GetFuellstandMittelwert(BehaelterNr As Integer) As Integer
|
|
Select Case BehaelterNr
|
|
Case 1
|
|
GetFuellstandMittelwert = readIntValue(SEC_FUELLSTAND, KEY_FUELLSTAND_MITTEL1, 10)
|
|
Case 2
|
|
GetFuellstandMittelwert = readIntValue(SEC_FUELLSTAND, KEY_FUELLSTAND_MITTEL2, 10)
|
|
Case Else
|
|
MsgBox "Falscher Wert BehaelterNr= " & BehaelterNr & " in Settings.GetFuellstandMittelwert"
|
|
End Select
|
|
End Function
|
|
|
|
Public Function GetFuellstandEntleerzeit(BehaelterNr As Integer) As Integer
|
|
Select Case BehaelterNr
|
|
Case 0
|
|
GetFuellstandEntleerzeit = readIntValue(SEC_FUELLSTAND, KEY_FUELLSTAND_ENTLEER, 10)
|
|
Case 1
|
|
GetFuellstandEntleerzeit = readIntValue(SEC_FUELLSTAND, KEY_FUELLSTAND_ENTLEER1, 10)
|
|
Case 2
|
|
GetFuellstandEntleerzeit = readIntValue(SEC_FUELLSTAND, KEY_FUELLSTAND_ENTLEER2, 10)
|
|
Case 3
|
|
GetFuellstandEntleerzeit = readIntValue(SEC_FUELLSTAND, KEY_FUELLSTAND_ENTLEER2, 10)
|
|
Case Else
|
|
MsgBox "Falscher Wert BehaelterNr= " & BehaelterNr & " in Settings.GetFuellstandEntleerzeit"
|
|
End Select
|
|
End Function
|
|
|
|
|
|
Public Function GETUSZeroflowMesszeit() As Integer
|
|
GETUSZeroflowMesszeit = readIntValue(SEC_PRUEFZEITEN, KEY_ZEROFLOWMESSZEIT, 60)
|
|
End Function
|
|
|
|
Public Function GetAnzahlFuerVoreinstellwert() As Integer
|
|
GetAnzahlFuerVoreinstellwert = CInt(readIntValue(SEC_DURCHFLUSS, KEY_ANZAHLVOREINSTELL, 6))
|
|
End Function
|
|
|
|
Public Sub SetAnzahlFuerVoreinstellwert(intWert As Integer)
|
|
Call saveStringValue(SEC_DURCHFLUSS, KEY_ANZAHLVOREINSTELL, CStr(intWert))
|
|
End Sub
|
|
|
|
Public Sub SetBreiteTabelle(strWert As String, strUser As String)
|
|
Call saveStringValue(SEC_USER_SETTINGS, KEY_TABLECELLWIDTH & "_" & strUser, strWert)
|
|
End Sub
|
|
|
|
Public Function GetBreiteTabelle(strUser As String) As String
|
|
GetBreiteTabelle = readStringValue(SEC_USER_SETTINGS, KEY_TABLECELLWIDTH & "_" & strUser, "")
|
|
End Function
|
|
|
|
|
|
Public Function SetRegulierWertTurbo2e(strKey As String, strWert As String)
|
|
Call saveStringValue(SEC_TURBO, strKey, strWert)
|
|
End Function
|
|
|
|
Public Function GetRegulierWertTurbo2e(strKey As String) As String
|
|
GetRegulierWertTurbo2e = readStringValue(SEC_TURBO, strKey, "0")
|
|
End Function
|
|
|
|
Public Function GetAuslieferung() As String
|
|
GetAuslieferung = readStringValue(SEC_GLOBAL, KEY_AUSLIEFERUNG, "")
|
|
End Function
|
|
|
|
Public Function GetUpdateExePath() As String
|
|
GetUpdateExePath = readStringValue(SEC_GLOBAL, KEY_UPDATEEXE, "")
|
|
End Function
|
|
|
|
Public Function GetUpdateCheck() As String
|
|
GetUpdateCheck = readStringValue(SEC_GLOBAL, KEY_UPDATECHECK, "1")
|
|
End Function
|
|
|
|
Public Function GetUpdateProgrammPath() As String
|
|
GetUpdateProgrammPath = readStringValue(SEC_GLOBAL, KEY_UPDATEPRG, "")
|
|
End Function
|
|
|
|
Public Function GetFertigmeldungEMailAdresse() As String
|
|
GetFertigmeldungEMailAdresse = readStringValue(SEC_FERTIGMELDEN, KEY_FERTIGMELDEN_TO, "")
|
|
End Function
|
|
|
|
Public Sub SetFertigmeldungEMailAdresse(strAdressen As String)
|
|
Call saveStringValue(SEC_FERTIGMELDEN, KEY_FERTIGMELDEN_TO, strAdressen)
|
|
End Sub
|
|
|
|
Public Function GetWetterstationURL() As String
|
|
GetWetterstationURL = readStringValue(SEC_WETTERSTATION, KEY_WETTERSTATION_URL, "")
|
|
End Function
|
|
|
|
|
|
Public Function GetWasserdruckLabjackSettings(ByRef intID As Integer, ByRef intChannel As Integer, ByRef dblFaktor As Double) As Boolean
|
|
Dim strTemp As String
|
|
strTemp = Trim(readStringValue(SEC_LABJACK, KEY_LABJACK_ISP_ID, ""))
|
|
If IsNumeric(strTemp) Then
|
|
intID = Val(strTemp)
|
|
strTemp = Trim(readStringValue(SEC_LABJACK, KEY_LABJACK_ISP_CH, ""))
|
|
If IsNumeric(strTemp) Then
|
|
intChannel = Val(strTemp)
|
|
strTemp = Trim(readStringValue(SEC_LABJACK, KEY_LABJACK_Faktor, "1"))
|
|
dblFaktor = Val(strTemp)
|
|
If dblFaktor <> 0 Then
|
|
GetWasserdruckLabjackSettings = True
|
|
End If
|
|
End If
|
|
End If
|
|
End Function
|
|
|
|
Public Function GetNachlaufzeit_s() As Long
|
|
GetNachlaufzeit_s = Val(g_App.Settings.readStringValue(SEC_VORBELEGUNG, KEY_NACHLAUFZEIT_S, "0"))
|
|
End Function
|
|
|
|
|
|
Public Sub SetProdaveSettings(ByVal Station As Long, ByVal Slot As Long, ByVal Rack As Long)
|
|
GetOrSetIniWert SEC_SPS, KEY_SPS_PRODAVE_STATION, CStr(Station)
|
|
GetOrSetIniWert SEC_SPS, KEY_SPS_PRODAVE_SLOT, CStr(Slot)
|
|
GetOrSetIniWert SEC_SPS, KEY_SPS_PRODAVE_RACK, CStr(Rack)
|
|
'GetOrSetIniWert SEC_SPS, KEY_SPS_PRODAVE_BAUSTEIN, CStr(Baustein)
|
|
End Sub
|
|
|
|
|
|
|
|
Public Function GetProdaveSettings(ByRef Station As Byte, ByRef Slot As Byte, ByRef Rack As Byte) As Boolean
|
|
On Error GoTo Errorhandler
|
|
Dim strTemp As String
|
|
GetProdaveSettings = True
|
|
|
|
strTemp = readStringValue(SEC_SPS, KEY_SPS_PRODAVE_STATION, "")
|
|
If IsNumeric(strTemp) Then
|
|
Station = CByte(strTemp)
|
|
Else
|
|
GetProdaveSettings = False
|
|
End If
|
|
|
|
strTemp = readStringValue(SEC_SPS, KEY_SPS_PRODAVE_SLOT, "")
|
|
If IsNumeric(strTemp) Then
|
|
Slot = CByte(strTemp)
|
|
Else
|
|
GetProdaveSettings = False
|
|
End If
|
|
|
|
strTemp = readStringValue(SEC_SPS, KEY_SPS_PRODAVE_RACK, "")
|
|
If IsNumeric(strTemp) Then
|
|
Rack = CByte(strTemp)
|
|
Else
|
|
GetProdaveSettings = False
|
|
End If
|
|
|
|
' strTemp = readStringValue(SEC_SPS, KEY_SPS_PRODAVE_BAUSTEIN, "")
|
|
' If IsNumeric(strTemp) Then
|
|
' Baustein = CByte(strTemp)
|
|
' Else
|
|
' GetProdaveSettings = False
|
|
' End If
|
|
Exit Function
|
|
Errorhandler:
|
|
MsgBox "Fehler " & Err.Number & " in GetProdaveSettings(): " & Err.Description
|
|
End Function
|
|
|
|
|
|
'------------------------------------------------------------------------------
|
|
' Private Funktionalität
|
|
'------------------------------------------------------------------------------
|
|
|
|
Private Sub clearSection(sSection As String)
|
|
Call WritePrivateProfileString(sSection, 0&, 0&, m_sINIFilename)
|
|
End Sub
|
|
|
|
' String-Value in INI-File schreiben
|
|
'
|
|
' @param sSection Sektion im INI-File
|
|
' @param sKey Schlüssel im INI-File
|
|
' @param sValue zu speichernder Wert
|
|
'
|
|
Public Sub saveStringValue(sSection As String, sKey As String, sValue As String)
|
|
Call WritePrivateProfileString(sSection, sKey, sValue, m_sINIFilename)
|
|
End Sub
|
|
|
|
' String-Value aus INI-File lesen
|
|
'
|
|
' @param sSection Sektion im INI-File
|
|
' @param sKey Schlüssel im INI-File
|
|
' @param sDefault Default-Wert
|
|
'
|
|
Public Function readStringValue(sSection As String, sKey As String, sDefault As String) As String
|
|
Dim lLen As Integer
|
|
Dim sBuffer As String
|
|
|
|
sBuffer = String(256, Chr$(0))
|
|
lLen = GetPrivateProfileString(sSection, sKey, sDefault, sBuffer, Len(sBuffer), m_sINIFilename)
|
|
|
|
readStringValue = Left$(sBuffer, lLen)
|
|
|
|
' DebugMsg "Lese GetPrivateProfileString [" & sSection & "] " & sKey & " = '" & readStringValue & "'"
|
|
End Function
|
|
|
|
' Integer-Value in INI-File schreiben
|
|
'
|
|
' @param sSection Sektion im INI-File
|
|
' @param sKey Schlüssel im INI-File
|
|
' @param nValue zu speichernder Wert
|
|
'
|
|
Private Sub saveIntValue(sSection As String, sKey As String, nValue As Integer)
|
|
Call saveStringValue(sSection, sKey, Trim(Str$(nValue)))
|
|
End Sub
|
|
|
|
' Integer-Value aus INI-File lesen
|
|
' @param sSection Sektion im INI-File
|
|
' @param sKey Schlüssel im INI-File
|
|
' @param nDefault Default-Wert
|
|
'
|
|
Private Function readIntValue(sSection As String, sKey As String, nDefault As Integer) As Integer
|
|
readIntValue = GetPrivateProfileInt(sSection, sKey, nDefault, m_sINIFilename)
|
|
End Function
|
|
|
|
|
|
Public Function GetOrSetIniWert(sSection As String, sKey As String, sDefault As String) As String
|
|
GetOrSetIniWert = readStringValue(sSection, sKey, "")
|
|
If (GetOrSetIniWert = "" Or GetOrSetIniWert = "?") And sDefault <> "" Then
|
|
WritePrivateProfileString sSection, sKey, sDefault, m_sINIFilename
|
|
GetOrSetIniWert = sDefault
|
|
LogIntoDB "Ini Wert gesetzt [" & sSection & "] " & sKey & "=" & sDefault, "Autoupdate"
|
|
End If
|
|
End Function
|
|
|
|
|
|
Public Function AESEncryptString(strMessage As String) As String
|
|
Dim bytIn() As Byte
|
|
Dim bytOut() As Byte
|
|
Dim bytPassword() As Byte
|
|
Dim mobj_Rijndael As CRijndael
|
|
On Error GoTo Erorhandler
|
|
|
|
Set mobj_Rijndael = New CRijndael
|
|
|
|
bytIn = strMessage
|
|
bytPassword = AES_PASSWORD
|
|
|
|
AESEncryptString = ToHex(mobj_Rijndael.EncryptData(bytIn, bytPassword))
|
|
Exit Function
|
|
Erorhandler:
|
|
MsgBox "Fehler " & Err.Number & " in AESEncryptString(): " & Err.Description
|
|
End Function
|
|
|
|
|
|
Public Function AESDecryptString(strAESEncrypted As String) As String
|
|
Dim bytIn() As Byte
|
|
Dim bytPassword() As Byte
|
|
Dim strIn As String
|
|
|
|
Dim mobj_Rijndael As CRijndael
|
|
|
|
On Error GoTo Erorhandler
|
|
|
|
Set mobj_Rijndael = New CRijndael
|
|
|
|
bytIn = FromHex(strAESEncrypted)
|
|
strIn = bytIn
|
|
bytPassword = AES_PASSWORD
|
|
|
|
AESDecryptString = mobj_Rijndael.DecryptData(bytIn, bytPassword)
|
|
Exit Function
|
|
Erorhandler:
|
|
MsgBox "Fehler " & Err.Number & " beim Entschlüsseln in AESDecryptString: " & Err.Description & vbCrLf & "Möglicherweise ist der zu entschlüsselnde Wert falsch."
|
|
End Function
|
|
|
|
|
|
Private Function FromHex(strHex As String)
|
|
Dim lLength As Long
|
|
Dim lCount As Long
|
|
Dim bytOut() As Byte
|
|
|
|
lLength = Len(strHex)
|
|
|
|
ReDim bytOut((lLength \ 2) - 1)
|
|
For lCount = 1 To lLength Step 2
|
|
bytOut(lCount \ 2) = CByte("&H" & Mid(strHex, lCount, 2))
|
|
Next
|
|
FromHex = bytOut
|
|
End Function
|
|
|
|
Private Function ToHex(bytOut() As Byte)
|
|
Dim lCount As Long
|
|
Dim sTemp As String
|
|
For lCount = 0 To UBound(bytOut)
|
|
sTemp = sTemp & Right("0" & Hex(bytOut(lCount)), 2)
|
|
Next
|
|
ToHex = sTemp
|
|
End Function
|
|
|