AGB  ·  Datenschutz  ·  Impressum  







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

Eingabe in tEdit beschränken

Ein Thema von hummer · begonnen am 2. Okt 2003 · letzter Beitrag vom 2. Okt 2003
Antwort Antwort
Benutzerbild von hummer
hummer

Registriert seit: 27. Mai 2003
Ort: Hattingen
437 Beiträge
 
Delphi 7 Enterprise
 
#1

Eingabe in tEdit beschränken

  Alt 2. Okt 2003, 18:03
Hallo

die procedure, die verhindert, dass man in ein edit Feld was anderes als Zahlen eingibt habe ich im Forum schon gefunden.

Delphi-Quellcode:
  if not (Key in ['0'..'9', #8]) then
  Key := #0;
Jetzt möchte ich aber noch die Eingabe eines Minuszeichen erlauben. Ein Minuszeichen darf nur einmal eingegeben werden. Auch wenn im Edit Feld schon Zahlen stehen und man drückt das Minuszeichen soll das Minuszeichen am Anfang des Terms geschrieben werden. Betätigt man öfter als ein mal das Minuszeichen soll es wieder entfert oder hinzugefügt werden.

Ich hab aber keine Ahnung wie ich das lösen soll.

Hoffe mein Problem ist nicht zu unverständlich beschrieben.
Manuel
unser Infolehrer -> Wissen ist Macht. Wir wissen nichts. Macht nichts.
  Mit Zitat antworten Zitat
Dagon

Registriert seit: 13. Jul 2003
505 Beiträge
 
Delphi 7 Professional
 
#2

Re: Eingabe in tEdit beschränken

  Alt 2. Okt 2003, 18:07
So was habe ich auch schon verwendet (zumindest etwas ähnliches). Ich muss es aber zu erst auf meiner Platte suchen.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Eingabe in tEdit beschränken

  Alt 2. Okt 2003, 18:18
Moin Hummer,

Delphi-Quellcode:
if (Key in ['0'..'9', #8]) or ((Key = '-') and (pos('-',Edit1.Text) = 0)) then begin
  if Key = '-then begin
    Edit1.Text := '-' + Edit1.Text;
    Key := #0;
  end;
end else begin
  Key := #0;
end;
ungetestet, und einfach hier mal reingehackt.
Im Prinip müsstest Du ja nur noch zusätzlich auf das '-' testen, dass aber nur zugelassen ist, wenn es noch nicht enthalten ist.
Als Verbesserung könnte man sich noch die aktuelle Caretposition merken wenn es ein, zugelassenes, '-' war und dann wieder Herstellen.
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 SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Eingabe in tEdit beschränken

  Alt 2. Okt 2003, 18:21
Delphi-Quellcode:
if (key = '-') then
begin
  key := #0;
  if pos('-', Edit1.Text) < 1 then Edit1.Text := '-' + Edit1.Text else Edit1.Text := copy(Edit1.Text, 2, length(Edit1.Text)-1);
end;
Den Code noch mit in die Keypressmethode reinstopfen. Allerdings musst du dann noch den Cursor wieder an die richtige Stelle setzen

@chris: So weit ganz gut, du musst hast aber vergessen das minuszeichen wieder zu entfernen bei erneutem press
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Eingabe in tEdit beschränken

  Alt 2. Okt 2003, 18:22
oder so:

if Key = '-then begin Edit1.Text:=IntToStr(StrToInt(Edit1.Text)*-1) Ist aber nicht elegant.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Eingabe in tEdit beschränken

  Alt 2. Okt 2003, 18:29
Moin SirThornberry,

Zitat von SirThornberry:
So weit ganz gut, du musst hast aber vergessen das minuszeichen wieder zu entfernen bei erneutem press
Stimmt, das hatte ich übersehen
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
Antwort Antwort


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:03 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