Key press

Key press

offline
  • Pridružio: 10 Jun 2006
  • Poruke: 3

Cao svima!
Jer zna neko da mi kaze sta ovom kodu fali? kako da ga ispravim:


procedure TfrmMain.FormKeyPress(Sender: TObject; var Key: Char); begin   key(#37):=XVing.left+1; end;

pise: [Error] uMain.pas(90): E2066 Missing operator or semicolon



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Kod koji si napisao nije dobar... zbog... hmmm:

1. Ne postoji funkcija ili procedura Key (pretpostavljam)
2. Cak i da postoji funkcija, procedura ili tip Key, nemoguce je dodeliti neku vrednost key(#37) jer to nije promenljiva.

E, sad... kad bi rekao sta zelis... Smile



offline
  • Đuro Glumac
  • dipl. ing. informatike
  • Pridružio: 08 Feb 2004
  • Poruke: 3640
  • Gde živiš: ApAtIn

u Pascalu ima funkcija keypressed. Ovo key nisam video.

offline
  • Pridružio: 10 Jun 2006
  • Poruke: 3

Ovim sam hteo da nateram jedan objekat da se pomera, pritiskom na strelicu na levo. Samo, kao sto vidis, imam malo problema sa tim Smile
Kako bi mogao to da izvedem?

offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Strelica levo bas i ne moze da se uhvati sa KeyPressed jer taj event vraca char tip, a strelica je extended key tako da ne moze da stane u u jedan bajt.

Koristi OnKeyDown event:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;   Shift: TShiftState); begin   case Key of     VK_UP: XWing.Top := XWing.Top - 1;     VK_DOWN: XWing.Top := XWing.Top + 1;     VK_LEFT: XWing.Top := XWing.Left - 1;     VK_RIGHT: XWing.Top := XWing.Left + 1;   end; end;

Ovo ce da radi, ali za jedan pritisak na strlicu ce se objekat pomeriti za jedan pixel i onda ces morati da pritisnes ponovo da be se pomerio opet. Bolje resenje ti je da postavis flagove za kretanje (npr. jedan set u kojem cuvas koji su tasteri pritisnuti) i na osnovu flagova prilikom svakog update ekrana pomeras objekat.

offline
  • Pridružio: 10 Jun 2006
  • Poruke: 3

E, pogodi sta ima novo? Radi! Shocked
Promenio sam da se pomera za tri pixela umesto za jedan, tako da dosta dobro funkcionise.
Inace ovo radim za seminarski na faxu, Imam jos otprilike nedelju dana da zavrsim rad. Postavicu ga na sajt kad zavrsim.
Hvala ti puno za kod! Pozdrav!

offline
  • prm 
  • Građanin
  • Pridružio: 11 Jun 2006
  • Poruke: 94

To je neka cudna stvar.
Ono sto hoces da nateras da odgovori na dogadjaj sa tastature mora biti valjda u fokusu.
Inace pogledaj to u Laslo Kraus ima na strani 145 i 146.

offline
  • Emil Beli
  • Pridružio: 03 Jan 2005
  • Poruke: 2990
  • Gde živiš: Beograd

Ja, opet, volim da uradim capture poruke (message), onda vidim koja je kontrola u pitanju, i onda tacno mogu da odredim sta ce da se odradi i na kom objektu.

FormKeyPress ne volim da radim jer je to previse globalno. Narocito ne valja ako imas par kontrola koje mogu da prime Keydown ili keypress.

Ko je trenutno na forumu
 

Ukupno su 747 korisnika na forumu :: 5 registrovanih, 0 sakrivenih i 742 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: kybonacci, Marko Marković, Mi lao shu, prekodrinski, Viktor Petrenko