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

cs_eyango 45 Messages postés jeudi 24 août 2006Date d'inscription 30 janvier 2014 Dernière intervention - 14 nov. 2012 à 11:24 - Dernière réponse : cs_eyango 45 Messages postés jeudi 24 août 2006Date d'inscription 30 janvier 2014 Dernière intervention
- 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
yann_lo_san 1137 Messages postés lundi 17 novembre 2003Date d'inscription 23 janvier 2016 Dernière intervention - 14 nov. 2012 à 15:07
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...

Merci yann_lo_san 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de yann_lo_san
Meilleure réponse
yann_lo_san 1137 Messages postés lundi 17 novembre 2003Date d'inscription 23 janvier 2016 Dernière intervention - 30 nov. 2012 à 21:30
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

Merci yann_lo_san 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de yann_lo_san
yann_lo_san 1137 Messages postés lundi 17 novembre 2003Date d'inscription 23 janvier 2016 Dernière intervention - 14 nov. 2012 à 14:26
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
dodo7263 642 Messages postés mercredi 10 septembre 2008Date d'inscription 9 février 2017 Dernière intervention - 14 nov. 2012 à 11:55
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
cs_eyango 45 Messages postés jeudi 24 août 2006Date d'inscription 30 janvier 2014 Dernière intervention - 14 nov. 2012 à 14:51
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
cs_eyango 45 Messages postés jeudi 24 août 2006Date d'inscription 30 janvier 2014 Dernière intervention - 28 nov. 2012 à 12:46
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
cs_eyango 45 Messages postés jeudi 24 août 2006Date d'inscription 30 janvier 2014 Dernière intervention - 10 déc. 2012 à 16:46
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.