Problemino Visual Basic 6.0
Ciao a tutti!
Ho un problema di programmazione in visual basic: dovrei ricevere su una label il risultato di un calcolo ma,siccome ho necessità di mettere valori non interi il programma mi fa casini a seconda se metto il punto o la virgola, volevo quindi impostare sul textbox "text_KeyUp" e disabilitare il valore relativo del "punto".....Come posso fare che non trovo il codice del punto nei codici dei tasti?
Spero di essere stato chiaro!!!!
Ho un problema di programmazione in visual basic: dovrei ricevere su una label il risultato di un calcolo ma,siccome ho necessità di mettere valori non interi il programma mi fa casini a seconda se metto il punto o la virgola, volevo quindi impostare sul textbox "text_KeyUp" e disabilitare il valore relativo del "punto".....Come posso fare che non trovo il codice del punto nei codici dei tasti?
Spero di essere stato chiaro!!!!

Risposte
Ciao!
Per il codice ASCII del pinto, consulta la relativa tabella ( http://www.asciitable.com/ ). La cosa giusta è quella di accettare soltanto le cifre.
Per il codice ASCII del pinto, consulta la relativa tabella ( http://www.asciitable.com/ ). La cosa giusta è quella di accettare soltanto le cifre.
Ciao,
vb6 fornisce 2 funzioni;
asc() che restituisce il valore ascii del carattere inserito e la funzione chr() dalla quale si ottiene l'opposto, è opportuno consultare il file MSDN di help di VB6 che presenta la tabella asci per tutti i caratteri anche quelli estesi, tenete conto che
è meglio farvi riferimento perchè non tutti i sistemi hanno la tabella uguale.
Gianni
vb6 fornisce 2 funzioni;
asc() che restituisce il valore ascii del carattere inserito e la funzione chr() dalla quale si ottiene l'opposto, è opportuno consultare il file MSDN di help di VB6 che presenta la tabella asci per tutti i caratteri anche quelli estesi, tenete conto che
è meglio farvi riferimento perchè non tutti i sistemi hanno la tabella uguale.
Gianni
Scusate, non mi sono accorto che fosse lo stesso post.
vi sono due funzioni, int() e fix che restituiscono l'intero di un numero, con una piccola differenza tra loro dovuta al segno; int(10/3) restituisce 9, oppure l'operatore \ che restituisce la parte intiera di una frazione.
se tu hai un numero del genere 234.567, int(234.567) ti restituisce 234, a questo punto esegui 234.567-234 ed ottieni la parte frazionaria; 10\3=3, 3*3=9, 10-9=1, ossia il resto, ti conviene operare dentro una tua funzione tipo;
in modulo .bas come public o nel form come private
public/private function RestoDiv(Dividendo as single, Divisore as single) as single
dim intero as single
dim resto as single
dim cifra as single
cifra=(dividendo\divisore)
intero=int(dividendo\divisore)
resto=cifra-intero
restodiv=resto
end function
così la puoi richiamare quando vuoi senza dover riscrivere i passaggi, ti consiglio di inserirla in un modulo .bas, cosi lo potrai riutilizzare anche per altri programmi.
Se invece ti occorresse convertire il numero frazionato in stringa usa la funzione seguente Cstr(234.567) il risultato è la proprietà della label = "234,567",
Gianni
vi sono due funzioni, int() e fix che restituiscono l'intero di un numero, con una piccola differenza tra loro dovuta al segno; int(10/3) restituisce 9, oppure l'operatore \ che restituisce la parte intiera di una frazione.
se tu hai un numero del genere 234.567, int(234.567) ti restituisce 234, a questo punto esegui 234.567-234 ed ottieni la parte frazionaria; 10\3=3, 3*3=9, 10-9=1, ossia il resto, ti conviene operare dentro una tua funzione tipo;
in modulo .bas come public o nel form come private
public/private function RestoDiv(Dividendo as single, Divisore as single) as single
dim intero as single
dim resto as single
dim cifra as single
cifra=(dividendo\divisore)
intero=int(dividendo\divisore)
resto=cifra-intero
restodiv=resto
end function
così la puoi richiamare quando vuoi senza dover riscrivere i passaggi, ti consiglio di inserirla in un modulo .bas, cosi lo potrai riutilizzare anche per altri programmi.
Se invece ti occorresse convertire il numero frazionato in stringa usa la funzione seguente Cstr(234.567) il risultato è la proprietà della label = "234,567",
Gianni