ďťż

Ładny brzuch

Witam!!!
Moze ktos sobie pomyslec ze to o co spytam jest proste. Otoz ja tego nie potrafie a jest mi to bardzo potrzebne. Jakie po kliknieciu w button dodac zdarzenie aby komputer wybieral jedna z kilku mozliwosci (losowa) i ja wykonywal. I gdy ja wybierze aby dziala sie reakcja...mam nadzieje ze nie pytam o zbyt wiele ;(
Użytkownik krystian_rad edytował ten post 11 czerwiec 2005, 22:34



Witam!!!
Moze ktos sobie pomyslec ze to o co spytam jest proste. Otoz ja tego nie potrafie a jest mi to bardzo potrzebne. Jakie po kliknieciu w button dodac zdarzenie aby komputer wybieral jedna z kilku mozliwosci (losowa) i ja wykonywal. I gdy ja wybierze aby dziala sie reakcja...mam nadzieje ze nie pytam o zbyt wiele ;(

Wlasnie nie wiem co dalej. Mam juz zmienne i nie wiem co zrobic aby mi losowalo jedna z nich po kliknieciu w button :(
//edit
mam taki kod
procedure TForm1.Button1Click(Sender: TObject); var a : string; begin a := label1.caption; a := 'tekst'; label1.caption:=a; end;
Pop pierwsze bedzie ich wiecej i chce aby program losowal a po drugie jak zrobic aby po wylosowabniu zmiennej A program dodawal jakas wartosc np. do memo1?
Użytkownik krystian_rad edytował ten post 12 czerwiec 2005, 10:01
Nie znam się na delphi, ale losowanie jest pewnie jakoś przez
randomize;
random(...);
a potem akcje wybierasz przez case, albo if.



A moze bedzie prosciej....
Jak przerobic ten kod aby losowal:
if  ...(wylosowalo zmienna "a")...  then memo1.lines.add:='100' else showmessage('Błąd');
Z gory dzieks :)

chyba sie troszke pogubilem co w zasadzie chcesz zrobic.
zrob to tak:
var r:integer; begin r:=random(10); case r of 0:begin showmessage('akcja podejmowana jesli wylosowano 0'); end; 1:begin showmessage('akcja podejmowana jesli wylosowano 1'); end; end;
to oczywiscie tylko przyklad :]

Mam teraz taki kod:
procedure TForm1.Button1Click(Sender: TObject); var a,b,r : integer; begin r:=random(10); case r of a:begin showmessage('akcja podejmowana jesli wylosowano a'); end; b: begin showmessage('akcja podejmowana jesli wylosowano b'); end; a := label1.caption; a := 'tekst'; label1.caption:=a; b := label1.caption; b := 'tekst 2'; label1.caption:=b; end;
Podczas kompilacji wyskakuj mi komunikat na linijke:
a:begin showmessage('akcja podejmowana jesli wylosowano a'); end;
komunikat:

[Error] Unit1.pas(36): Constant expression expected
Nie wiem co mam dalej zrobic :(
Użytkownik krystian_rad edytował ten post 12 czerwiec 2005, 10:29

Nie wiem co mam dalej zrobic :(

Dobra ostatnie pytanie....
Co nalezy zobic gdy wyskakuje komunikat ?

[Error] Unit1.pas(38): Duplicate case label
W kodzie:
procedure TForm1.Button1Click(Sender: TObject); var a,b :integer; r : integer; begin r:=random(10); case r of 0: begin Memo1.text:='tekst'; end; 1: begin Memo1.text:='tekst2'; end; 0:=label1.caption; 0:='tekst'; label1.caption:=0; 1:=label1.caption; 1:='tekst 2'; label1.caption:=1; end;


~~

OK, uz sobie poradzilem. Wielkie dzieki :)

Korzystajac z okazji zeby nie zakladac nowego tematu. Czy potrafi ktos zrobic tak aby w tej linijce:
0: begin Memo1.text:='tekst'; end; Miescily sie 2 polecenia. Gdy kiedys wpisywalem AND to wyskakiwal blad ze to nie jest boolean


(...)

Dziala....dzieki wielkie:)

Jeszcze skróć :Pcase random(10) of

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