Avatar billede ukdtom Nybegynder
04. september 2001 - 15:49 Der er 12 kommentarer og
2 løsninger

Reg.SaveKey

Hi med jer.

Jeg har et problem med D5 og funktionen Reg.SaveKey.

Når jeg kører denne, fejler den, men når at generere en 0 bytes fil.

Er der nogle derude, som via dette forum kan vise en korrekt kode for dette ???

mvh

UKDTOM
Avatar billede dkn Nybegynder
04. september 2001 - 16:14 #1
Hej.
Se på det her, denne måde virker fint når jeg skal gemme noget:

Uses Registry;

R :=TRegistry.Create;
with R do  try
Begin
Rootkey:=HKEY_CURRENT_USER;
CreateKey(\'\\Software\\MySoftware\');
  OpenKey(\'\\Software\\MySoftware\', True);
R.WriteString(\'Edit1\',Edit1.Text);
R.CloseKey;
end;
  finally
R.Free;
  end;


Jeg ved ikke, det må næsten være et eller andet du har glemt?

Dennis
Avatar billede ukdtom Nybegynder
04. september 2001 - 22:22 #2
Du misforstår mig, eller også er jeg bare et fjols til at udtrykke mig :-)

Det jeg skal, er ikke at gemme noget i Registriet, men derimod at generere en HIVE-File på basis af en key i registriet, og gemme denne i fil-systemet.

Iflg. manuellen skulle dette kunne lade sig gøre med r.savekey, og dens tilsvarende padan skulle være r.restorekey.
Jeg arbejder på NT4 under NTFS, og filen har ingen extention, sååå  ?????


Anybody ????

mvh

UKDTOM
Avatar billede easysoft_studios Nybegynder
20. september 2001 - 18:35 #3
kikker lige på det...
Avatar billede easysoft_studios Nybegynder
20. september 2001 - 18:50 #4
så skulle den være der:


procedure TForm1.Button1Click(Sender: TObject);
var
  Reg: TRegistry;                      // Huske at tilføje Registry
begin                                  // til uses-clause
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_CLASSES_ROOT;
  Reg.SaveKey(\'\\*\', \'c:\\test.fil\');    //Tag nøglen i HKEY_CLASSES_ROOT\\*
  Reg.CloseKey;                        //og gemmer i c:\\test.fil
  Reg.Free;
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_LOCAL_MACHINE;  //Skifter til HKEY_LOCAL_MACHINE
  Reg.CreateKey(\'\\Test\');              //Opretter en passende nøgle
  Reg.LoadKey(\'\\Test\', \'c:\\test.fil\'); //Henter indholdet af filen c:\\test.fil
  Reg.Free;                            //ind i HKEY_LOCAL_MACHINE\\Test
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_LOCAL_MACHINE;
  Reg.DeleteKey(\'\\Test\');      //Sletter det hele igen...
  DeleteFile(\'c:\\test.fil\');    //...også filen
  Reg.Free;
end;
Avatar billede ukdtom Nybegynder
21. september 2001 - 09:41 #5
Jeg vender tilbage asap når jeg har prøvet det.

mvh

UKDTOM
Avatar billede easysoft_studios Nybegynder
22. september 2001 - 04:09 #6
okay...
Avatar billede ukdtom Nybegynder
26. september 2001 - 10:50 #7
Sorry, men jeg ender igen op med en 0 byte fil :-(

Som sagt kører jeg NT4 SP6A i en DK udgave, og logget ind som Administrator ??????

Nogen ide om hvad der så evt. kan være galt ????

Avatar billede easysoft_studios Nybegynder
26. september 2001 - 20:05 #8
når, så er det da der for!

Nu skal jeg ikke være bagklog, men så vidt jeg ved roder man ikke bare lige med NT\'s registreringsdatabase. Det er jo bl.a. derfor der er noget mere stabilt.

Har du prøvet om du i det hele taget har mulighed for at læse/skrive fra databasen?
Avatar billede ukdtom Nybegynder
26. september 2001 - 22:04 #9
No props med Write or Read at all :-)

Desuden er save-func. jo en read-only ting, plus det fact, at jeg har skrevet en func., som selv kan gøre det samme.

Det irreterende ved dette er dog, at der iflg manuellen findes et call som burde kunne benyttes (også på WinNT), som ikke fylder ret meget, istedet for min rutine :-(
Avatar billede easysoft_studios Nybegynder
26. september 2001 - 22:22 #10
sorry! ingen ideer herfra... :(
Avatar billede ukdtom Nybegynder
26. september 2001 - 22:35 #11
Nice Try though.....

Giv mig et svar igen, og jeg vil give dig 30 points for forsøget.

mvh

UKDTOM
Avatar billede stoney Nybegynder
27. september 2001 - 00:10 #12
Delphi\'s standard Tregistry/savekey gemmer det som en binær fil.

så du kan ikke umiddelbart lave en .reg fil

Her er en component der kan klare jobbet.

http://www.wilsonc.demon.co.uk/delphi.htm

Kig under low level utilities.

Stoney
Avatar billede easysoft_studios Nybegynder
27. september 2001 - 20:38 #13
takker :-)
Avatar billede ukdtom Nybegynder
28. september 2001 - 10:15 #14
Sorry, begge to.

I har brug for 15 points mere.

Evt et nyt svar til at rode bod på dette ????

mvh og mange tak fra

UKDTOM
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester