private void IDC_Name_TextChanged(object sender, TextChangedEventArgs e) { if (IDC_Name.GetLineLength(0) > 3 && IDC_Name.GetLineLength(0) < 28) { GenSerial(); } else { IDC_Serial.Text = "Vous devez être entre 3 et 28 caractères"; } }
private void GenSerial() { // Pour encoder en UTF8 notre chaine de caractère byte[] Name = Encoding.Default.GetBytes(IDC_Name.Text); string Nickname = Encoding.UTF8.GetString(Name); string Serial_debut = null; string Serial_fin = null; int Serial = 0; char[] asciiBytes = Nickname.ToCharArray(); byte[] array = { 0x0B, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10 }; //Génération du début du serial for (int i = 3; i < IDC_Name.GetLineLength(0); ++i) { Serial += asciiBytes[i] * array[(i - 3) * 4]; Serial_debut = Serial.ToString(); } Serial = 0; //Génération du début du serial for (int i = 3; i < IDC_Name.GetLineLength(0); ++i) { Serial += asciiBytes[i] * asciiBytes[i - 1] * array[(i - 3) * 4]; Serial_fin = Serial.ToString(); } //Affichage du Serial IDC_Serial.Text = String.Format("{0}-{1}", Serial_debut, Serial_fin); }