Benvenuto! Per postare e godere delle funzionalità del forum registrati, occorrono pochi secondi ed è gratis!

domanda Vb

Iscritto
Messaggi: 27
Discussioni: 4
Registrato: 06-2012
Mix: 0
Volevo chiedere aiuto per un problema in visualBasic..

Io vorrei formattare un numero tipo "12123456" nel modo che il programma lo restituisca nel modo "12/12/3456"

ho provato con il comando

Codice:
Format(data, "mm/dd/yyyy")

o con il codice

Codice:
Format(data, "##/##/####")

ma nessuno dei due funziona Smile qualcuno può aiutarmi? Smile

23/07/2012, 18:10
#1
Cerca

1 Life, 1 Avatar <3
Messaggi: 9,074
Discussioni: 271
Registrato: 08-2011
Mix: 0
Manda un MP a Digger che sicuramente saprà risponderti Happywide

23/07/2012, 19:23
#2
Cerca

Il criceto mannaro
Messaggi: 3,536
Discussioni: 201
Registrato: 03-2011
Mix: 3,737
Ciao!
sono stato in ferie, tornato ieri...

Mah, io lavorerei direttamente con la stringa iniziale mettendoci gli slash (/) al posto giusto.

Volendo poi usare la funzione format convertirei quanto ottenuto in datetime.

Per mettere gli slash dovresti usare le solite funzioni per accedere a diverse posizioni all'interno della stringa, ma siccome non mi va perchè trovo che sia un modo noioso e brutto da leggere ci metto un po' di fantasia e ti propongo questo:

Crea un progetto
nel form metti 3 textbox (lascia i nomi di default) e un button
doppio click sul form cancella tutto e incolla questo:

    VB Programming
  1. Public Class Form1
  2.  
  3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  4. Dim chlist As List(Of Char) = TextBox1.Text.ToList
  5. Dim charr As Char()
  6.  
  7. chlist.Insert(2, "/")
  8. chlist.Insert(5, "/")
  9. charr = chlist.ToArray()
  10. TextBox2.Text = New String(charr)
  11.  
  12. Dim dt As DateTime = DateTime.Parse(TextBox2.Text)
  13.  
  14. TextBox3.Text = String.Format("{0:D}", dt)
  15.  
  16. End Sub
  17.  
  18. End Class



In poche parole quello che ho fatto:

Nel textbox1 scrivo la stringa iniziale (es. 23122012)
Prendo quella stringa e la converto in una lista di caratteri
Inserisco nella lista i 2 caratteri slash alle posizioni corrette
Converto la lista in array di caratteri
e quindi converto l'array di caratteri in stringa
Prendo la stringa ottenuta e la metto nella textbox2 per visualizzarla

A questo punto volendo fare un passaggio in piu non richiesto, converto questa stringa in DateTime in modo da poter applicare la funzione format dicendo che voglio il formato esteso che come risultato mi darà "Domenica 23 dicembre 2012"

Il tutto per divertirsi un po', rimane sempre valida l'opzione di comporre la stringa carattere per carattere con i soliti sistemi di gestione delle stringhe

ciao!


digger
10/08/2012, 1:45
#3
Cerca


Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  Domanda programmazione (sono nabbo) Pocciox 9 2,886 30/05/2014, 21:28
Ultimo messaggio: Pocciox
  Domanda:Link per c++??? Pocciox 16 4,251 19/09/2012, 23:12
Ultimo messaggio: Pocciox
  Una domanda sulle connessioni Soul Fire 10 2,117 09/02/2012, 21:58
Ultimo messaggio: digger



Utenti che stanno guardando questa discussione: 1 Ospite(i)