Guidance
指路人
g.yi.org
software / RapidQ / RQ Doc / html / QREGISTRY.HTML

Register 
注册
Search 搜索
首页 
Home Home
Software
Upload

  
Appendix A: QREGISTRY
Rapid-Q Documentation by William Yu (c)1999 Appendix A: QREGISTRY


QREGISTRY Component

QRegistry encapsulates functions that operate on the Window's system registry.
(*)  Registry is composed of Keys and SubKeys. Each Key and SubKey 
(*)  can containone or more variables named Values. These Values 
(*)  have a ValueName and a ValueData.
(*)  Example :
(*)    Key HKEY_CLASSES_ROOT .Bas\Shell\Open\Command
(*)    contains a Default value who's ValueName is "" and whose
(*)    value is "C:\Rapidq\RapidQ.Exe %1"
(*)    ValueName maybe "AnyName". The default ValueName is ""
(*)  The Registry can be edited with Regedit.Exe or regedt32.Exe

QRegistry Properties
FieldTypeR/WDefault




CurrentKeyINTEGERR
CurrentPathSTRINGR
(*)GetDataSize(ValueName$)INTEGERR
(*)GetDataType(ValueName$)INTEGERR
HasSubKeysINTEGERR
KeyItemCountINTEGERR
ValueItemCountINTEGERR
RootKeyINTEGERRWHKEY_CURRENT_USER

QRegistry Methods
MethodTypeDescriptionParams




CloseKeySUBCloses opened key0
CreateKeyFUNCTION (Key$) AS INTEGERCreates a new key in CurrentPath.1
DeleteKeyFUNCTION (Key$) AS INTEGERDeletes key.1
DeleteValueFUNCTION (ValName$) AS INTEGERDeletes a value data.1
KeyExistsFUNCTION (Key$) AS INTEGERReturns 0 or 1 if key exists.1
KeyItemFUNCTION (Index%) AS STRINGRetrieve the names of the subkeys1
MoveKeyFUNCTION (OldKey$, NewKey$, Delete%)Moves existing key, subkeys, and data values.3
OpenKeyFUNCTION (Key$, CanCreate%)CanCreate specifies whether to create the specified key if it does not exist.2
(*)ReadBinary(*)FUNCTION (ValueName$, Index%) AS BYTEReturn binary value of specified key(Bug : Index must Start at -1)2
(*)ReadFloatFUNCTION (ValueName$) AS DOUBLEReturn double value of specified key1
(*)ReadIntegerFUNCTION (ValueName$) AS INTEGERReturn integer value of specified key1
(*)ReadStringFUNCTION (ValueName$) AS STRINGReturn string value of specified key1
RegistryConnectFUNCTION (CompName$) AS INTEGEREstablishes connection to another computer's registry.1
RenameValue(*)SUB (OldValueName$, NewValueName$)Renames existing data value.2
ValueExistsFUNCTION (ValueName$) AS INTEGERReturns 0 or 1 if data value Value$ exists.1
ValueItemFUNCTION (Index%) AS STRINGRetrieve the names of the data values1
WriteBinary(*)SUB (ValueName$, BYTE(), Size%)Write Array of BYTEs in the specified key3
WriteFloat(*)SUB (ValeName$, ValueData#)Write double value in the specified key2
WriteInteger(*)SUB (ValueName$, ValueData&)Write integer value in the specified key2
WriteString(*)SUB (ValueName$, ValueData$)Write string in the specified key2
(*) Notes :
(*)    - READ and WRITE requires the mother KEY to be OPENED first with OpenKey(Key)
(*)    - WRITE subs Create ValueName if it does not exist
(*)    - MOVEKEY sets undefined ValueDatas of String type to "", which can be a problem.
(*)      MOVEKEY with Delete% set to one is like renaming a key.

QRegistry Events
EventTypeOccurs when...Params






QRegistry Examples
'  Detect if your computer is connected to the internet

Const HKEY_LOCAL_MACHINE = &H80000002

DIM Registry AS QRegistry

Registry.RootKey = HKEY_LOCAL_MACHINE
Registry.OpenKey("System\CurrentControlSet\Services\RemoteAccess", 0)

'(index was 0 originally, but due to ReadBinary bug it must be -1)
IF Registry.ReadBinary("Remote Connection", -1) = 1 THEN
  ShowMessage("You're connected!")
ELSE
  ShowMessage("You're not connected!")
END IF
Registry.CloseKey '(*)
(*) Lines corrected in april 2004
Prev Component Contents Next Component
© Fri 2024-5-17  Guidance Laboratory Inc.
Email:webmaster1g.yi.org Hits:0 Last modified:2015-12-25 19:42:46