Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,117

    Gestione codice progetto "parlante"

    Ciao a tutti, devo gestire un codice di questo tipo

    Anno Sigla Progressivo
    05D001

    non so come fare, dato che il contatore si deve incrementare progressivamente (automaticamente) e deve essere sempre di 4 caratteri (quindi non posso partire da 1 ma da 0001 ... che non è un numero ma una stringa)

    stavo pensando di gestire, ad esempio, 3 campi nel DB (anche se un po' scomodo....)
    Anno
    Sigla
    Progressivo

    in questo modo posso incrementare il progressivo facilmente (per poi unire i 4 pezzi di codice), ma come posso mantenerlo a 4 caratteri??

    ... cmq questa soluzione non mi piace molto

    Che altra soluzione mi consigliate di adottare??

    grazie

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Scusami, ma chiedi aiuto per una semplice manipolazione di una stringa? No, non può essere, ho capito male, come al solito

    Ciao
    Pietro

  3. #3
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,117
    Non hai capito male...

    come posso gestire un contatore di 4 caratteri fissi

    0001
    0002
    0003
    ...
    0010

    Grazie

  4. #4
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,117
    nobody can help me?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    19
    Io ho fatto cosi'
    supponiamo che in cont mi ci va a finire il tuo contatore attuale.

    se cont > 9 allora IDCont= "00" & cont.ToString
    altrimenti se cont > 99 allora IDCont= "0" & cont.ToString
    altrimenti se cont > 999 allora IDCont= cont.ToString
    altrimenti IDCont= "000" & cont.ToString

    In questo modo avrai il tuo id corretto.

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ho fatto un esempietto in c# (io lavoro in basic, perciò occhio al codice ). Allora ho un semplice pulsante che, a ogni pressione, fa vedere un contatore in una label formattato come 0000.

    codice:
    private string sNumero = "0000";
    private void Page_Load(object sender, System.EventArgs e)
    {
    	// Inserire qui il codice utente necessario per inizializzare la pagina.
    	if(!this.IsPostBack)
    	{
    		sNumero = "0000";
    		this.ViewState.Add("sNumero", sNumero);
    	}
    	else
    		sNumero = this.ViewState["sNumero"].ToString();
    
    }
    
    
    
    private void Button1_Click(object sender, System.EventArgs e)
    {
    	int n = (int.Parse(sNumero));
    	n++;
    	sNumero = n.ToString("0000");
    	this.ViewState.Add("sNumero", sNumero);
    	this.Label1.Text = sNumero;
    
    }
    Pietro

  7. #7
    Utente di HTML.it L'avatar di edaje
    Registrato dal
    Jul 2003
    Messaggi
    363
    Puoi usare il metodo PadLeft che ti riempie i caratteri mancanti (in questo caso 0) una stringa

  8. #8
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,117
    Grazie 1000

    lo sto adattando al mio problema e sembra perfetto!

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.