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
17686
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
17 août 2022
613
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