---
title: "funktioner..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/27498-funktioner"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Alvar s"
published: "2000-06-08T16:31:00.000Z"
updated: "2000-07-04T18:16:00.000Z"
replies: 6
views: 453
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/27498-funktioner"
---

# funktioner...

## #1 — Alvar s, 2000-06-08T16:31Z

1: Hur gör man så att vb hämtar en viss nyckel från registret och sparar den till en fil??

2: Hur får jag alla tal att flytta till olika ställen på detta program? : [http://user.tninet.se/\~xkk718a/matte.zip](http://user.tninet.se/~xkk718a/matte.zip) ( med rnd funktionen.. )

3: Kan man göra så att många forms använder samma meny? Lr kan man kopiera menyn och snabbt klistra in den, och isf, hur??

\[Redigerat av Alvar s den 29 jun 2000\]

Permalänk: https://www.webforum.nu/p/27498

## #2 — Swey, 2000-06-29T16:24Z

Registret:
\<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\>Public Const HKEY_CLASSES_ROOT = &H80000000 
Public Const HKEY_CURRENT_USER = &H80000001 
Public Const HKEY_LOCAL_MACHINE = &H80000002 
Public Const HKEY_USERS = &H80000003 
Public Const HKEY_PERFORMANCE_DATA = &H80000004 
Public Const ERROR_SUCCESS = 0& 

Declare Function RegCloseKey Lib "advapi32.dll" (ByVal Hkey As Long) As Long 
Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long 
Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String) As Long 
Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal Hkey As Long, ByVal lpValueName As String) As Long 
Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long 
Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal Hkey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long 
Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal Hkey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long 
Public Const REG_SZ = 1 
Public Const REG_DWORD = 4 

Public Sub savekey(Hkey As Long, strPath As String) 
Dim keyhand&, r 
r = RegCreateKey(Hkey, strPath, keyhand&) 
r = RegCloseKey(keyhand&) 
End Sub 

Public Function getstring(Hkey As Long, strPath As String, strValue As String) 
Dim keyhand As Long 
Dim datatype As Long 
Dim lResult As Long 
Dim strBuf As String 
Dim lDataBufSize As Long 
Dim intZeroPos As Integer 
Dim r, lValueType 
r = RegOpenKey(Hkey, strPath, keyhand) 
lResult = RegQueryValueEx(keyhand, strValue, 0&, lValueType, ByVal 0&, lDataBufSize) 
If lValueType = REG_SZ Then 
   strBuf = String(lDataBufSize, " ") 
   lResult = RegQueryValueEx(keyhand, strValue, 0&, 0&, ByVal strBuf, lDataBufSize) 
   If lResult = ERROR_SUCCESS Then 
      intZeroPos = InStr(strBuf, Chr$(0)) 
      If intZeroPos \> 0 Then 
      getstring = Left$(strBuf, intZeroPos - 1) 
      Else 
         getstring = strBuf 
      End If 
   End If 
End If 
End Function 

Public Sub savestring(Hkey As Long, strPath As String, strValue As String, strdata As String) 
Dim keyhand As Long 
Dim r As Long 
r = RegCreateKey(Hkey, strPath, keyhand) 
r = RegSetValueEx(keyhand, strValue, 0, REG_SZ, ByVal strdata, Len(strdata)) 
r = RegCloseKey(keyhand) 
End Sub 

Function getdword(ByVal Hkey As Long, ByVal strPath As String, ByVal strValueName As String) As Long 
Dim lResult As Long 
Dim lValueType As Long 
Dim lBuf As Long 
Dim lDataBufSize As Long 
Dim r As Long 
Dim keyhand As Long 

r = RegOpenKey(Hkey, strPath, keyhand) 

lDataBufSize = 4 

lResult = RegQueryValueEx(keyhand, strValueName, 0&, lValueType, lBuf, lDataBufSize) 

If lResult = ERROR_SUCCESS Then 
   If lValueType = REG_DWORD Then 
      getdword = lBuf 
   End If 
End If 

r = RegCloseKey(keyhand) 
End Function 

Function SaveDword(ByVal Hkey As Long, ByVal strPath As String, ByVal strValueName As String, ByVal lData As Long) 
Dim lResult As Long 
Dim keyhand As Long 
Dim r As Long 
r = RegCreateKey(Hkey, strPath, keyhand) 
lResult = RegSetValueEx(keyhand, strValueName, 0&, REG_DWORD, lData, 4) 
r = RegCloseKey(keyhand) 
End Function 

Public Function DeleteKey(ByVal Hkey As Long, ByVal strKey As String) 
Dim r As Long 
r = RegDeleteKey(Hkey, strKey) 
End Function 

Public Function DeleteValue(ByVal Hkey As Long, ByVal strPath As String, ByVal strValue As String) 
Dim keyhand As Long, r 
r = RegOpenKey(Hkey, strPath, keyhand) 
r = RegDeleteValue(keyhand, strValue) 
r = RegCloseKey(keyhand) 
End Function

Permalänk: https://www.webforum.nu/p/396325

## #3 — Swey, 2000-06-29T16:27Z

2\. Med Show och Hide antar jag.
3\. Med PopupMenu kan du visa en meny från ett annat formulär. Men inte som meny längs titelraden.

Permalänk: https://www.webforum.nu/p/396326

## #4 — Alvar s, 2000-07-03T16:20Z

1: Var ska jag lägga in den koden? Måste jag ha nåt speciellt för att koden ska funka?

2: Om jag har 3 tal och 3 positioner vill jag att 1 av dom 3 talen slumpvis ska hamna på en av dom 3 positionerna... osv...

\[Redigerat av Alvar s den 04 jul 2000\]

Permalänk: https://www.webforum.nu/p/396327

## #5 — Swey, 2000-07-04T17:49Z

Jag har inte Visual Basic installerat för tillfället.

Kan du förtydliga dina frågor?

Permalänk: https://www.webforum.nu/p/396328

## #6 — Swey, 2000-07-04T17:53Z

1\. Lägg koden i en modul och kör funktionerna.

Förstår inte vad du menar med skriva ut en nyckel dock.

2\. Vad för sorts positioner?

Permalänk: https://www.webforum.nu/p/396329

## #7 — Alvar s, 2000-07-04T18:16Z

exempel

5 + 5 = 10
7 + 7 = 14
1 + 7 = 8

istället kunde det bli tex:

1 + 7 = 8
7 + 7 = 14
5 + 5 = 10

1 + 7 = är en label och svaret är en text där man skriver in svaret, alltså måste båda flyttas till samma ställe på nåt sätt...

Permalänk: https://www.webforum.nu/p/396330

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/27498-funktioner
