AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

bestimmte Tasten Sperren.

Ein Thema von Noobinator · begonnen am 9. Mai 2006 · letzter Beitrag vom 17. Mai 2006
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    
Noobinator

Registriert seit: 9. Mai 2006
147 Beiträge
 
Delphi 7 Personal
 
#1

bestimmte Tasten Sperren.

  Alt 9. Mai 2006, 16:20
HY community.

Ich habe ein Problem.
Wir sollen in der Schule ein Programm schreiben, in welchem man nur den Ziffernblock benutzen kann.
(Tasten 0-9)

Nun ist meine frage, wie geht das?

Ich dachte da an Invalidkey, aber da müsste ich ja jeden einzeln sperren.
Gibt es da eine andere Möglichkeit,wie das mann alles außer ein paar bestimme sperrt?

Wenn nicht, wie müsste das mit dem invalidkey aussehen?
habe leider kein Plan davon, und die HIlfe hat mich auch nicht weitergebracht.

Mfg
Noobinator
  Mit Zitat antworten Zitat
Peeters

Registriert seit: 3. Dez 2002
Ort: Meerbusch
86 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: bestimmte Tasten Sperren.

  Alt 9. Mai 2006, 16:23
Beispiel mit KeyPress:

Delphi-Quellcode:
procedure TFormHaupt.EditVKKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then Key := #0;
  if not (Key in ['0'..'9', #8, #13]) then Key := #0;
end;
Peeters
  Mit Zitat antworten Zitat
Noobinator

Registriert seit: 9. Mai 2006
147 Beiträge
 
Delphi 7 Personal
 
#3

Re: bestimmte Tasten Sperren.

  Alt 9. Mai 2006, 16:32
Zitat von Peeters:
Beispiel mit KeyPress:

Delphi-Quellcode:
procedure TFormHaupt.EditVKKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then Key := #0;
  if not (Key in ['0'..'9', #8, #13]) then Key := #0;
end;
könntest du das bitte mal kommentieren?
steige da nicht dahinter <---- NOOB
  Mit Zitat antworten Zitat
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: bestimmte Tasten Sperren.

  Alt 9. Mai 2006, 16:48
naja du lässt nur den zifferblock zu.
das heißt das alle anderen zeichen "umgeschrieben" werden müssen von dir.
in dem beispiel wir das z.b. so realisiert:

if Key = #13 then Key := #0;
// wenn eingabe = zeilenvorschub [enter-taste] -> dann soll 0 erscheinen
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#5

Re: bestimmte Tasten Sperren.

  Alt 9. Mai 2006, 16:48
Zitat von Peeters:
Beispiel mit KeyPress:

Delphi-Quellcode:
procedure TFormHaupt.EditVKKeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in ['0'..'9', #8, #13]) then Key := #0;
end;

mit
Key in ['0'..'9', #8, #13] prüfst du, ob die gedrückte Taste eine der Ziffern, Backspace (#8) oder Return (#13) ist.

durch
if not (Key in ['0'..'9', #8, #13]) then Key := #0; setzt du dann Key bei druch einer anderen Taste auf #0, das ist der Wert, der dem TEdit (z.B.) sagt, dass nicht auf den Tastendruck reagiert werden soll.

Die Zeile
if Key = #13 then Key := #0; kannst du stehen lassen, wenn die Return-Taste nicht auch nicht gedrückt werden darf (ansonsten löschen oder auskommentieren).

Auf Backspace sollte in jedem Fall geprüft werden, da man sonst Falsch-Eingaben nur korrigieren kann, wenn man alles markiert und überschreibt
  Mit Zitat antworten Zitat
Neon-chan

Registriert seit: 25. Okt 2004
24 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: bestimmte Tasten Sperren.

  Alt 9. Mai 2006, 16:57
Denk aber dran bei der Lösung KeyPreview von Mainform auf true zu setzen
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#7

Re: bestimmte Tasten Sperren.

  Alt 9. Mai 2006, 16:59
Zitat von Neon-chan:
Denk aber dran bei der Lösung KeyPreview von Mainform auf true zu setzen
DANN muss aber nicht das OnKeyPress-Ereignis des Edits sondern das des Forms benutzt werden.
  Mit Zitat antworten Zitat
Phistev
(Gast)

n/a Beiträge
 
#8

Re: bestimmte Tasten Sperren.

  Alt 9. Mai 2006, 17:00
Zitat von Neon-chan:
Denk aber dran bei der Lösung KeyPreview von Mainform auf true zu setzen
Wenn's das KeyPress vom Edit ist (anders gäb's leicht Probs), sehe ich keinen Grund dafür.

/edit: Schon wieder. Wo ist dieser rote Kasten?
  Mit Zitat antworten Zitat
Noobinator

Registriert seit: 9. Mai 2006
147 Beiträge
 
Delphi 7 Personal
 
#9

Re: bestimmte Tasten Sperren.

  Alt 9. Mai 2006, 19:10
also mein Programm sieht wie folgt aus:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;


type
    TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);




  private
    { Private-Deklarationen }
  public
     procedure FormVKKeyPress(Sender: TObject; var Key: Char);
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

...



procedure TForm1.FormCreate(Sender: TObject);
begin
form1.onkeypress := FormVKKeyPress;
.....

end;


procedure TForm1.FormVKKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then Key := #0;
  if not (Key in ['0'..'9', #8]) then Key := #0;
end;
end.
aber es funzt nicht... ich möchte nur die Tasten Backspace und 0-9 zulassen.
was ist falsch?
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#10

Re: bestimmte Tasten Sperren.

  Alt 9. Mai 2006, 19:33
Zitat von Noobinator:
Delphi-Quellcode:
procedure TForm1.FormVKKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then Key := #0;
  if not (Key in ['0'..'9', #8]) then Key := #0;
end;
end.
hmmm...doch nicht, jetzt zeigt er es richtig an, ich dachte es wären die eckigen Klammern


Wo liegt genau der Fehler? (Compilermeldung oder Beschreibung was du machst, was es machen sollte und was dennoch passiert)

Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz