realbasic-nug.it
[Top] [All Lists]

numeri decimali

To: REALbasic NUG Italian <realbasic-nug dot it at lists dot realsoftware dot com>
Subject: numeri decimali
From: Lucio Liberi <lucioing at tin dot it>
Date: Sat, 23 Feb 2008 12:46:30 +0100
Delivered-to: listarchive at realsoftware dot com
Delivered-to: realbasic-nug dot it at lists dot realsoftware dot com
12,5 x 2 = 25
12.5 x 2 = 250

questo se uso CDbl(editfield.text)
mentre se uso Val(editfield.text)

12,5 x 2 = 24
12.5 x 2 = 25


Adesso... è ovvio che si deve controllare quello che si scrive...

Bene. Quando era una sega, lo facevo in LostFocus

  Dim tempstring As string

    tempstring=replace(me.text,".",",")
    me.text=tempstring


e funzionava bene. Ma può capitare che si facciano i conti SENZA che il campo in oggetto, l'EditField, abbia perso il focus. Cioè uno scrive il numero e poi pigia il bottone relativo al calcolo...

Sto provando a scrivere qualcosa in KeyDown, ma non riesco, anche se adesso sono diventato un genio... Lui capisce che ho pigiato '.' e qualcosa la fa, ma non riesco...

  Dim tempstring As string

  if Key="." then
    tempstring=replace(me.text,".",",")
    me.text=tempstring
  end if

sembra facile, ma quando entro il punto '.' lui me lo mette davanti ai numeri già inseriti:

123.   --->    .123

cioè, intercetta il punto, ma lo mette all'inizio del testo.
Come se scrivere

me.text=tempstring

portasse il 'cursore' all'inizio della stringa...

Questo è troppo, anche per me che sono un genio...


Grazie.

L.



<Prev in Thread] Current Thread [Next in Thread>