Mam poważny problem z rejestrem.
Mianowicie jakoś nie idzie mi urzywanie funkcji odpowiedzalnej za oczytywanie wartości z rejestru (RegQueryValueEx)
Może ktoś ma jakiś przykład czy co.
Czekam na (Pilną) pomoc. [???] --I LOVE PrOgRaMz
Mam poważny problem z rejestrem.
Mianowicie jakoś nie idzie mi urzywanie funkcji odpowiedzalnej za oczytywanie wartości z rejestru (RegQueryValueEx)
Może ktoś ma jakiś przykład czy co.
Czekam na (Pilną) pomoc. [???] --I LOVE PrOgRaMz
sorry ejzeli nie na temat ;p
nie wiem co to te exvalueex czy jakos tak:
nie lepiej zrobic to za pomaca readstring itp.?????
uses registry,sysutils;
var
r : tregistry;
begin
r := tregistry.create;
r.rootkey = belelelwsds;
r.openkey(jfejfosjfes,false);
r.readstring(chyba to ten tego ta procedura :PPP );
r.free;
end.
jak źle to sorry :)
[cisza]
lolek
Dzięki za odzew ale.... No właśnie...
Tu chodzi o API
Jak dodam do usesów Registry i SysUtils to do exeka dodam ok 200kB :| zbędnego kodu. Chodzi mi o to jak użyć funkcji RegQuetyValueEx. Wprawdzie w Helpie jest opis ale i tak nie działa. --I LOVE PrOgRaMz
Tu masz przykładową procedurkę:
procedure TForm1.Button1Click(Sender: TObject);
var bufor:array[0..100] of Char;
klucz:HKEY;
rozmiar:DWORD;
begin
rozmiar := SizeOf(bufor);
RegOpenKeyEx(HKEY_CLASSES_ROOT, '.exe', 0, KEY_ALL_ACCESS, klucz);
RegQueryValueEx(klucz, '', NIL, NIL, @bufor, @rozmiar);
RegCloseKey(klucz);
Button1.Caption := bufor;
end;
Pisząc ten bardzo mały fragment kodu przekonałem się, jak bardzo "głupie" jest Delphi w porównaniu do C++Buildera. Po drodze wyskakiwało mi tyle żenujących błędów, że aż mi się śmiać chciało. Szczególnie chodzi o przymus ręcznego rzutowania praktycznie tych samych typów danych. Ach... szkoda gadać.
--
"Imagination is more important than knowledge." - A. Einstein
Tu masz przykładową procedurkę:
procedure TForm1.Button1Click(Sender: TObject);
var bufor:array[0..100] of Char;
klucz:HKEY;
rozmiar:DWORD;
begin
rozmiar := SizeOf(bufor);
RegOpenKeyEx(HKEY_CLASSES_ROOT, '.exe', 0, KEY_ALL_ACCESS, klucz);
RegQueryValueEx(klucz, '', NIL, NIL, @bufor, @rozmiar);
RegCloseKey(klucz);
Button1.Caption := bufor;
end;Pisząc ten bardzo mały fragment kodu przekonałem się, jak bardzo "głupie" jest Delphi w porównaniu do C++Buildera. Po drodze wyskakiwało mi tyle żenujących błędów, że aż mi się śmiać chciało. Szczególnie chodzi o przymus ręcznego rzutowania praktycznie tych samych typów danych. Ach... szkoda gadać.
Jak to się mówi: Pascal jeste jęzkiem "silnie typowanym" :) To czasem przeszkadza, ale umożliwia też unikanie wielu błędów.
A tak przy okazji, to gdzie tutaj miałeś problemy z typami?
--
Jest jeszcze jeden błąd ... :)
Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.
Jak to się mówi: Pascal jeste jęzkiem "silnie typowanym" :) To czasem przeszkadza, ale umożliwia też unikanie wielu błędów.
A tak przy okazji, to gdzie tutaj miałeś problemy z typami?
bufor:array[0..100] of Char; był wcześniej stringiem i coś się kompilator burzył. A tak w ogóle to fajnie, że pytasz: powiedz mi, czym się różni BYTE od CHAR, bo Delphi widzi różnicę. W C++ jeśli dobrze pamiętam, to jest tak: #define BYTE char, a we wspaniałym Assemblerze to są w ogóle 3 typy zmiennych (całkowitych): byte, word, dword i nie ma żadnych problemów [cygaro]
--
"Imagination is more important than knowledge." - A. Einstein
bufor:array[0..100] of Char; był wcześniej stringiem i coś się kompilator burzył.
Nie dziwię się. Znaki w stringu zaczynają się od 1 i nie ma końca ciągu w przypadku #0.
A tak w ogóle to fajnie, że pytasz: powiedz mi, czym się różni BYTE od CHAR, bo Delphi widzi różnicę.
Delphi rozróżnia liczby od znaków. Dlatego Byte Char i Word WideChar (znak w kodzie Unicode). Choć w tym względzie, to wolę podejście C++ (mniej pseudo konwersji). Natomiast mam pewność, że mi zasygnalizuje, kiedy przez przypadek podstawię znak pod liczbę.
a we wspaniałym Assemblerze to są w ogóle 3 typy zmiennych (całkowitych): byte, word, dword i nie ma żadnych problemów
ASM Rulez :)
Zbyt mało typów (a raczej możliwości definowania własnych) to raczej nie dobrze.
Gdybym uważał, że Delphi czy C++ są takie idealne to bym nie pisał postu na temat idealnego języka.
--
Jest jeszcze jeden błąd ... :)
Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.