[PowerBuilder] Alleen cijfers in SLE

Pagina: 1
Acties:

  • posttoast
  • Registratie: April 2000
  • Laatst online: 23:34
Ik weet hoe je in een datawindow kunt zorgen dat er alleen cijfers of letters ingevoerd mogen worden. Maar hoe doe ik dat in een Single Line Edit?

Ik heb al bedacht om zoiets onder de keyup event van de SLE te zetten:

code:
1
2
3
4
5
6
7
8
9
10
11
12
IF key = Key0! OR key = Key1! &
     OR key = Key2! OR key = Key3! &
     OR key = Key4! OR key = Key5! &
     OR key = Key6! OR key = Key7! &
     OR key = Key8! OR key = Key9! &
     OR key = KeyDelete! OR key = KeyBack! &
     OR key = KeyLeftArrow! OR key = KeyRightArrow! THEN
    \\ hier gebeurt dus niets
ELSE
    \\ hier moet aangegeven dat het laatst ingevoerde
                verwijderd moet worden. Maar hoe doe ik dat?
END IF


Maar als dit al zou lukken, ik vind dit niet echt een nette oplossing. Het moet toch ook anders kunnen?

Even voor de duidelijkheid: ik wil in dit geval dus dat er alleen cijfers ingevoerd kunnen worden.

[ Voor 11% gewijzigd door posttoast op 06-01-2003 18:17 ]

omniscale.nl


  • Mickman
  • Registratie: Juni 2001
  • Laatst online: 29-03 18:11
Laat me eens raden, Haagse Hogeschool

die vergelijking kan je idd wat inkorten

als je wilt dat het ingevulde karakter wordt verwijderd zal je 'key' de ascii waarde van een backspace moeten geven, geloof 8, maar waarschijnlijk heeft PowerBuilder daar ook een keyword voor, iets van keyBackSpace.

  • Kawa
  • Registratie: Juni 2001
  • Laatst online: 22:19
Mickman schreef op 06 januari 2003 @ 19:59:
Laat me eens raden, Haagse Hogeschool
Het eerste wat ook ik dacht toen ik de titel zag :+

  • posttoast
  • Registratie: April 2000
  • Laatst online: 23:34
ik zit inderdaad op de Haagse Hogeschool, maar dit is niet voor een HHS opdracht hoor! :)

Mickman: als ik bij ELSE !KeyBack opgeef gebeurt er niets. De !Key zooi werkt volgens mij alleen als je kijkt naar de input van de gebruiker, je kunt het niet andersom gebruiken...

Maarre: er moet toch wel een andere, logischere manier zijn om de mogelijke karakters in zo'n SLE te beperken?

omniscale.nl


  • Mickman
  • Registratie: Juni 2001
  • Laatst online: 29-03 18:11
Ik heb even voor je gezocht, zou je natuurlijk ook zelf kunnen doen

http://manuals.sybase.com...group-pb/pbg0800e/objcont

Ik heb bij de de SingleLineEdit gezocht en een UNDO functie gevonden, welke het vorige change terug draait:

Undo Integer Cancels the previous editing function performed in the control.

  • posttoast
  • Registratie: April 2000
  • Laatst online: 23:34
Mickman schreef op 07 januari 2003 @ 12:18:
Ik heb even voor je gezocht, zou je natuurlijk ook zelf kunnen doen

http://manuals.sybase.com...group-pb/pbg0800e/objcont

Ik heb bij de de SingleLineEdit gezocht en een UNDO functie gevonden, welke het vorige change terug draait:

Undo Integer Cancels the previous editing function performed in the control.
Bedankt voor de tip, ik had overigens al gezocht zowel in de documentatie bij PowerBuilder als met Google, maar dit had ik nog niet gevonden.

Ik heb echter een elegantere oplossing gevonden; behalve een Single Line Edit bestaat er ook een EditMask control. Precies hetzelfde als een SLE alleen dan met masking functies!

Bedankt allemaal! :)

omniscale.nl

Pagina: 1