Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    [VB.NET] Concatenazione Stringhe

    ragazzi ho un problema urgentissimo
    devo concatenare la una data in una var stringa con la data del giorno

    dim sData as string

    sData = cstr(today.year)
    sData = CStr(sData) & CStr("0") & CStr(Today.Month)
    sData = CStr(sData) & CStr(Today.Day)

    l'output corretto dovrebbe essere

    20050921 invece è 2005921

    perchè non mi concatena lo 0 essendo una var string?

    grazie anticipate

  2. #2
    dim sData as string

    sData = cstr(today.year)
    if len(today.Month) = 1 then
    sData = CStr(sData) & "0" & CStr(Today.Month)
    else
    sData = CStr(sData) & CStr(Today.Month)
    end if
    sData = CStr(sData) & CStr(Today.Day)
    Il dubbio non è piacevole, ma la certezza è ridicola. Solo gli imbecilli son sicuri di ciò che dicono.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    E' meglio scrivere

    Dim sData As String
    sData = Today.Year.ToString("0000") & Today.Month.ToString("00") & Today.Day.ToString("00")

  4. #4
    oppure

    dim sData as string

    sData = cstr(today.year)
    sData = CStr(sData) & format(Today.Month,"00")
    sData = CStr(sData) & format(Today.Day,"00")
    Il dubbio non è piacevole, ma la certezza è ridicola. Solo gli imbecilli son sicuri di ciò che dicono.

  5. #5
    ops scusate è VB.NET non mi ero accorto della stringa di titolo
    Il dubbio non è piacevole, ma la certezza è ridicola. Solo gli imbecilli son sicuri di ciò che dicono.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Guardate che scrivere

    CStr(sData)

    visto che sData e' una stringa, e' ridondante e serve solo ad effettuare conversioni (automatiche) inutili.

    Questo codice

    dim sData as string

    sData = cstr(today.year)
    sData = CStr(sData) & format(Today.Month,"00")
    sData = CStr(sData) & format(Today.Day,"00")

    va corretto in

    dim sData as string

    sData = CStr(today.year)
    sData = sData & format(Today.Month,"00")
    sData = sData & format(Today.Day,"00")

    o, se si vuole in una riga

    sData = CStr(today.year) & Format(Today.Month,"00") & Format(Today.Day,"00")

    Solamente il primo CStr e' formalmente necessario dato che si converte da numero a stringa ...

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    Originariamente inviato da oregon
    E' meglio scrivere

    Dim sData As String
    sData = Today.Year.ToString("0000") & Today.Month.ToString("00") & Today.Day.ToString("00")

    questo è corretto, stiamo parlando di vb.net.

    Negli altri esempi utilizzate istruzioni di vb6, che funzionano solo se importato il namespace Microsoft.VisualBasic che serve x compatibilità nel caso importiate vecchi progetti. Meglio evitare ed imparare.
    Ans.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    dovrebbe funzionare anche il solo:

    Dim Data As String = Today.ToString("yyyyMMdd")
    Ans.

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da ans
    questo è corretto, stiamo parlando di vb.net.

    Negli altri esempi utilizzate istruzioni di vb6, che funzionano solo se importato il namespace Microsoft.VisualBasic che serve x compatibilità nel caso importiate vecchi progetti. Meglio evitare ed imparare.
    Infatti ...

    Il fatto che il namespace Microsoft.VisualBasic venga attivato di default fa in modo che anche nei nuovi progetti ci sia la "tendenza" ad usare la vecchia sintassi e la OOP va a farsi benedire ...

    Ovviamente si puo' disabilitare ma nessuno la fa in pratica.

    Qualcuno si "accorge" della cosa solamente quando inizia a programmare in C# e "nota" che la stessa sintassi la puo' usare anche in VB ... E' uno dei meriti del C# (non me ne voglia alka ...)

  10. #10
    scrivere
    Today.Month.tostring()
    o
    Cstr(Month(date))

    sia la stessa cosa ma solo con forme diverse

    certo che avere tutto implementato nelle tendine dell'oggetto è più comodo ma non necessariamente meglio.


    Non voglio innescare discussioni. Mi fermo qua.
    Il dubbio non è piacevole, ma la certezza è ridicola. Solo gli imbecilli son sicuri di ciò che dicono.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.