AGB  ·  Datenschutz  ·  Impressum  







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

edit soll nur zahle annehmen

Ein Thema von magic87 · begonnen am 24. Aug 2006 · letzter Beitrag vom 25. Aug 2006
Antwort Antwort
Seite 2 von 2     12   
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: edit soll nur zahle annehmen

  Alt 24. Aug 2006, 17:59
Mußt denn Du mit einem Array arbeiten?

Ein Set würde praktischer sein

Delphi-Quellcode:
var
  numbers: set of '0'..'9';
dann in der OnkeyPress Routine

Delphi-Quellcode:
if not key in numbers then
  key:=#0;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
A-M-X

Registriert seit: 29. Sep 2005
Ort: Karlsruhe
152 Beiträge
 
#12

Re: edit soll nur zahle annehmen

  Alt 24. Aug 2006, 23:04
Ich muss zwar zustimmen, dass man mehr suchen könnte, aber helfe trotzdem:

Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9']) then Key:= #0;
end;
Du kannst auch noch "Decimalseperator" für einen "." (Punkt), "Thousandseperator" für ein "," (Komma) und "VK_Back" für das Erlauben zum Drücken der Backspacetaste einbauen.

if not (key in ['0'..'9', DecimalSeparator, ThousandSeparator, Char(VK_BACK)]) then key:= #0;
Wie das mit deinem Code funtzen soll, kA sry ^^
  Mit Zitat antworten Zitat
magic87

Registriert seit: 15. Aug 2006
10 Beiträge
 
#13

Re: edit soll nur zahle annehmen

  Alt 25. Aug 2006, 09:00
Guten Morgen! danke erstmal für die ganzen Tipps! Habe die Möglichkeit mit Setof und der anderen Variante getestet. Hat alles super geklappt. Nur Leider muss ich es mit einem array und einer Schleife die sich in der function befindet programmieren. Hätte dazu auch noch jemand einen Lösungsvorschlag?
Liebe Grüße
Dennis
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#14

Re: edit soll nur zahle annehmen

  Alt 25. Aug 2006, 09:24
Zitat von magic87:
Nur Leider muss ich es mit einem array und einer Schleife die sich in der function befindet programmieren. Hätte dazu auch noch jemand einen Lösungsvorschlag?
Zitat von Schaedel:
Schreiben werde ich dir den Quelltext nicht ;)
Ist ja ne Hausaufgabe und bei solchen Dingen soll man ja was lernen ;)
Also in Umgangssprache codiert: Durch Delphi-Referenz durchsuchenfor, Delphi-Referenz durchsuchenwhile und Delphi-Referenz durchsuchenrepeat werden Schleifen erläutert:
Delphi-Quellcode:
for Zähler := Anfangswert to Endwert do Anweisung
// Anfangswert: erster Index des Array
// Endwert: letzter Index des Array
// Anweisung: prüfe und notiere, ob das durch Key übergebene Zeichen mit dem Zeichen am jetzigen Index übereinstimmt
In dieser Situation ist for nicht geeignet, sondern while ist besser. Bitte überlege selbst, warum. Jürgen

Tipp: Formuliere Dir bei solchen Aufgabenstellungen selbst die Umsetzung in Code der Alltagssprache; das klappt auch bei komplizierten Fragen!
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Benutzerbild von Schaedel
Schaedel

Registriert seit: 5. Jan 2006
Ort: Saarland
174 Beiträge
 
Delphi 2007 Professional
 
#15

Re: edit soll nur zahle annehmen

  Alt 25. Aug 2006, 09:31
Delphi-Quellcode:
const Myarray : array[0..9] of char = ('0','1','2','3','4','5','6','7','8','9');


implementation

{$R *.DFM}

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not (IsKeyInArray(key)) then begin
    key := #0;
  end;
end;

function TForm1.IsKeyInArray(key: char): boolean;
var
  i :integer;
begin
  result := false;
  for i := 0 to 9 do begin
    if key = Myarray[i] then begin
      result := true;
      break;
    end
  end;
end;
Du solltest aber noch ein paar Tasten zulassen... wie z.b. Backspace und so
das überlasse ich jetzt dir...

An die anderen:
Ich weiß das ich gerade die Lösung gepostet habe....
Sicher kann er diese nun kopiere und einfügen ... bringt ihm aber in der Klassenarbeit wenig...
Ich hoffe er schreibt es nach ... und kopiert es nicht nur ...
Michael S.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 00:31 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