Auf Tastendruck

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Chris237
Beiträge: 11
Registriert: Mi 18. Sep 2013, 20:09

Auf Tastendruck

Beitrag von Chris237 »

Hallo Liebe Comunity,

Ich würde gerne ein Programm schreiben wo ich nur einen Knopf drücken muss z.B die Taste A damit sich in einem Editfenster die zahl um 1 erhöht. Wie kann ich das machen??

Danke im voraus für die Hilfe



LG

Chris237

Benutzeravatar
theo
Beiträge: 10874
Registriert: Mo 11. Sep 2006, 19:01

Re: Auf Tastendruck

Beitrag von theo »

Welchen Teil der Aufgabe verstehst du nicht?

Falls du keinen Teil verstehst, gibt es hier Tutorials: http://www.delphi-treff.de/tutorials/

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Auf Tastendruck

Beitrag von Michl »

Hallo Chris,

erstmal herzlich willkommen im Forum!

Ich würde dir empfehlen ein paar Tutorials durchzuarbeiten (google einfach mal unter Lazarus oder Delphi Tutorial), dann sollte die Aufgabe ein Kinderspiel sein.

eine mögliche Lösung für deine Aufgabe wäre

- Lazarus starten
- neues Projekt anklicken, dann "Anwendung" auswählen
- es erscheint eine leere Form
- auf diese plazierst du ein TEdit
- im Objektinspektor wählst du Edit1 aus
- jetzt stellst du unter Eigenschaften (des Edit1) ReadOnly of "True"
- jetzt wechselst du den Reiter auf Ereignisse
- jetzt Ereigniss OnKeyPress auswählen -> Klick auf das "..."-Button, es wird die Ereigniss-Prozedur erstellt
- nun füge mal folgenden Code im Quelltexteditor ein:

Code: Alles auswählen

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: char);
const
  Zahl: Integer = 0;                         //lokale Constante, verhält sich wie globale Variable
begin
  if (key='a') or (key='A') then inc(Zahl);  //Prüft, welche Taste gedrückt wurde
  Edit1.Caption:= inttostr(Zahl);            //zeigt die um 1 erföhte Zahl in Edit1 an
end;
- starte das Programm (mit F9)

immer wenn du die Taste "a" drückst, wird die Zahl um 1 erhöht und im TEdit angezeigt

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Chris237
Beiträge: 11
Registriert: Mi 18. Sep 2013, 20:09

Re: Auf Tastendruck

Beitrag von Chris237 »

Danke Michl

rwblinn
Beiträge: 2
Registriert: Sa 14. Sep 2013, 15:08
OS, Lazarus, FPC: Windows (L 1.0.12, FPC 2.6.2)
CPU-Target: 32Bit
Wohnort: 25421 Pinneberg
Kontaktdaten:

Re: Auf Tastendruck

Beitrag von rwblinn »

Hallo Chris,

im Form ein EditFeld defieren (Name zB edCounter), dann edCounter Text 0 zuweisen und Event OnKeyPress verwenden:

Code: Alles auswählen

 
procedure TForm1.edCounterKeyPress(Sender: TObject; var Key: char);
begin
   Key := #0;
   edCounter.Text := IntToStr(StrToInt(edCounter.Text) + 1);
end; 
 
Gruss,
Rob

Antworten