Rejestr [???]

0

Mam duzy problem dotyczący rejestru mianowicie :d :
Mam zdeklarowaną zmienną globalną typu boolean (a)

po kliknięciu buttona robi sie takie coś:

Reg:=TRegistry.Create;
Reg.OpenKey('Software\Program',true);
Reg.WriteBool('Jezyk',true);
a:=true;
if a=true then
Button1.Caption:='Coś tam';

w create formy sie to odczytuje i przycisk ma nazwe 'Coś tam';

Problem pojawia się tu po kliknięciu drugiego buttona. Jest w nim tak:

Reg:=TRegistry.Create;
Reg.DeleteKey('Software\Program');
a:=false;

Pierwotnie button1 ma nazwe 'Byle Co' kiedy klikam na pierwszy button nazwa ta zmienia się na 'Coś tam' i tak zostaje aż do kliknięcia drugiego buttona tylko ja chciałbym zeby nazwa Caption zmieniała się od razu a nie po restarcie programu. Myślę że wszystko jest zrozumiałe [stuk]

Z góry Wielkie DZIĘKI za pomoc !!!!

Szymek
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 2 lata
0

Jaki sens ma to:

a:=true;
if a=true then Button1.Caption:='Coś tam';

Przypisujesz do zmiennej a wartosc true a nastepnei sprawdzasz czy ta zmienna ma tą wartość.

Pamietaj o zawalnianiu pamięci obiektów metodą Free.

ikari
  • Rejestracja:prawie 22 lata
  • Ostatnio:prawie 2 lata
  • Postów:381
0

To:

if a=true then
Button1.Caption:='Coś tam';

daj do osobnej, trzeciej procedury.
i zaraz po wywołaniu

Kopiuj
  A := true;

dasz odwolanie do tej trzeciej, np

Kopiuj
  A := true;
  ZmienCaption;

tak samo w procedurze Button2Click dasz

Kopiuj
  A := false;
  ZmienCaption;

I tak jak mówił (?) Szymek - jeżeli dajesz Reg.Create to na koniec daj koniecznie Rejestr.Free! O Reg.CloseKey tez nie zapominaj :)


(po 20 latach wpiszę tu coś mądrzejszego, myślałem)
CK
  • Rejestracja:ponad 21 lat
  • Ostatnio:prawie 2 lata
  • Postów:2692
0

czy w tym kodzie nie powinna się czasem pojawić deklaracja HKEY_ROOT_KEY????

ikari
  • Rejestracja:prawie 22 lata
  • Ostatnio:prawie 2 lata
  • Postów:381
0

czy w tym kodzie nie powinna się czasem pojawić deklaracja HKEY_ROOT_KEY????

Może, ale nie musi. Poza tym chodziło Ci raczej o Registry.Rootkey, które domyślnie jest ustawione na HKEY_CURRENT_USER, więc dopóki operujemy na tym właśnie kluczu - nie musimy ustawiać wartości.


(po 20 latach wpiszę tu coś mądrzejszego, myślałem)
SN
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 16 lat
  • Postów:109
0

Musisz jeszcze raz odczytac wartosc z rejestru, lub po prostu przez kod zmienic captiona(button1.Caption := 'Caption buttona';)

Ty to masz glupi problem...

Please, no more stupid questions...
(Nie bierz tego tak do siebie)

Snowak [cygaro]

Ostatnio zmodyfikowany: miliardy lat temu przez starożytnyh majów


pozdrawiam
Snowak

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.