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

subkeys korjena Registrija i subfolderi

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

[ Pregleda: 1317 | Odgovora: 15 ]

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

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?
20.12.2004. u 18:12 

bancika
Branislav Stojkovic
Nis, New York

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

ICQ: 84215453
Sajt: www.storm-software.co.yu/..


Profil

icon Re: subkeys korjena Registrija i subfolderi20.12.2004. u 19:37
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
20.12.2004. u 19:37 

reiser
Vranje

Član broj: 7895
Poruke: 1892
*.neobee.net.



Profil

icon Re: subkeys korjena Registrija i subfolderi20.12.2004. u 19:38
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;
20.12.2004. u 19:38 

bancika
Branislav Stojkovic
Nis, New York

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

ICQ: 84215453
Sajt: www.storm-software.co.yu/..


Profil

icon Re: subkeys korjena Registrija i subfolderi20.12.2004. u 19:41
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
20.12.2004. u 19:41 

reiser
Vranje

Član broj: 7895
Poruke: 1892
*.neobee.net.



Profil

icon Re: subkeys korjena Registrija i subfolderi20.12.2004. u 19:45
Heh ;)
20.12.2004. u 19:45 

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
Thnx, this was usefull
22.12.2004. u 12:45 

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
Još pitanja o registriju.
Ako znam ime vrijednosti (value name), kako znati kojeg je tipa (value type) njena vrijednost (value data)??
29.12.2004. u 18:42 

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
Kako dobiti DataValue iz registrija ako je taj Value REG_DWORD tipa?
Nešto sam pokušavao sa RegEnumValue ali ne ide.
02.01.2005. u 14:46 

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1402
82.208.201.*

ICQ: 246436949


Profil

icon Re: subkeys korjena Registrija i subfolderi03.01.2005. u 00:24
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
DirectX na srpskom | GLScene na srpskom

There are only 10 types of people in this world; those who understand binary and those who don't.
03.01.2005. u 00:24 

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
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;
03.01.2005. u 11:45 

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1402
195.252.80.*

ICQ: 246436949


Profil

icon Re: subkeys korjena Registrija i subfolderi03.01.2005. u 12:22
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;

DirectX na srpskom | GLScene na srpskom

There are only 10 types of people in this world; those who understand binary and those who don't.
03.01.2005. u 12:22 

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1402
82.208.201.*

ICQ: 246436949


Profil

icon Re: subkeys korjena Registrija i subfolderi03.01.2005. u 16:06
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 ;)
DirectX na srpskom | GLScene na srpskom

There are only 10 types of people in this world; those who understand binary and those who don't.
03.01.2005. u 16:06 

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
To sam pokušao, ali nema Registry.ReadDWord
Da li da ga čitam kao float ili integer???
03.01.2005. u 19:30 

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1402
82.208.201.*

ICQ: 246436949


Profil

icon Re: subkeys korjena Registrija i subfolderi03.01.2005. u 20:22
Kao integer pa ga cast-uj u DWORD
DirectX na srpskom | GLScene na srpskom

There are only 10 types of people in this world; those who understand binary and those who don't.
03.01.2005. u 20:22 

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
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??
04.01.2005. u 18:53 

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1402
82.208.201.*

ICQ: 246436949


Profil

icon Re: subkeys korjena Registrija i subfolderi04.01.2005. u 19:43
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.
DirectX na srpskom | GLScene na srpskom

There are only 10 types of people in this world; those who understand binary and those who don't.
04.01.2005. u 19:43 

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

[ Pregleda: 1317 | Odgovora: 15 ]

Postavi temu Odgovori

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