Oppure

Loading
27/10/11 14:14
peppino84
salve ragazzi
ho un piccolo problemino;

in un form ho una serie di textbox ed un commandbutton
alcune costituiscono i campi di inserimento dei dati in input ed altre mi restituiscono degli output

succede che se non inserisco alcun valore in qualche campo mi da un errore di run-time (364)
è evidente che l'iter di calcolo necessita obbligatoriamente di un valore finito in input (anche zero)

l'obbiettivo sarebbe quello di fare in modo che nella textbox in cui non ho inserito nulla compaia lo zero

ad esempio:
   x=val(text1.text)
   if "la casella text1.text è vuota" then
   text1.text=0
   endif


grazie per l'attenzione
aaa
27/10/11 15:24
nessuno
Non vedendo il codice completo non ti posso dire ma ho perplessità sull'errore ...

Comunque, se la textbox è vuota lo controlli semplicemente con

If Text1.Text="" Then
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
27/10/11 22:15
peppino84
in realtà non è cosi semplice;
nella textbox potrebbe scausalmente finirci uno spazio " " e cosi ridarebbe l'errore
oggi ci ho perso qualche oretta e ho trovato la soluzione...
molto banalmente:

      x=val(text1.text)
         if Not (IsNumeric(x)) then
         text1.text=0
         endif


inoltre in questo modo mi riparo anche dalla possibilità che si faccia partire il ciclo con un testo non numerico inserito
con questo forum ho scoperto le funzioni IsDate IsEmpty IsNull IsNumeric

grazie per la collaborazione
buon lavoro
aaa
28/10/11 8:09
nessuno
Per avere risposte precise bisogna fare domande precise.

Hai chiesto di inserire uno 0 se il textbox era vuoto. Avresti dovuto chiedere di validare l'input numerico.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
28/10/11 11:47
peppino84
anche un semplice space è considerato vuitao ma "" è diverso da " "
aaa
28/10/11 11:51
nessuno
Postato originariamente da peppino84:

anche un semplice space è considerato vuitao ma "" è diverso da " "


Un semplice spazio non è considerato affatto vuoto.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
28/10/11 12:55
poeo85
punto 1

usa la funzione TRIM$(textbox1.text)

che togli gli eventuali spazi

per cui il tuo if diventa if TRIM$(textbox1.text) <> "" then


punto 2
convalida il dato inserito al textbox1.keypress

If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> vbKeyBack And Then
KeyAscii = 0
End If
aaa
28/10/11 16:30
peppino84
a NESSUNO :
è vero ... scusa ... dopotutto uno spazio occupa uno spazio
grazie

a Poe85 :
la soluzione che hai proposto è un pochino troppo spinta per me ...
ma mi hai fatto pensare ad un altro problema relativo alla punteggiatura ...
il codice che sto scrivendo acquisisce daiti in input (tutti numerici) sul mio uso il punto come separatore decimale ma se porto l'eseguibile su un pc che usa la virgola saltano i decimali e succede il caos....
immagino si tratti di codice Ascii ...

che faccio??
grazie
aaa