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

Messages postés
45
Date d'inscription
jeudi 24 août 2006
Dernière intervention
30 janvier 2014
- - Dernière réponse : cs_eyango
Messages postés
45
Date d'inscription
jeudi 24 août 2006
Dernière intervention
30 janvier 2014
- 10 déc. 2012 à 16:46
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
Dernière intervention
23 janvier 2016
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

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 105 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
Dernière intervention
23 janvier 2016
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

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 105 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
Dernière intervention
23 janvier 2016
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...
Commenter la réponse de yann_lo_san
Messages postés
642
Date d'inscription
mercredi 10 septembre 2008
Dernière intervention
9 février 2017
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
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
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
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.