Coder un texte en language Pascal; Delphi

algorith Messages postés 1 Date d'inscription dimanche 19 avril 2015 Statut Membre Dernière intervention 19 avril 2015 - Modifié par algorith le 19/04/2015 à 20:10
 algo - 21 avril 2015 à 15:49
Bonjour, alors voila je dois créer un programme de type de codage. Ce programme doit coder un texte en caractère c'est à dire par exemple si je lui écrit bonjour il me le code en -+/*)@%. J'étais parti dans l'idée de 2 tableaux, dans le premier toutes les lettres de l'alphabet et dans le deuxième, tous les caractères que je veux utiliser. Ensuite créer une fonction qui permettra de décortiquer le mot c'est à dire par exemple bonjour, la fonction commencera par la lettre B, elle retrouvera sa position dans le tableau 1 donc la pos2 et ensuite associera la pos 2 au caractère dans le tableau 2. je sais pas si je suis claire ou si je suis dans le bon chemin. Merci de votre aide.

3 réponses

Whismeril Messages postés 19024 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 18 avril 2024 656
19 avril 2015 à 20:05
Bonjour,

Afin d'espérer obtenir une réponse de quelque qui sait (pas moi en l'occurrence), merci poster le morceau de code qui pose problème, voir ici comment utiliser la coloration syntaxique. S'il y a un message d'erreur retranscrivez le dans son intégralité, en précisant à quelle ligne apparait cette erreur.

Penser que le titre doit refléter le contenu de la demande, "Question", "Programme" ou "Java", ne sont ni accrocheurs, ni utiles. Il semble évident qu'une question posée sur un forum de programmation Java tournera autour d'un problème lié à ce langage.

Merci donc de reformuler ta demande en respectant ces quelques points.


0
dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
20 avril 2015 à 08:58
Salut
Tu es sur le bon chemin avec ce type de codage (il y en beaucoup d'autres)
En gros tu mets dans chaine1 toutes les lettres à coder (toutes différentes)
Tu mets dans Chaine2 les lettres de subtitution (toutes différentes)
pour coder tu fais une boucle sur toutes les lettre du mot à coder :
z := ''; (résultat)
C1 := MOT[I]
x := pos(C1,Chaine1)
C2 := Chaine2[x]
z := Z + C2

c'est le principe, à adapter en delphi !!
cordialement
0
korgis Messages postés 420 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 6 mai 2019 17
20 avril 2015 à 10:44
3%<@%]/_ &"%/{ µ%~"& @? ¤%~{ +/=?/ ]< */%}/&))? ¤? °!*? ¤? +%¤&}?_ +? */%}/&))? ¤%~° +%¤?/ ]< °?(°? ?< +&/&+°ç/? +_?{° \ ¤~/? *&/ ?(?)*"? {~ @? "]~ =+/~° 3%<@%]/ ~" )? "? +%¤? ?< ________ @_=°&~{ *&/°~ ¤&<{ "_~¤=? ¤? _ °&3"?&](_ ¤&<{ "? */?)~?/ °%]°?{ "?{ "?°°/?{ ¤? "_&"*|&3?° ?° ¤&<{ "? ¤?](~ç)?_ °%]{ "?{ +&/&+°ç/?{ >]? @? µ?]( ]°~"~{?/_ ?<{]~°? +/=?/ ]<? [%<+°~%< >]~ *?/)?°°/& ¤? ¤=+%/°~>]?/ "? )%° +_?{° \ ¤~/? *&/ ?(?)*"? 3%<@%]/_ "& [%<+°~%< +%))?<+?/& *&/ "& "?°°/? 3_ ?""? /?°/%]µ?/& {& *%{~°~%< ¤&<{ "? °&3"?&] _ ¤%<+ "& *%{_ ?° ?<{]~°? &{{%+~?/& "& *%{ _ &] +&/&+°ç/? ¤&<{ "? °&3"?&] __ @? {&~{ *&{ {~ @? {]~{ +"&~/? %] {~ @? {]~{ ¤&<{ "? 3%< +|?)~<_ )?/+~ ¤? µ%°/? &~¤?_
0
korgis Messages postés 420 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 6 mai 2019 17
20 avril 2015 à 10:55
Salut,
exemple de méthodes (à améliorer, c'est pour montrer le principe de fonctionnement), mais le système de cryptage que tu veux développer n'est pas du tout inviolable :

function Code(s: string): string;
const
  Alpha = ' abcdefghijklmnopqrstuvwxyzéèêëùàç';
  Crypt = ' &3+¤?[}|~@-")<%*>/{°]µ^(!£=çà$0\.';
var
  i: Integer;
  Position: Integer;
begin
  Result := '';
  for i := 1 to Length(s) do
  begin
    Position := Pos(AnsiLowerCase(s[i]), Alpha);
    if Position > 0 then
      Result := Result + Crypt[Position]
    else
      Result := Result + '_';
  end;
end;

function Decode(s: string): string;
const
  Alpha = ' abcdefghijklmnopqrstuvwxyzéèêëùàç';
  Crypt = ' &3+¤?[}|~@-")<%*>/{°]µ^(!£=çà$0\.';
var
  i: Integer;
  Position: Integer;
begin
  Result := '';
  for i := 1 to Length(s) do
  begin
    Position := Pos(AnsiLowerCase(s[i]), Crypt);
    if Position > 0 then
      Result := Result + Alpha[Position]
    else
      Result := Result + '_';
  end;
end;

procedure TForm1.Memo1Change(Sender: TObject);
begin
  Memo2.Text := Code(Memo1.Text);
  Memo3.Text := Decode(Memo2.Text);
end;


+_?{° °%]° {~)*"? _ (*)

(*) C'est tout simple !
0
dubois77 Messages postés 675 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 19 février 2019 14
21 avril 2015 à 08:47
Sympa Korgis, mais tu lui mâches trop le travail : il devait créer un programme aussi je ne sais pas si cela va bien lui profiter
J'espère qu'il nous passera son code terminé pour voir !
Cordialement
0
Merci à tous de votre aide, tout compte fait je vais procéder d'un autre manière je vais directement associer chaque lettre avec son caractère ascii à un caractère. par exemple, a =@ ,b = %, c = ! ainsi de suite je vais essayer comme ça et voir ce que ça donne. si j'y arrive je le posterai c'est pour un examen .
0
Rejoignez-nous