Générer Matricule Alphnumérique [Résolu]

Signaler
Messages postés
45
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
30 janvier 2014
-
Messages postés
2154
Date d'inscription
samedi 11 janvier 2014
Statut
Non membre
Dernière intervention
5 juin 2020
-
Bonjour Tous,
je souhaite générer automatiquement le code d'un prêt d'un mutualiste dans cet ordre:

A0001, A0002, A0003, ..., A9999, B0001, ..., Z9999

pourriez vous me donner un coup de main j utilise Visual Studio 2010..

7 réponses

Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
18
Re,

Si tu veux générer la totalité des codes en une seule fois, ben oui...

string sLastCode = null;
string sNextCode = "";

while( sNextCode != "Z9999"  )
{
    sNextCode = GetNextCode(sLastCode);

    // fait quelquechose avec sNextCode ici

    sLastCode = sNextCode;
}



ATTENTION, TRAITEMENT ASSEZ LONG !

bye...
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
18
Salut,

Si tu as les droits d'accès au répertoire distant, le code ci-dessous devrait marcher

IO.File.Open(@"\\10.250.10.1\shareDir\file.xml", IO.FileMode.Open);

Sinon il faut exécuter un "net use" avec login/pass
via Process.Start()
ou utiliser p-invoke sur DllImport("advapi32.dll") et la fonction LogonUser

On peut aussi mapper un lecteur réseau en local qui pointe sur le répertoire distant, genre "Z:" avec les droits déjà configuré en amont:

IO.File.Open(@"Z:\file.xml")

Tu peux aussi utiliser HTTP et faire un "download" du fichier si celui-ci est stocké dans un site web.

WebClient webClient = new WebClient();
webClient.DownloadFile("http://unSite.com/unfichierSource.xml", @"c:\monFichierLocal.xml");

Ou par simple requete HTTP avec WebRequest.Create("uri") et GetStream()
Même chose avec l'objet FtpWebRequest et WebRequestMethods DownnloadFile
si le fichier est sur un ftp.

Voilà, beaucoup de solutions différentes... Tout dépendra du contexte.

bye
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
18
Salut,

La fonction n'est pas très compliquée :
On lui passe le code en cours et elle renvoi le prochain. Elle revient au premier code si on arrive à la fin (Z9999)
public static string GetNextCode(string sLastCode)
{
// Fait attention aux bornes inf et supp
if ( String.IsNullOrEmpty(sLastCode) || sLastCode == "Z9999" )
return "A0001";

// Suivant
string sNextCode = string.Empty;

if ( Convert.ToInt32(sLastCode.Substring(1,4)) == 9999 )
sNextCode = (((char)((int)sLastCode[0])=='Z') ? 'A' : (char)((int)sLastCode[0]+1)) + "0001";
else
sNextCode = (char)((int)sLastCode[0]) + (Convert.ToInt32(sLastCode.Substring(1,4))+1).ToString("0000");

return sNextCode;
}



Exemple d'appel :

string sLastCode = "E9999";
string sNextCode = GetNextCode(sLastCode);



bye...

peut pas t on faire sa avec les attribut simple exemple des char et convertir a la fin en string
Messages postés
2154
Date d'inscription
samedi 11 janvier 2014
Statut
Non membre
Dernière intervention
5 juin 2020
109 > tchindaruissel
bonjour !
un commentaire presque 7 ans après : je doute qu'il soit lu !
Messages postés
642
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
9 février 2017
5
Salut,

Pour t'aider as tu déjà fait quelque chose ? Où tu coinces ?
Est ce que l'utilisateur saisie le code ?
Est ce le programme qui génère ce code automatiquement ?

Bref, on a pas tous les éléments.

@+

SD
Messages postés
45
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
30 janvier 2014

je coince... l'utilisateur ne saisit rien... je fixe mon premier code à A0001... et le programme génère la suite...
Messages postés
45
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
30 janvier 2014

Salut yann_lo_san
Merci pour ta contribution... j ai un autre souci... je souhaite lire un fichier EXCEL sur une machine dont l'adresse IP peut être 10.250.10.1 comment je procède???
pour lire le même fichier (enregistré sur ma machine en local) voici ce que je fais:


protected void ImporterButton_Click(object sender EventArgs e)
{
if ((DateCotisation.SelectedDate != null) && (FileUpload1.FileName != ""))
{
OleDbConnection conExcel = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:" + FileUpload1.FileName + @";Extended Properties=""Excel 12.0 Xml;HDR=YES"";");
SqlConnection conSQL = new SqlConnection(@"Data Source=BAYARDJOEL\BAYARDJOEL;Initial Catalog=MURCASFASAS;Integrated Security=True;MultipleActiveResultSets=True");

OleDbDataAdapter Da= new OleDbDataAdapter();

DataSet Ds = new DataSet();

OleDbCommand comm = new OleDbCommand("SELECT * FROM [RH$]", conExcel);


Da.SelectCommand = comm;
Da.Fill(Ds, "RH");
conSQL.Open();
int nCount = 0;
foreach (DataRow row in Ds.Tables["RH"].Rows)
{

string date = DateCotisation.SelectedDate.ToString();
ServiceCotisation SC = new ServiceCotisation();
DataAccesEF.cotisation DaC = new DataAccesEF.cotisation();
ServiceSuivi_Pret SSP = new ServiceSuivi_Pret();
ServiceAdherernt SA = new ServiceAdherernt();
DataAccesEF.suivi_pret DaSP = new DataAccesEF.suivi_pret();
ServicePret SP = new ServicePret();
string Mois = SC.ConvertirDateMois(Convert.ToDateTime(DateCotisation.SelectedDate));
string Annee = SC.ConvertirDateAnnee(Convert.ToDateTime(DateCotisation.SelectedDate));
DataAccesEF.pret DaP = new DataAccesEF.pret();
DaC.Matricule = (row[0]).ToString();
DaC.CotisationMurcas = Convert.ToInt32(row[10]);
DaC.ReversementMurcas = Convert.ToInt32(row[13]);
DaC.RappelMurcas = Convert.ToInt32(row[14]);
DaC.CotisationFasas = Convert.ToInt32(row[15]);
DaC.ReversementFasas = Convert.ToInt32(row[16]);
DaC.RappelFasas = Convert.ToInt32(row[17]);
DaC.TotalMurcas = Convert.ToInt32(row[18]);
DaC.TotalFasas = Convert.ToInt32(row[19]);
DaC.DateCotisation = Convert.ToDateTime(DateCotisation.SelectedDate);

}
SC.AjouterCotisation(DaC);
}
Messages postés
45
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
30 janvier 2014

Salut yann_lo_san,

pourrais-tu me donner la procédure pas à pas de déploiement sur une serveur IIS version 6 et sous SQLSERVER 2008...???
Merci d'avance