AGB  ·  Datenschutz  ·  Impressum  







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

keine Buchstaben im Edit-Feld...?

Ein Thema von deadline · begonnen am 19. Jun 2003 · letzter Beitrag vom 19. Jun 2003
Antwort Antwort
Seite 1 von 2  1 2      
deadline

Registriert seit: 14. Jun 2003
11 Beiträge
 
Delphi 7 Professional
 
#1

keine Buchstaben im Edit-Feld...?

  Alt 19. Jun 2003, 08:54
moinsen,
also ich hätte da mal wieder so eine frage... *g*

Wie geht das, dass beim click auf Buton2 in Edit1.text nach Buchstaben "gescannt" wird und der Rest des Vorgangs in "procedure THaupt.Buton2Click(Sender: TObject);" nicht durchgeführt wird, aber eine Fehlermeldung kommt wo drin steht "keine Buchstaben zulässig."

Ausserdem würde ich mal gern wissen wie ich das hinbekomme, dass die Texte aus Edit1 und Edit2 durch einander dividiert werden...

Würde mich über Hilfe hierbei sehr freuen...


mfg.
deadline

[EDIT=thomasdrewermann]Rechtschreibfehler berichtigt.[/EDIT]
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: keine Buchstaben im Edit-Feld...?

  Alt 19. Jun 2003, 09:31
Zitat von deadline:
... Fehlermeldung kommt wo drin steht "keine Buchstaben zulässig."
....
Hai Deadline,

das würde ich so schon einmal nicht machen. Es sieht schlecht aus dem Anwender eine Eingabe von Buchstaben zu erlauben und im Später eine Fehlermeldung zu zeigen. Besser ist es die Eingabe von "Nichtzahlen" zu verhindern. Suche mal im Forum. Das hatten wir schon oft.

Zitat:
Ausserdem würde ich mal gern wissen wie ich das hinbekomme, dass die Texte aus Edit1 und Edit2 durch einander dividiert werden...
Text zu divieren? Das kann nicht gehen

Ich denke mal Du möchtest die Zahlen die der anwender eingegeben hat dividieren. Schaue dir dazu einmal die Funktion StrToInt an.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
JoelH
(Gast)

n/a Beiträge
 
#3

hmm,

  Alt 19. Jun 2003, 09:37
also du kannst einfach durch den Strign durchgehen und nach Buchstaben suchen lassen,
etwa so:

Delphi-Quellcode:
function sortiereBuchstabenaus (Edit1:string):string;
var i : integer;
    helpstring1, helpstring2 : string;
begin
  helpstring1 := uppercase(Edit1);
  helpstring2 := '';
  for i = 1 to length(helpstring1) do
  begin
    if not((copy(helperstring1,i,1) in ['A','B','C','D','E' ....usw.!]) then
      helperstring2 := helperstring2 + copy(Edit1,i,1);
  end;
  result := helperstring2;
end;
So sollten keine Buchstabeneingaben mehr funktionieren, sie werden einfach aussortiert. Hoff ich, hab es nicht getestet und der Vergleich muss noch komplett gemacht werden.

[EDIT=thomasdrewermann]Rechtschreibfehler entfernt.[/EDIT]
  Mit Zitat antworten Zitat
deadline

Registriert seit: 14. Jun 2003
11 Beiträge
 
Delphi 7 Professional
 
#4

Re: keine Buchstaben im Edit-Feld...?

  Alt 19. Jun 2003, 09:43
Zitat von Sharky:
Zitat von deadline:
... Fehlermeldung kommt wo drin steht "keine Buchstaben zulässig."
....
Hai Deadline,

das würde ich so schon einmal nicht machen. Es sieht schlecht aus dem Anwender eine Eingabe von Buchstaben zu erlauben und im Später eine Fehlermeldung zu zeigen. Besser ist es die Eingabe von "Nichtzahlen" zu verhindern. Suche mal im Forum. Das hatten wir schon oft.

Zitat:
Ausserdem würde ich mal gern wissen wie ich das hinbekomme, dass die Texte aus Edit1 und Edit2 durch einander dividiert werden...
Text zu divieren? Das kann nicht gehen

Ich denke mal Du möchtest die Zahlen die der anwender eingegeben hat dividieren. Schaue dir dazu einmal die Funktion StrToInt an.
tjo, also das mit den buchstaben.. ich hab nie gesagt dass ich da buchstaben drib erlauben will.. nein, diese Edit-felder sind nur für zahlen gedacht... *gg*

ausserdem hatte ich eigendlich auch nit vor text zu editieren, sondern wollte ZAHLEN devidieren...

mfg
deadline
  Mit Zitat antworten Zitat
JoelH
(Gast)

n/a Beiträge
 
#5

hmm,

  Alt 19. Jun 2003, 09:48
man mit
Delphi-Quellcode:
var resultat : single;
begin
  resultat := StrToFloat(Edit1.Text) / StrToFloat (Edit2.Text);
end;
probiert ?


EDIT ZUSATZ :

WARUM SAGST DU NICHT GLEICH DASS DU NUR ZAHLEN ERLAUBEN WILLST,da kannst du das if Statement oben vereinfach
  Mit Zitat antworten Zitat
Zaubermaus

Registriert seit: 27. Mär 2003
2 Beiträge
 
Delphi 6 Enterprise
 
#6
  Alt 19. Jun 2003, 09:55
Hallösche!

Um in einem Edit-Feld nur Zahlen zuzulassen, nutze ich folgende Proc:

Delphi-Quellcode:
procedure Form.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if (Key in ['!'..'/',':'..'~']) then Key := #0;
end;
Der Anwender kann nur Zahlen eintragen - alle anderen Eingaben werden abgewiesen.

die Zaubermaus
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#7

Re: keine Buchstaben im Edit-Feld...?

  Alt 19. Jun 2003, 09:59
Zitat von deadline:
..... nein, diese Edit-felder sind nur für zahlen gedacht... *gg*
...
Wie gesagt, es gibt eine Suchfunktion!!!

Aber ich bin heute gut gelaunt:

Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
 Edit1.OnKeyPress := NurZahlen;
 Edit2.OnKeyPress := NurZahlen;
 Edit1.Text := '';
 Edit2.Text := '';
end;

{*********************************************************}

procedure TForm1.NurZahlen(Sender: TObject; var Key: Char);
begin
 If Not (Key IN ['0'..'9',',','-',#8,#9,#13]) then
  begin
   Key := #0;
  end;
end;

{*********************************************************}

procedure TForm1.Button1Click(Sender: TObject);
 var
 zahl1,
 zahl2 : Extended;
begin
if (Length(Edit1.Text) >0 ) AND (Length(Edit2.Text) > 0 ) then
 begin
  zahl1 := StrToFloat (Edit1.Text);
  zahl2 := StrToFloat (Edit2.Text);
  if (Zahl2<>0) then
   begin
    Label1.Caption := FloatToStr (zahl1/zahl2);
   end
  else
   begin
    MessageDlg('Diviesion durch 0', mtError, [mbOK], 0);
   end;
 end
else
 begin
  MessageDlg('Wie soll ich ohne Zahlen rechnen?', mtConfirmation, [mbOK], 0);
 end;
end;
Benötigt:
1 Button
2 Edit
1 Label
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#8
  Alt 19. Jun 2003, 09:59
Moin Zusammen,

das Abfangen einer nicht zulässigen Eingabe mittels KeyPress funktioniert aber auch nur so lange, wie der Anwender nichts durch paste einfügt.
STRG-V funktioniert bei einem Edit schliesslich standardmässig.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#9
  Alt 19. Jun 2003, 10:01
Hallo,
um nur Ziffern in einem TEdit zuzulassen, schau mal in die Library Nur Ziffern in Edit, ist dort einfacher und eleganter gelöst...
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#10
  Alt 19. Jun 2003, 10:04
Zitat von Christian Seehase:
Moin Zusammen,

das Abfangen einer nicht zulässigen Eingabe mittels KeyPress funktioniert aber auch nur so lange, wie der Anwender nichts durch paste einfügt.
STRG-V funktioniert bei einem Edit schliesslich standardmässig.
Hmmm.... bei mir nicht!

Es geht nur über das Kontextmenü mit der rechten Maus. Und das kann man ja leicht verhindern.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 18:40 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