Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

subkeys korjena Registrija i subfolderi

[es] :: Pascal / Delphi / Kylix :: subkeys korjena Registrija i subfolderi

[ Pregleda: 4385 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

borovac
127.0.0.1

Član broj: 29278
Poruke: 220
*.as54.ze.bih.net.ba.



Profil

icon subkeys korjena Registrija i subfolderi20.12.2004. u 18:12 - pre 234 meseci
1. Znam kako dobiti sve subkey-eve nekog ključa, ali kako dobiti subkey-eve korjena npr. HKEY_CURRENT_USER?
2. Kako dobiti sve subfoldere nekog foldera?
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
*.vdial.verat.net.

Sajt: www.diy-fever.com


+1 Profil

icon Re: subkeys korjena Registrija i subfolderi20.12.2004. u 19:37 - pre 234 meseci
1) ubaci promenljivu Reg: TRegistry i otkucaj u telu neke procedure Reg i tacku, onda pogledaj koje sve metode imas i signuran sam da postoji neka intuitivnog imena koja radi bas to

2)
Code:

procedure ScanFolder(Folder: string);
var
  FindResult: integer;
  SearchRec : TSearchRec;
begin
  FindResult := FindFirst('c:\', faDirectory, SearchRec);
  while FindResult = 0 do
  begin
      Memo1.Lines.Add(SearchRec.Name);
      //tu ubaci rekurzivni poziv tipa ScanFolder('c:\' + SearchRec.Name) 
      FindResult := FindNext(SearchRec);
    end;
  end;
  FindClose(SearchRec);
end


ako hoces mozes da napravis rekurzivno da se poziva za svaki folder pa da onda dobijes full scan foldera

[Ovu poruku je menjao bancika dana 20.12.2004. u 20:39 GMT+1]
Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: subkeys korjena Registrija i subfolderi20.12.2004. u 19:38 - pre 234 meseci
1.
Code:

procedure EnumerateRegKeys(const HK : HKEY);
var
  countSubKeys : Cardinal;
  C1           : Integer;
  keyName      : Array[0..MAX_PATH] of Char;
  keyLength    : Cardinal;
begin
  RegQueryInfoKey(HK, nil, nil, nil, @countSubKeys, nil, nil, nil, nil, nil, nil, nil);
  For C1 := 0 to countSubKeys - 1 Do
  Begin
    keyLength := MAX_PATH;
    RegEnumKeyEx(HK, C1, keyName, keyLength, nil, nil, nil, nil);
    ListBox1.Items.Add(keyName);
  End;
end;


2.
Code:

procedure EnumerateSubFolders(path : String; const attrib : Integer);
var
  SRec : TSearchRec;
begin
  If path[Length(path)] <> '\' Then
    path := path + '\';

  If FindFirst(Path + '*.*', faDirectory + attrib, SRec) = 0 Then
    repeat
      If (SRec.Name <> '.') and
         (SRec.Name <> '..') and
         (SRec.Attr and faDirectory <> 0) Then
        ListBox1.Items.Add(SRec.Name);
    until FindNext(SRec) <> 0;

  FindClose(SRec);
end;
 
Odgovor na temu

bancika
Branislav Stojkovic

Član broj: 24844
Poruke: 631
*.vdial.verat.net.

Sajt: www.diy-fever.com


+1 Profil

icon Re: subkeys korjena Registrija i subfolderi20.12.2004. u 19:41 - pre 234 meseci
gle, u isto vreme :)

za ovo
Code:

If path[Length(path)] <> '\' Then
    path := path + '\';

imas elegantnije resenje
Code:

Path := IncludeTrailingBackslash(Path)

Ride the rainbow, crack the sky

DIY gitare, pojacala i efekti www.diy-fever.com
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: subkeys korjena Registrija i subfolderi20.12.2004. u 19:45 - pre 234 meseci
Heh ;)
 
Odgovor na temu

borovac
127.0.0.1

Član broj: 29278
Poruke: 220
*.as54.ze.bih.net.ba.



Profil

icon Re: subkeys korjena Registrija i subfolderi22.12.2004. u 12:45 - pre 234 meseci
Thnx, this was usefull
 
Odgovor na temu

borovac
127.0.0.1

Član broj: 29278
Poruke: 220
*.as54ze.bih.net.ba.



Profil

icon Re: subkeys korjena Registrija i subfolderi29.12.2004. u 18:42 - pre 234 meseci
Još pitanja o registriju.
Ako znam ime vrijednosti (value name), kako znati kojeg je tipa (value type) njena vrijednost (value data)??
 
Odgovor na temu

borovac
127.0.0.1

Član broj: 29278
Poruke: 220
*.as54.ze.bih.net.ba.



Profil

icon Re: subkeys korjena Registrija i subfolderi02.01.2005. u 14:46 - pre 234 meseci
Kako dobiti DataValue iz registrija ako je taj Value REG_DWORD tipa?
Nešto sam pokušavao sa RegEnumValue ali ne ide.
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: subkeys korjena Registrija i subfolderi03.01.2005. u 00:24 - pre 234 meseci
Ovako... ne mozes direktno procitati value data i value type ako znas value name. Treba da koristis funkciju RegEnumValue, ali joj kazes redni broj vrednosti koju zelis i ona ti vrati value name, data i type. Ne mogu sad da ti pisem kod... mora nekad i da se spava. Ako ne nadjes resenje napisacu ti ga za koji dan kad budem bio slobodan.

Pogledaj ovde: http://msdn.microsoft.com/libr.../sysinfo/base/regenumvalue.asp
 
Odgovor na temu

borovac
127.0.0.1

Član broj: 29278
Poruke: 220
*.as54.ze.bih.net.ba.



Profil

icon Re: subkeys korjena Registrija i subfolderi03.01.2005. u 11:45 - pre 234 meseci
Nije to problem. Problem je kako dobiti value data ako joj je tip REG_DWORD.
Ovako se dobije vrijednost stringa.
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
Registry:TRegistry;
hk:hkey;
i:integer;
ValueList:TStrings;
d:Array[0..MAX_PATH] of Char;
valueName:Array[0..MAX_PATH] of Char;
valueLength,aa:cardinal;
begin
Registry:=TRegistry.Create(KEY_ALL_ACCESS);
ValueList:=TStringList.Create;
Registry.RootKey:=HKEY_CURRENT_USER;
Registry.OpenKey('Control Panel\Desktop',false);
registry.GetValueNames(ValueList);
hk:=Registry.CurrentKey;
aa:=255;
for i:=1 to ValueList.Count do if ValueList.Strings[i-1]='DragWidth' then
  begin
    RegEnumValue(hk,i-1,valueName,valueLength,nil,nil,@d,@aa);
    ShowMessage(d);
  end;
registry.CloseKey;
end;
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
195.252.80.*

ICQ: 246436949


+10 Profil

icon Re: subkeys korjena Registrija i subfolderi03.01.2005. u 12:22 - pre 234 meseci
Probaj nesto ovako:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
Registry:TRegistry;
hk:hkey;
i:integer;
ValueList:TStrings;
d:Array[0..MAX_PATH] of Char;
valueName:Array[0..MAX_PATH] of Char;
valueLength,aa:cardinal;
Data:DWORD;
begin
Registry:=TRegistry.Create(KEY_ALL_ACCESS);
ValueList:=TStringList.Create;
Registry.RootKey:=HKEY_CURRENT_USER;
Registry.OpenKey('Control Panel\Desktop',false);
registry.GetValueNames(ValueList);
hk:=Registry.CurrentKey;
aa:=255;
for i:=1 to ValueList.Count do if ValueList.Strings[i-1]='NekoDWORDPolje' then
  begin
    RegEnumValue(hk,i-1,valueName,valueLength,nil,nil,@d,@aa);
    Move(d, Data, SizeOf(Data));
    Application.MessageBox(PChar(IntToStr(Data)),'DWORD Value');
  end;
registry.CloseKey;
end;

 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: subkeys korjena Registrija i subfolderi03.01.2005. u 16:06 - pre 234 meseci
Ustvari... posto koristis TRegistry onda ti ni ne treba RegEnumValue, zar ne :)
Koristi TRegistry.ReadInteger, ReadString, ReadDateTime... ne treba da se patis kad se Borladn patio umesto tebe ;)
 
Odgovor na temu

borovac
127.0.0.1

Član broj: 29278
Poruke: 220
*.as54.ze.bih.net.ba.



Profil

icon Re: subkeys korjena Registrija i subfolderi03.01.2005. u 19:30 - pre 234 meseci
To sam pokušao, ali nema Registry.ReadDWord
Da li da ga čitam kao float ili integer???
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: subkeys korjena Registrija i subfolderi03.01.2005. u 20:22 - pre 234 meseci
Kao integer pa ga cast-uj u DWORD
 
Odgovor na temu

borovac
127.0.0.1

Član broj: 29278
Poruke: 220
*.as54.ze.bih.net.ba.



Profil

icon Re: subkeys korjena Registrija i subfolderi04.01.2005. u 18:53 - pre 234 meseci
Sada definitivno:
Bool pišem koristeći Registry.WriteBool, u registriju je tipa DWord
Integer pišem koristeći Registry.WriteInteger, u registriju je tipa DWord
Float pišem koristeći Registry.WriteFloat, u registriju je tipa Binary
Šta se još u tipu Binary krije osim Float broja??
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: subkeys korjena Registrija i subfolderi04.01.2005. u 19:43 - pre 234 meseci
Ovako... WriteInteger upisuje DWORD sto je ok. WriteBool upisuje vrednost 1 ili 0 kao DWORD, a ne kao Boolean pa se zbog toga u RegEdit vidi kao da je vrednost tima DWORD, ali kada svojim programom upisujes i citas vrednost onda dajes Bool i funkcija ti vraca Bool. Float tip ne postoji u reg. i zato jednostavno Delphi zapisuje sta se nalazi na memoriskoj lokaciji gde je tvoj float i to mora da upise kao binary. Kao binary mozes da upises bilo sta... samo vodi racuna da to sto upisujes ne bude preterano veliko (zadrzi se na maximum nekoliko desetina bajtova). Ako treba da zapises nesto vece snimi to u neki svoj cfg ili ini fajl.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: subkeys korjena Registrija i subfolderi

[ Pregleda: 4385 | Odgovora: 15 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.