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

Messages postés
45
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
30 janvier 2014
- - Dernière réponse : vb95
Messages postés
1877
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
25 mai 2019
- 16 mars 2019 à 15:29
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..
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
17
3
Merci
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...

Dire « Merci » 3

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CodeS-SourceS

Codes Sources 146 internautes nous ont dit merci ce mois-ci

Commenter la réponse de yann_lo_san
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
17
3
Merci
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

Dire « Merci » 3

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CodeS-SourceS

Codes Sources 146 internautes nous ont dit merci ce mois-ci

Commenter la réponse de yann_lo_san
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
17
1
Merci
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
vb95
Messages postés
1877
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
25 mai 2019
60 > tchindaruissel -
bonjour !
un commentaire presque 7 ans après : je doute qu'il soit lu !
Commenter la réponse de yann_lo_san
Messages postés
642
Date d'inscription
mercredi 10 septembre 2008
Statut
Membre
Dernière intervention
9 février 2017
4
0
Merci
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
Commenter la réponse de dodo7263
Messages postés
45
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
30 janvier 2014
0
Merci
je coince... l'utilisateur ne saisit rien... je fixe mon premier code à A0001... et le programme génère la suite...
Commenter la réponse de cs_eyango
Messages postés
45
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
30 janvier 2014
0
Merci
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);
}
Commenter la réponse de cs_eyango
Messages postés
45
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
30 janvier 2014
0
Merci
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
Commenter la réponse de cs_eyango