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

Kako citati podatke iz Registry baze (ne pomocu Registry unit-a) ?

[es] :: Pascal / Delphi / Kylix :: Kako citati podatke iz Registry baze (ne pomocu Registry unit-a) ?

[ Pregleda: 3040 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Kako citati podatke iz Registry baze (ne pomocu Registry unit-a) ?30.08.2004. u 13:08 - pre 239 meseci
Poludecu, ne znam zasto mi sledeci kod ne radi :

Code:

var
  hndKey : HKEY;
  mPath  : String;
  mSize  : DWORD;
begin
  If RegOpenKeyEx(HKEY_LOCAL_MACHINE,
                  'SOFTWARE\Microsoft\Windows\CurrentVersion'),
                  0,
                  KEY_QUERY_VALUE,
                  hndKey) = ERROR_SUCCESS Then
    Try
      mSize := SizeOf(mPath);
      RegQueryValueEx(hndKey, 'MediaPath', nil, nil, PByte(mPath), @mSize);
    Finally
      RegCloseKey(hndKey);
    End;


I kad na kraju udarim ShowMessage(mPath), vidim da je mPath prazan...
 
Odgovor na temu

bondja

Član broj: 10286
Poruke: 167
*.bisinter.net



+3 Profil

icon Re: Kako citati podatke iz Registry baze (ne pomocu Registry unit-a) ?31.08.2004. u 12:39 - pre 239 meseci
"RegQueryValueEx(hndKey, 'MediaPath', nil, nil, PByte(mPath), @mSize);"
Zameniti gore navadenu liniju koda sa:

RegQueryValueEx(hndKey, 'MediaPath', nil, @TipPodatka, PByte(mPath), @mSize);
gde je
var
TipPodatka: integer;
begin
...
TipPodatka := reg_sz;

Samo nagadjam, nemam ovde mogucnost da proverim ovo....

 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: Kako citati podatke iz Registry baze (ne pomocu Registry unit-a) ?31.08.2004. u 15:28 - pre 239 meseci
Probao sam i to, i stavljao sam umesto REG_SZ REG_NONE itd... (mada je ipak tip podataka koji zelim da iscitam REG_SZ) i opet nece...
 
Odgovor na temu

neor
Nenad Orlovic

Član broj: 26828
Poruke: 74
*.metrohive.net



Profil

icon Re: Kako citati podatke iz Registry baze (ne pomocu Registry unit-a) ?01.09.2004. u 11:15 - pre 239 meseci
Pogresio si u mSize := SizeOf(mPath);
U tom trenutku tu nemas dobre podatke. Pogledaj ispravljenu verziju.
Code:

var
  hndKey : HKEY;
  mPath  : string;
  mSize  : DWORD;
begin
  if RegOpenKeyEx(HKEY_LOCAL_MACHINE,
                  'SOFTWARE\Microsoft\Windows\CurrentVersion',
                  0,
                  KEY_QUERY_VALUE,
                  hndKey) = ERROR_SUCCESS then
  try
    mSize := 0;
    if RegQueryValueEx(hndKey, 'MediaPath', nil, nil, nil, @mSize) = ERROR_SUCCESS then begin
      mPath := StringOfChar(' ',mSize);
      RegQueryValueEx(hndKey, 'MediaPath', nil, nil, PByte(mPath), @mSize);
    end;;
  finally
    RegCloseKey(hndKey);
  end;
end;
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: Kako citati podatke iz Registry baze (ne pomocu Registry unit-a) ?01.09.2004. u 15:26 - pre 239 meseci
I to sam probao, da pre citanja iscitam duzinu zapisanog string-a, opet nece (ali duzinu iscita pravilno, recimo ako je string dugacak 20 karaktera, mSize dobije vrednost 20)...
Kad postavim breakpoint-e na kod, vidim da se sve naredbe izvrse, ali ipak na kraju vraca prazan string..
 
Odgovor na temu

neor
Nenad Orlovic

Član broj: 26828
Poruke: 74
*.metrohive.net



Profil

icon Re: Kako citati podatke iz Registry baze (ne pomocu Registry unit-a) ?01.09.2004. u 15:33 - pre 239 meseci
Jesi li siguran da si probao? Obrati paznju na red
mPath := StringOfChar(' ',mSize);
Izmedju navodnika postoji jedno prazno mesto.

Ovaj kod kod mene vraca dobar string.
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: Kako citati podatke iz Registry baze (ne pomocu Registry unit-a) ?01.09.2004. u 16:53 - pre 239 meseci
Ipak radi !
Hvala
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Kako citati podatke iz Registry baze (ne pomocu Registry unit-a) ?

[ Pregleda: 3040 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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