Oui mais, j'aimerai savoir comment faire mon "encoder", je sais me débrouiller avec un code pour le comprendre et l'adapter
-----
Oui mais, j'aimerai savoir comment faire mon "encoder", je sais me débrouiller avec un code pour le comprendre et l'adapter
Je peux te donner une version toute faite mais
1. tu ne comprendras toujours pas l'utilité des fonctions
2. tu n'auras pas compris la démarche de conception d'un programme
Le point 2 étant le plus crucial.
Suivre un tutoriel est le mieux (et surtout commencer en mode console ...)
ok merci , mais, comment je pourrais faire mon "encoder", habituellement j'apprend en lisant un code, comme je l'ai fait pour mon logiciel de transfert vers un serveur FTP
Je programme depuis 1 ou 2 ans en passe-temps, j'aimerai savoir au moins se que je dois utiliser pour le faire (l'encoder), je pourrais expérimenter et m'amuserJe peux te donner une version toute faite mais
1. tu ne comprendras toujours pas l'utilité des fonctions
2. tu n'auras pas compris la démarche de conception d'un programme
Le point 2 étant le plus crucial.
Suivre un tutoriel est le mieux (et surtout commencer en mode console ...)
pour faire quick and dirty :
en partant de ton code :
En gras mes modifications. Je ne l'ai pas compilé ni testé. C'est du brut de décoffrage.Code:private void CodeClick(object sender, RoutedEventArgs e) { StreamReader Code = new StreamReader(AppDomain.CurrentDomain.BaseDirectory + comboBox1.SelectedItem + ".txt"); int NbrLigne = 26; int i,pos; string[] LineNumber = new string[NbrLigne]; string OriginalChar = "abcdefghijklmnopqrstuvwxyz"; for (i = 0; i < NbrLigne; i++) { LineNumber[i] = Code.ReadLine(); } Code.Close(); TextCrypter.Text=String.Empty; for(i=0;i< TextNonCrypter.Text.Length;i++) { pos = OriginalChar.IndexOf(TextNonCrypter.Text[i]); TextCrypter.Text=String.Concat(TextCrypter.Text,LineNumber[i]); } }
Bon sa marche bizarement en fait se qu'il fait, il prend le nombre de caractère entrer, exemple, bonjour et au lieu de le convertir comme prévu, il remplace chaque caractère par celui à la suite dans le ficher ex: bonjour --> zyxwvu
remplace TextCrypter.Text=String.Concat (TextCrypter.Text,LineNumber[i]); par TextCrypter.Text=String.Concat (TextCrypter.Text,LineNumber[pos]);
Bon plus que un truc :/ il ne place plus pas les espace, et tout le codage était décaler de 1,où a=y alors qu'il aurait du a=z alors jai changer cette ligne :
en ajoutant une espace au débutCode:string OriginalChar = " abcdefghijklmnopqrstuvwxyz";
Reste les espace que je cherche encore
Comme quoi mon code ne t'aide pas à la compréhension ni du langage ni de l'algorithme
Ton fichier commence par une ligne blanche ?
Tu as fait toutes les modif en gras (y compris le 0 dans la boucle du for qui remplit les lignes) ?
Pour traiter les espaces ou les autres caractères innatendus c'est simple. Il faut tester pos, si pos n'est pas compris entre 0 et 26 il ne faut pas ajouter un caractère codé mais le caractère d'origine.
Oui ton code, je l'étudie et je ne me contente pas seulement de "copié" "coller" sans ca, il n'y aurait aucun but, j'analyse et je comprend ton code avant de passer a autre chose
2. Mon fichier commence par "Z" (le premier caractère)
3. Oui toute les modifs je les ai faits
4. Que veut tu dire par le caractère d'origine ? Par exemple, l'espace " "
Code:for(i=0;i< TextNonCrypter.Text.Length;i++) { pos = OriginalChar.IndexOf(TextNonCrypter.Text[i]); if (pos!=-1) TextCrypter.Text=String.Concat(TextCrypter.Text,LineNumber[i]); else TextCrypter.Text=String.Concat(TextCrypter.Text,TextNonCrypter.Text[i]); }
Merci ça fonctionne mais j'ai du changé le "pos != -1" pour "pos != 0"
Merci et j'analyse le code