Ładny brzuch

Witam wszystkich!

Mam problem w zwiazku z rejestrem. Jakby mogl dodac wartosc binarna do rejestru?
Wiem, ze ZmienaTRegistry.WriteBinaryData... ale w skladni pogubilem sie. Czy ktos moglby mi wytlumaczyc?
Aha a moja wartosc, ktora chce wpisac to (wzialem 'Eksportuj' w edytorze rejestru):
"SuperNazwa"=hex:00,75,00,00,ff,ff,ff,00,ff,ff,ff,00,ff,ff,ff,00,ff,ff,ff,00,\  ff,ff,ff,00,ff,ff,ff,00,ff,ff,ff,00,ff,ff,ff,00,ff,ff,ff,00,ff,ff,ff,00,ff,\  ff,ff,00,ff,ff,ff,00,ff,ff,ff,00,ff,ff,ff,00,ff,ff,ff,00

pozdrawiam, DJ ProG



Aby zapisac warto binarn:

uses Registry; var  reg: TRegistry;  Value: Variant; //* begin  reg := TRegistry.Create;  Value := 'Alala ma kota'; //**  try    reg.RootKey := HKEY_LOCAL_MACHINE; //***    reg.OpenKey('sciezka_do_klucza', False); //****    reg.reg.WriteBinaryData('MyValue', Value, SizeOf(Value));  finally    reg.Free;  end; end;

* - jeli wiesz jakiego typu beda dane moesz dac cokolwiek - string, integer, char etc;
** - jesli w powyszym punkcie jest Variant to moesz tu zapisa co chcesz: cyfre, liczbe, znak, cokolwiek
*** - ta linijka jest zbdna jeli operujesz na HKEY_CURENT_USER
**** - daj True jesli wpisany klucz nie istnieje - wtedy zostanie utworzony
Uytkownik p1101 edytowa ten post 05 lipiec 2005, 16:16
ok ale jak mam dodac akurat ta wartosc co podalem wyzej? a moze powiesz jak moge zamienic binaria na ascii? plz odp!

tam masz podane wartoci w systemie HEXowym. tzreba to przeliczyc na liczby/znaki i tyle :)



ale jak mam to zrobic??? ja nie wiedziec!

recznie czy programowo? recznie to przez kalkulator :) a programowo zaraz napisze...

// Programowo:
daj na forme edita i buttona. Kliknij 2 razy na butona i wklej to:
var  s: string;  s2: string;  p: integer; begin s := ' 00,75,00,00,ff,ff,ff,00,ff,ff,ff,00,ff,ff,ff,00,ff,ff,ff,00,ff,ff,ff,00,ff,ff,ff,00,ff,ff,ff,00,ff,ff, ff,00,ff,ff,ff,00,ff,ff,ff,00,ff,ff,ff,00,ff,ff,ff,00,ff,ff,ff,00,ff,ff,ff,00,ff,ff,ff,00'; s2 := ''; repeat  p := pos(',', s);  if p > 0 then    begin    s2 := s2 + '#' + inttostr(strtoint('$'+copy(s, 1, p-1)));    delete(s, 1, p);    end  else    begin    s2 := s2 + '#' + inttostr(strtoint('$'+s));    s := '';    end;  until s = ''; edit1.Text := s2;

ech, dla czego ja daje gotowe rozwiazania?

a i teraz wystaczy zrobic tak jak p1101 proponowal...
Uytkownik Ali240 edytowa ten post 05 lipiec 2005, 17:47
programowo latwiej ;)

a jak bede mial mozliwosc to przetestuje. a mam pytanie:
jak wykesportowalem regeditem to binarne wartosci (jak sa za dlugie) oddzielona sa znakami '\'. Mam to ignorowac i zrobic z tego 1 linijke?
dobre rozumiem?

tak. zostawiasz w formie XX,XX,XX :)
A i edytuj posty :P

ok, ale lubie sobie ponabijac, bo poki co malo mam statsow...
dzieki i pozdro!
jak cos jeszcze odezwe sie wlasnie na TYM poscie

Narq

No tak.
Wszystko sie skompilowalo (chodzi o ten 'kalkulatorek' Adiego240) i dalo wynik:
#0#117#0#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0

Gdy dalem do zmiennej Value (variant) z kodu p1101 i skompilowalem, do jako wartosc binarna dostalem
00 01 00 00 00 00 00 00 9c 24 bd 00 00 00 00 00

A ja musze miec
00 75 00 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00

Czy jakos ktos pomoze mi to zrobic???

procedure TForm1.Button1Click(Sender: TObject); const dane:array[0..63]of byte = ($00,$75,$00,$00,$ff,$ff,$ff,$00,$ff,$ff,$ ff,$00,$ff,$ff,$ff,$00,$ff,$ff,$ff,$00,$ff,$ff, $ff,$00,$ff,$ff,$ff,$00,$ff,$ff,$ff,$00,$ff,$ ff,$ff,$00,$ff,$ff,$ff,$00,$ff,$ff,$ff,$00,$ff, $ff,$ff,$00,$ff,$ff,$ff,$00,$ff,$ff,$ff,$00,$ ff,$ff,$ff,$00,$ff,$ff,$ff,$00); var h:hkey; begin if RegOpenKeyEx(HKEY_LOCAL_MACHINE,'Software\Cyrkiel',0,KEY_ALL_ACCESS,h)<> 0 then if RegCreateKeyEx(HKEY_LOCAL_MACHINE,'Software\Cyrkiel',0,nil,0,KEY_ALL_ACCESS,nil,h,nil) =0 then RegSetValueEx(h,'dane',0,REG_BINARY,@dane,64); end;

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •