/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Shape
Fra : Henning Madsen


Dato : 06-12-06 20:27


På nettet er dette pussige program hentet.
Synes det var bedre at bruge de 4 piletaster i stedet for e,d,x og s
men hvad er verdien for disse piletaster og hvordan settes de ind ??


procedure TForm1.FormCreate(Sender: TObject);
begin
randomize;
Shape2.Left := Random(304); //ball left position.
Shape2.Top := Random(184); //ball top position.
Shape1.Left := Random(304); //ball left position.
Shape1.Top := Random(184); //ball top position.
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = 'e' then shape2.Top := shape2.Top -1; //move ball up.
if key = 'd' then shape2.Left := shape2.Left +1; //move ball right.
if key = 'x' then shape2.Top := shape2.Top +1; //move ball down.
if key = 's' then shape2.Left := shape2.Left -1; //move ball left.
if (shape1.Left = shape2.Left) and (shape1.Top = shape2.Top) then close;
end;
end.
MVH
Henning



 
 
Michael Haase (06-12-2006)
Kommentar
Fra : Michael Haase


Dato : 06-12-06 21:59

Henning Madsen skrev dette den 06-12-2006 20:26:
> På nettet er dette pussige program hentet.
> Synes det var bedre at bruge de 4 piletaster i stedet for e,d,x og s
> men hvad er verdien for disse piletaster og hvordan settes de ind ??
>
....
>
> procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
> begin
> if key = 'e' then shape2.Top := shape2.Top -1; //move ball up.
> if key = 'd' then shape2.Left := shape2.Left +1; //move ball right.
> if key = 'x' then shape2.Top := shape2.Top +1; //move ball down.
> if key = 's' then shape2.Left := shape2.Left -1; //move ball left.
> if (shape1.Left = shape2.Left) and (shape1.Top = shape2.Top) then close;
> end;
> end.

Værdierne for piletasterne er:

Pil op : VK_UP
Pil ned: VK_DOWN
Pil venstre: VK_LEFT
pil højre: VK_RIGHT

Du skal så ikke benytte FormKeyPress, da man kun kan benytte
ASCII-værdier der. I stedet skal du bruge FormKeyDown.

--
Michael Haase

Thomas Eg Jørgensen (08-12-2006)
Kommentar
Fra : Thomas Eg Jørgensen


Dato : 08-12-06 10:41


"Henning Madsen" <HKM@madsen.tdcadsl.dk> skrev i en meddelelse
news:457717ea$0$896$edfadb0f@dread12.news.tele.dk...
> Synes det var bedre at bruge de 4 piletaster i stedet for e,d,x og s
> men hvad er verdien for disse piletaster og hvordan settes de ind ??
>

"Hjælp til selvhjælp":

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift:
TShiftState);
begin
showmessage('Du trykkede på tast nr: '+inttostr(key));
end;

../Thomas


Henning Madsen (08-12-2006)
Kommentar
Fra : Henning Madsen


Dato : 08-12-06 18:05

Mange tak for jeres svar.

Måske jeg også kan få et svar på dette?
Jeg prøvede at udskrive X-Y positionerne i en Edit, som resulterede i at det
jeg trykkede på blot blev skrevet i Edit??
Hvorimod der entet var ivejen ved udskrift til en Label det syntes jeg er
mærkeligt.


"Thomas Eg Jørgensen" <thomas@hest.notaplan.com> skrev i en meddelelse
news:45793339$0$49195$14726298@news.sunsite.dk...
>
> "Henning Madsen" <HKM@madsen.tdcadsl.dk> skrev i en meddelelse
> news:457717ea$0$896$edfadb0f@dread12.news.tele.dk...
>> Synes det var bedre at bruge de 4 piletaster i stedet for e,d,x og s
>> men hvad er verdien for disse piletaster og hvordan settes de ind ??
>>
>
> "Hjælp til selvhjælp":
>
> procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift:
> TShiftState);
> begin
> showmessage('Du trykkede på tast nr: '+inttostr(key));
> end;
>
> ./Thomas



Harald (08-12-2006)
Kommentar
Fra : Harald


Dato : 08-12-06 18:42

"Henning Madsen" <HKM@madsen.tdcadsl.dk> skrev i en meddelelse
news:457999c3$0$843$edfadb0f@dread12.news.tele.dk...
> Mange tak for jeres svar.
>
> Måske jeg også kan få et svar på dette?
> Jeg prøvede at udskrive X-Y positionerne i en Edit, som resulterede i at
> det jeg trykkede på blot blev skrevet i Edit??
> Hvorimod der entet var ivejen ved udskrift til en Label det syntes jeg er
> mærkeligt.
>

Label.Caption:='Noget Tekst';
Edit.Text:='Noget Tekst';

/HK



Henning Madsen (08-12-2006)
Kommentar
Fra : Henning Madsen


Dato : 08-12-06 19:25


"Harald" <nomail@noname.dk> skrev i en meddelelse
news:4579a3ec$0$15885$edfadb0f@dtext01.news.tele.dk...
> "Henning Madsen" <HKM@madsen.tdcadsl.dk> skrev i en meddelelse
> news:457999c3$0$843$edfadb0f@dread12.news.tele.dk...

Det er nok bedre at simplifiserer spørsmålet for problemet(hvis det er noget
problem)
ytre sig ved bare at smide en Edit1 på formen.
aktiverer jeg tasten e bliver der i Edit1 skrevet et e, men Shapen flytter
sig ikke,
derimod sker der entet hvis jeg ligger en Label på formen, så bliver Shapen
aktiveret som den skal,
det var det jeg syntes er mærkeligt ??

>> Mange tak for jeres svar.
>>
>> Måske jeg også kan få et svar på dette?
>> Jeg prøvede at udskrive X-Y positionerne i en Edit, som resulterede i at
>> det jeg trykkede på blot blev skrevet i Edit??
>> Hvorimod der entet var ivejen ved udskrift til en Label det syntes jeg er
>> mærkeligt.
>>
>
> Label.Caption:='Noget Tekst';
> Edit.Text:='Noget Tekst';
>
> /HK
>
>



Michael Thomsen (08-12-2006)
Kommentar
Fra : Michael Thomsen


Dato : 08-12-06 19:49

On Fri, 08 Dec 2006 19:24:57 +0100, Henning Madsen <HKM@madsen.tdcadsl.dk>
wrote:

> Det er nok bedre at simplifiserer spørsmålet for problemet(hvis det er
> noget problem) ytre sig ved bare at smide en Edit1 på formen.
> aktiverer jeg tasten e bliver der i Edit1 skrevet et e, men Shapen
> flytter sig ikke, derimod sker der entet hvis jeg ligger en Label på
> formen, så bliver Shapen aktiveret som den skal

Det er der da ikke noget mærkeligt i. Dit Edit felt får som standard
alle tasteanslag kastet i hovedet før alle andre når det er aktivt.

Hvis du vil have din form's keyhandler til at se alle taster skal du sætte
keypreview = true;

//michael

--
Instead of email, use this: http://mtech.dk/thomsen/contact.php

Henning Madsen (08-12-2006)
Kommentar
Fra : Henning Madsen


Dato : 08-12-06 20:08

Tak for svaret Michael, så var der aligevel et svar, jeg har altid brugt
Edet sådan Edit1.Text := et eller andet,
syntes derfor at det var mærkeligt at Edit reagerede uden at der var noget
programeret til den.
Tak for svare MVH Henning

"Michael Thomsen" <sorry@no.spam> skrev i en meddelelse
news.tj87vzprhrxo93@mtpc...
> On Fri, 08 Dec 2006 19:24:57 +0100, Henning Madsen <HKM@madsen.tdcadsl.dk>
> wrote:
>

>> Det er nok bedre at simplifiserer spørsmålet for problemet(hvis det er
>> noget problem) ytre sig ved bare at smide en Edit1 på formen.
>> aktiverer jeg tasten e bliver der i Edit1 skrevet et e, men Shapen
>> flytter sig ikke, derimod sker der entet hvis jeg ligger en Label på
>> formen, så bliver Shapen aktiveret som den skal
>
> Det er der da ikke noget mærkeligt i. Dit Edit felt får som standard
> alle tasteanslag kastet i hovedet før alle andre når det er aktivt.
>
> Hvis du vil have din form's keyhandler til at se alle taster skal du sætte
> keypreview = true;
>
> //michael
>
> --
> Instead of email, use this: http://mtech.dk/thomsen/contact.php



Ukendt (14-12-2006)
Kommentar
Fra : Ukendt


Dato : 14-12-06 13:22

"Henning Madsen" <HKM@madsen.tdcadsl.dk> skrev i en meddelelse
news:4579b6ab$0$926$edfadb0f@dread12.news.tele.dk...
> Tak for svaret Michael, så var der aligevel et svar, jeg har
> altid brugt Edet sådan Edit1.Text := et eller andet,
> syntes derfor at det var mærkeligt at Edit reagerede uden at der
> var noget programeret til den.

Ikke spor mærkeligt.
TEdit er beregnet til at brugeren afleverer noget til programmet
(indtaster). TLabel er beregnet til at programmet afleverer noget
til brugeren. Sådan groft set.


--
Thomas Munk
http://mmmunk.dk



Søg
Reklame
Statistik
Spørgsmål : 177428
Tips : 31962
Nyheder : 719565
Indlæg : 6407943
Brugere : 218877

Månedens bedste
Årets bedste
Sidste års bedste