19. april 2004 - 19:37Der er
5 kommentarer og 1 løsning
Overførsel af data til registreringsdatabasen
Jeg har oprettet et MenuSystem med forskellige skabeloner i Word.
Når systemet installeres på brugerens pc, skal brugeren samtidig afgive oplysninger om, navn, tlf. og initialer. Disse oplysninger vil jeg gerne have overført til registreringsdatabasen så jeg kan hente dem igen med dene lille programstump.
Public Sub AutoNew() 'Sætter sti til initeringsoplysninger i registreringsdatabasen InitPath = "HKEY_CURRENT_USER\Software\Microsoft\FLC Nord\UserInfo" 'Henter initering fra registreringsdatabasen InitNavn = System.PrivateProfileString("", InitPath, "InitName") InitLok = System.PrivateProfileString("", InitPath, "InitLok") frmSkatRekvireringAfSager.Show End Sub
Hvor ikke bare bruge SAVESETTING og GETSETTING, det er standardkommandoer i VB. Kommandoerne gemmer netop i den del af reg.databasen som den aktuelle bruger har, dvs. man får ikke problemer med permissions.
Herehfter henter du værdien således: Navn = getsetting("Applikationsnavn", "Stamdata", "Navn","Defaultvalue hvis tom")
Hvis du alligevel ønsker at placere dine værdier et andet std, kan du bruge denne funktion: Public Function adhSetRegistryValueFromPath _ (ByVal strPath As String, ByVal varValue As Variant) _ As Variant ' Sets a value based on a registry path ' ' From Access 97 Developer's Handbook ' by Litwin, Getz, and Gilbert. (Sybex) ' Copyright 1997. All Rights Reserved. ' ' In: ' strPath A registry path ' varValue The value to be set ' The VarType of the variant determines ' What data type in the registry is ' used ' ' Out: ' If there is an error then IsError on the return ' value will return True. Otherwise the return ' value has no meaning. ' ' Example: ' ? adhSetRegistryValueFromPath("\HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaveActive", "1")
Dim hKey As Long Dim strValue As String Dim retCode As Long
If Not IsError _ (adhGetKeyAndValueFromPath(strPath, hKey, strValue)) Then Select Case varType(varValue) Case vbEmpty Stop Case vbNull Stop Case vbInteger Stop Case vbLong retCode = adh_apiRegSetValueEx(hKey, strValue, _ 0&, REG_DWORD, CLng(varValue), 4) Select Case retCode And APPLICATION_ERROR_MASK Case ERROR_SEVERITY_SUCCESS Case Else adhSetRegistryValueFromPath = CVErr(0) End Select Case vbSingle Stop Case vbDouble Stop Case vbCurrency Stop Case vbDate Stop Case vbString retCode = adh_apiRegSetValueEx(hKey, strValue, _ 0&, REG_SZ, ByVal CStr(varValue), Len(varValue)) Select Case retCode And APPLICATION_ERROR_MASK Case ERROR_SEVERITY_SUCCESS Case Else adhSetRegistryValueFromPath = CVErr(0) End Select Case vbObject Stop Case vbError Stop Case vbBoolean Stop Case vbVariant Stop Case vbDataObject Stop Case vbByte Stop Case vbArray Stop Case Else Stop End Select Call adh_apiRegCloseKey(hKey) End If End Function
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.