Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Nico
    Registrato dal
    Apr 2002
    Messaggi
    458

    [VB] Formattare una variabile

    Ragazzi ho una domanda molto semplice: Come si "formatta" una variabile? Nel senso io vorrei che "1" me lo salvi come "0001". Questo perchè devo caricare dinamicamente delle immagini da una cartella. Grazie mille!

  2. #2
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    dim a as string
    dim b0 as string
    a="1"
    b0="000"
    a=b0+a

    ecc. ecc.

  3. #3

    Puoi anche scrivere una funzione...

    Puoi scriverti una Funzione che inserisca X caratteri prima del contenuto della variabile stessa:

    Funzione Ins_Char_Before
    parametro S: Stringa originale
    parametro c: carattere di riempimento
    parametro l: lunghezza da raggiungere

    codice:
    Public Function Ins_Char_Before(S As String, c As String, l As Integer) As String
        Dim i As Integer
        Ins_Char_Before = S
        For i = 1 To l - Len(S)
            Ins_Char_Before = c & Ins_Char_Before
        Next i
    End Function
    Quindi:

    A = "1"
    A = Ins_Char_Before(A,"0",4)

    Spero sia abbastanza chiaro, fammi sapere...
    Ciao!!

    PS: Voglio i CopyRight sulla funzione!!! (ovviamente scherzo...)
    lupusinfabula

    Programmatore VB, ASP, Delphi.

  4. #4
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212

    codice:
    MiaVariabile=Format(MiaVariabile,"0000")
    usate le funzioni di VB, sono state crete per questo! :gren:

  5. #5
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    In VB.NET:

    codice:
    MyVar = CDbl(MyVar).ToString("0000")
    Se non convertite il valore da formattare in Double, non funge (almeno così mi sembra)

    Ciao

  6. #6
    Utente di HTML.it L'avatar di Nico
    Registrato dal
    Apr 2002
    Messaggi
    458
    Penso che solo darkblood abbia capito...l'immagine numero 12 si chiamerà "img0012", mentre l'immagine 123 si chiamerà "img0123"...Quindi non mi serve inserire un tot di zeri prima del numero :-)
    Si lo so che potrei usare una funzioncina che mi stabilisce se il numero dell'immagine è piu di una decina o una centinaia ecc...ma cerco qualcosa di semplice

    x DarkBlood: Non riesco a usare la tua funzione!

    code

    Dim Var As Integer

    Private Sub Command1_Click()

    Var = Label1.Caption
    Var = Format(Var, "0000")
    Text1.Text = Var

    End Sub


    Dove ho sbagliato? la caption del label1 è 1 e io voglio che sul txt appaia "0001"!!!!

    (Ho VB 5)

  7. #7
    Utente di HTML.it L'avatar di sebamix
    Registrato dal
    Aug 2000
    Messaggi
    1,028
    Ahemmm... c'è una funzione VB che lo fa... si chiama Format

    Se non sbaglio la sintassi dovrebbe essere + o - questa:
    codice:
    dim i as integer
    i=1
    text1.text=format(i,"####")
    Comunque scrivete format e ci schiacciate F1 sopra... :bubu:


    ADDENDUM
    Ahemmm... non avevo visto il post di Nico
    Vado subito a fare Karakiri con le ginocchia sui sassolini ardenti

  8. #8
    Utente di HTML.it L'avatar di Nico
    Registrato dal
    Apr 2002
    Messaggi
    458
    :gren: :gren: :gren:
    Grazie Sebamix, funziona!
    (grazie anche agli altri :gren: )

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.