Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di icosimo
    Registrato dal
    Sep 2001
    Messaggi
    259

    VB6 - formattazione numeri

    Ciao Ragazzi, c'è qualcosa che non riesco a mettere a fuoco chissà se mi potete aiutare.

    E' possibile avere un esempio di codice che mostri come digitando in un "TexBox" numeri interi e decimali questi possano essere visibili immediatamente formattati con punti e virgola.??

    In ogni caso Vi ringrazio.

    Icosimo
    Windows 7 Home Premium SP1 64 bit - AMD Athlon(tm) 64x2 Dual Core Processor 6000+ 3.00 GHz - 4 GB RAM - NVIDIA GeForce 8400 GS

  2. #2
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    Prova così:

    codice:
    Private sub Text1_Change()
       If Text1.text<>"" then
          Text1.text=format(Text1.Text,"#,##0.#0")
       end if
    End Sub
    Guardati le funzioni FORMAT di vb

  3. #3
    Utente di HTML.it L'avatar di icosimo
    Registrato dal
    Sep 2001
    Messaggi
    259
    Sì Ti ringrazio darkBlood,
    ma il codice non funziona correttamente. Tra l'altro non considera i decimali. Le istruzioni "Format" le avevo già studiate.

    Io il problema l'ho risolto attivando due "TexBox", in uno digito il numero e sull'altro compare formattato.

    Il problema che voglio risolvere è perchè devo usare due "TexBox".
    Sicuramente la soluzione esiste ma non riesco a trovarla.

    Ancora grazie

    Icosimo
    Windows 7 Home Premium SP1 64 bit - AMD Athlon(tm) 64x2 Dual Core Processor 6000+ 3.00 GHz - 4 GB RAM - NVIDIA GeForce 8400 GS

  4. #4
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    allora, anzichè nell'evento Change, metti il codice nell'evento LostFocus

    Se nella tua textbox scrivi 123456789. quando esci dal controllo ti trovi scritto 123.456.789,00

    se scrivi 123456,78 nella textbox ti trovi scritto 123.456,78

    se scrivi 123456,7 nella textbox ti trovi scritto 123.456,70

    Ciao

  5. #5
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    ti posto il codice corretto nel caso in cui scrivi i decimali con il punto anzichè con la virgola:

    codice:
    Private Sub Text1_LostFocus()
       if text1.text <> "" then
          text1.text = replace(Text1.text,".",",")
          text1.text = format(Text1.text,"#,#0.#0")
       end if
    End Sub



  6. #6
    ma in questo modo formatta solo quando perde il focus??
    credo che icosimo vuole la formattazione immediata?
    puoi vincere 100 battaglie
    ma non sei un grande combattente
    il piu abile è colui
    che sottomette l'esercito nemico senza combattere

  7. #7
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    sentite ma che volete ???

    Il metodo è questo, poi se lui la vuole formattare subito o lo vuole formattato quando preme su un pulsante o quando fa un rutto se lo adatta a suo piacimento !!!


    e che cazz!

  8. #8

    6 grande.
    dovro fare un'applicazione che riconosca i miei rutti.
    Ciao alla prossima
    puoi vincere 100 battaglie
    ma non sei un grande combattente
    il piu abile è colui
    che sottomette l'esercito nemico senza combattere

  9. #9
    Utente di HTML.it L'avatar di icosimo
    Registrato dal
    Sep 2001
    Messaggi
    259
    Ti ringrazio DarkBlood, adesso il codice è OK, ma a parte la tua permalosità ha ragione Zoran_Mandic, la formattazione non è immediata.

    Ti ringrazio ancora.

    Ciao.

    Chissà se Zoran_Mandic ha un'idea.?
    Windows 7 Home Premium SP1 64 bit - AMD Athlon(tm) 64x2 Dual Core Processor 6000+ 3.00 GHz - 4 GB RAM - NVIDIA GeForce 8400 GS

  10. #10
    è una provocazione??
    cmq, si. considerala versione 1.0 appena ho 5 di tempo in piu ti passo la versione definitiva. ovvero domani. ce la fai ad aspettare?
    ovviamente se ti piace

    Private Sub Text2_KeyPress(KeyAscii As Integer)
    If Asc(",") = KeyAscii Then
    KeyAscii = 0
    Text2.Text = Format(Text2.Text, "#,###.##")
    Text2.SelStart = Len(Text2.Text)
    Else
    If InStr(1, Text2.Text, ",") = 0 Then
    Text2.SelText = Chr(KeyAscii)
    Text2.Text = Format(Text2.Text, "#,###")
    Text2.SelStart = Len(Text2.Text)
    KeyAscii = 0
    Else
    Text2.SelText = Chr(KeyAscii)
    Text2.Text = Format(Text2.Text, "#,###.##")
    Text2.SelStart = Len(Text2.Text)
    KeyAscii = 0
    End If
    End If
    end sub

    fammi sapere
    Zoran.
    puoi vincere 100 battaglie
    ma non sei un grande combattente
    il piu abile è colui
    che sottomette l'esercito nemico senza combattere

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.