Weet iemand toevallig een registry editor component (met source) te vinden?
Tot nu toe heb ik niets kunnen vinden.
Printable View
Weet iemand toevallig een registry editor component (met source) te vinden?
Tot nu toe heb ik niets kunnen vinden.
JVCL heeft zoiets, in de demos is JVRegistryTreeView te vinden
https://sourceforge.net/projects/jvcl/files/
Bedankt! Ik zal het gaan bekijken.
Als je alleen een manier zoekt om je applicatie settings op te slaan in het register, dan kun je ook het JvAppRegistryStorage component gebruiken van de JVCL.
Er bestaat ook een class TResourceStream, is dat wat je zoekt ?
of deze
Een bekende Resource Editor van Colin Wilson
Ik zoek meer een visual component voor het aanmaken en wijzigen van registry keys.
Dan lijkt de eerdergenoemde JVRegistryTreeView een ideaal punt om mee te beginnen:
Attachment 7618
Ik vraag me wel een klein beetje af waarom je dit zou willen en niet gewoon RegEdit32 op zou starten.
Overigens heeft JVCL dus een compleet voorbeeld in de examples staan.
\jvcl\examples\JvRegistryTreeView\RegEditDemo.dpr
Attachment 7622
Maar het is inderdaad de vraag wat je er precies mee wilt doen.
Wil je zelf bepaalde keys aanpassen dan kun je natuurlijk volstaan met een simpele stringgrid waar je deze in zet.
@Goleztrol: het gaat om een editor voor een virtual registry.
Ik denk niet dat we je echt vooruit kunnen helpen met de informatie die je geeft. Wat wil je nou precies?
Wat versta jij onder "virtual registry" (waar je nu in één keer mee komt).
Instellingen opslaan van je programma?
Waar? In een database? In een ini bestand? In de Windows-registry?
Hulp kunnen we alleen geven als je een beetje uitleg geeft ;)
@rvk: het was meer een informatieve mededeling :D
Ik wil gewoon registry keys vanuit een eigen applicatie kunnen definiëren. Deze worden tijdens het starten van onze commerciele applicatie geladen.
De eerder gegeven informatie was dus voldoende.
Delphi Code:
Function RegRead(Const MyField: String): String; { ------------------------------------------------------------- Example: label1.Caption := RegRead('Path'); // Geeft waarde uit registerverwijzing. -------------------------------------------------------------- } Var Reg: TRegistry; Function Lees_Sleutelwaarde_uit_registry(MyField: String): String; Begin Result := ''; If Reg.OpenKeyReadOnly(DefaultRegistryKey + ApplicationTitel) Then //als de rootkeysleutel bestaat Begin If Reg.ValueExists(MyField) Then //Is de sleutel aanwezig ? Result := Reg.Readstring(MyField); //lees de sleutelwaarde End End; Begin Try Reg := TRegistry.Create; //Create the Object (HKEY_CURRENT_USER, KEY_ALL_ACCESS); Result := Lees_Sleutelwaarde_uit_registry(MyField); If Result = '' Then Begin //deze verwijzing heeft geen voorkeur, omdat je met schrijfrechten zit. Reg.RootKey := HKEY_LOCAL_MACHINE; //kijk in HKEY_LOCAL_MACHINE Result := Lees_Sleutelwaarde_uit_registry(MyField); ; //Read the value from the field End; Finally Reg.CloseKey; Reg.Free; End; End; Procedure RegWrite(Const MyField, MyValue: String); { ------------------------------------------------------------- Example: RegWrite('waarde', 'blablabla'); --------------------------------------------------------------- } Var Reg: TRegistry; Begin Reg := TRegistry.Create; //Create the Object Try If Reg.OpenKey(DefaultRegistryKey + ApplicationTitel, True) Then //als de key bestaat dan maken Reg.WriteString(MyField, MyValue) //We don't need to check if the field is available because the field is created by writing the value Else ShowFout; Finally Reg.CloseKey; Reg.Free; End; End;
Daar heb je toch geen component voor nodig, twee routine's in een aparte unit is voldoende.