Ĺ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
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