Code:
Imports System.Runtime.InteropServices
Public Class Form1
Dim heute As Date
Dim yy As Int16
Dim mm As Int16
Dim dd As Int16
Dim DllVal As Integer
Dim Selected As Integer
Dim NodSel As System.Windows.Forms.TreeNode
Dim RegTop As Integer
Dim RegistryName As String
Declare Function RnRegistInit Lib "rnregist.dll" () As Integer
Declare Function RnRegistRead Lib "rnregist.dll" (ByVal top As Integer, ByVal filename As String) As Integer
Declare Function RnRegistFlush Lib "rnregist.dll" (ByVal top As Integer, ByVal filename As String) As Integer
Declare Function RnRegistNextDir Lib "rnregist.dll" (ByVal Hd As Integer, ByVal pre As Integer, ByVal dir As String) As Integer
Declare Function RnRegistFindDir Lib "rnregist.dll" (ByVal Hd As Integer, ByVal dir As String) As Integer
Declare Function RnRegistCifDir Lib "rnregist.dll" (ByVal Hd As Integer, ByVal dir As String) As Integer
Declare Function RnRegistNextPar Lib "rnregist.dll" (ByVal Hd As Integer, ByVal pre As Integer, ByVal dir As String) As Integer
Declare Function RnRegistFindPar Lib "rnregist.dll" (ByVal Hd As Integer, ByVal dir As String) As Integer
Declare Function RnRegistFindParDef Lib "rnregist.dll" (ByVal Hd As Integer, ByVal dir As String) As Integer
Declare Function RnRegistCifPar Lib "rnregist.dll" (ByVal Hd As Integer, ByVal dir As String) As Integer
Declare Function RnRegistNextVal Lib "rnregist.dll" (ByVal Hd As Integer, ByVal pre As Integer, ByVal dir As String) As Integer
Declare Function RnRegistCifParVal Lib "rnregist.dll" (ByVal Hd As Integer, ByVal dir As String, ByVal val As String) As Integer
Declare Function RnRegistCifParValSet Lib "rnregist.dll" (ByVal Hd As Integer, ByVal dir As String, ByVal val As String) As Integer
Declare Function RnRegistDrop Lib "rnregist.dll" (ByVal Hd As Integer)
Declare Function RnRegistName Lib "rnregist.dll" (ByVal Hd As Integer, ByVal name As String) As Integer
Declare Function RnRegistNameSet Lib "rnregist.dll" (ByVal Hd As Integer, ByVal name As String) As Integer
Declare Function RnRegistRef Lib "rnregist.dll" (ByVal Hd As Integer) As Integer
Declare Function RnRegistRefSet Lib "rnregist.dll" (ByVal Hd As Integer, ByVal ref As Integer) As Integer
Public Sub New()
InitializeComponent()
Selected = 0
End Sub
Private Sub Tree_build_node(ByVal head As Integer, ByVal TreeHdr As System.Windows.Forms.TreeNode)
Dim pdir As Integer
Dim ppar As Integer
Dim pval As Integer
Dim DirName As String
Dim ParName As String
Dim ValName As String
Dim NodSub As System.Windows.Forms.TreeNode
Dim NodVal As System.Windows.Forms.TreeNode
DirName = New String(" ", 64)
ParName = New String(" ", 64)
ValName = New String(" ", 64)
pdir = RnRegistNextDir(head, 0, DirName) ' get first param
While pdir <> 0 ' while params
NodSub = New System.Windows.Forms.TreeNode
NodSub.Text = DirName
NodSub.Tag = pdir
TreeHdr.Nodes.Add(NodSub) ' create treeview
Tree_build_node(pdir, NodSub)
pdir = RnRegistNextDir(head, pdir, DirName) ' get first param
End While
ppar = RnRegistNextPar(head, 0, ParName) ' get first param
While ppar <> 0 ' while params
NodSub = New System.Windows.Forms.TreeNode
NodSub.Text = ParName
NodSub.Tag = ppar
TreeHdr.Nodes.Add(NodSub) ' create treeview
pval = RnRegistNextVal(ppar, 0, ValName) ' get first value
While pval <> 0
NodVal = New System.Windows.Forms.TreeNode
NodVal.Text = ValName
NodVal.Tag = pval
NodSub.Nodes.Add(NodVal) ' create treeview
pval = RnRegistNextVal(ppar, pval, ValName) ' get first value
End While
ppar = RnRegistNextPar(head, ppar, ParName) ' next param
End While
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim DirName As String
Dim ValName As String
Dim phdr As Integer
Dim NodHdr As System.Windows.Forms.TreeNode
DirName = New String(" ", 64)
ValName = New String(" ", 64)
RegTop = RnRegistInit()
RegistryName = "t_vis_set.cfg"
DllVal = RnRegistRead(RegTop, RegistryName)
phdr = RnRegistNextDir(RegTop, 0, DirName)
While phdr <> 0
NodHdr = Me.TreeView1.Nodes.Add(DirName) 'Top Directory
NodHdr.Tag = phdr ' save position
Tree_build_node(phdr, NodHdr)
phdr = RnRegistNextDir(RegTop, phdr, DirName)
End While
End Sub
Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
Dim Seltext As String
Dim slen As Integer
NodSel = e.Node
Seltext = New String(" ", 64)
Selected = e.Node.Tag
slen = RnRegistName(Selected, Seltext)
TextBox1.Text = Seltext
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Dim slen As Integer
If Selected <> 0 Then
slen = RnRegistNameSet(Selected, TextBox1.Text)
NodSel.Text = TextBox1.Text
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim retval As Integer
' RegistryName = "something_different_or_the_same.CFG"
retval = RnRegistFlush(RegTop, RegistryName)
End Sub
End Class
Lesezeichen