/ 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
Fjerne automatisk gentagelse ved tastetryk~
Fra : Bent Aage Larsen


Dato : 29-10-04 15:57

Jeg har lavet et program, hvor det er uhensigtmæssigt, at computeren
automatisk gentager et bogstav, når tasten holdes nede, hvilket kan ske, da
programmet er lavet til brug af børn.
Findes der en kommando, som kan aflyse denne funktion ved programmets start
og etablere den igen, når programmet afsluttes.
Venlig hilsen
Bent.



 
 
Mathias (29-10-2004)
Kommentar
Fra : Mathias


Dato : 29-10-04 21:47

Friday 29 October 2004 16:56 sagde Bent Aage Larsen noget à la dette i
dk.edb.programmering.pascal:

> Jeg har lavet et program, hvor det er uhensigtmæssigt, at computeren
> automatisk gentager et bogstav, når tasten holdes nede, hvilket kan
> ske, da programmet er lavet til brug af børn.
> Findes der en kommando, som kan aflyse denne funktion ved programmets
> start og etablere den igen, når programmet afsluttes.

Som en forholdsvist ny programmør har jeg en outside-the-box løsning:
Du kan lave en OnKeyPress event handler der annulerer tastetrykket, og
så lave en OnKeyDown event handler der indsætter det tegn der er
trykket på. På den måde undgår du automatisk gentagelse.
Nu er det et stykke tids siden jeg sidst har haft Delphi mellem
fingerene, så jeg har ikke lige en kode du kan bruge. Men det dér er
det jeg ville have gjort .
--
Mvh. Mathias | @: mathias
Registrered Linux user #369699 (http://counter.li.org) @ mrside
"Linie" er ukorrekt dansk... Underligt, ikke? .dk

lap[4800] (31-10-2004)
Kommentar
Fra : lap[4800]


Dato : 31-10-04 05:35


"Bent Aage Larsen" <b.aa.larsen@webspeed.dk> skrev i en meddelelse
news:41825a30$0$190$edfadb0f@dread11.news.tele.dk...
> Jeg har lavet et program, hvor det er uhensigtmæssigt, at computeren
> automatisk gentager et bogstav, når tasten holdes nede, hvilket kan ske,
> da programmet er lavet til brug af børn.
> Findes der en kommando, som kan aflyse denne funktion ved programmets
> start og etablere den igen, når programmet afsluttes.
> Venlig hilsen
> Bent.

Hej Bent

Problemet kan løses sådan her:

var KeyPressed: Boolean; {Global}

{Som eksempel har jeg brugt en TMemo, men det kunne selvfølgelig også godt
være en TForm, hvor KeyPreview := True}

procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
if KeyPressed then
Key := #0;
KeyPressed := True;
end;

procedure TForm1.Memo1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
KeyPressed := False;
end;

Håber du kan bruge det!

Med venlig hilsen
lap[4800]



Bent Aage Larsen (31-10-2004)
Kommentar
Fra : Bent Aage Larsen


Dato : 31-10-04 06:53

Tak for hjælpen. Det virker fortræffeligt.
Venlig hilsen
Bent.

"Bent Aage Larsen" <b.aa.larsen@webspeed.dk> skrev i en meddelelse
news:41825a30$0$190$edfadb0f@dread11.news.tele.dk...
> Jeg har lavet et program, hvor det er uhensigtmæssigt, at computeren
> automatisk gentager et bogstav, når tasten holdes nede, hvilket kan ske,
> da programmet er lavet til brug af børn.
> Findes der en kommando, som kan aflyse denne funktion ved programmets
> start og etablere den igen, når programmet afsluttes.
> Venlig hilsen
> Bent.
>



Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408182
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste